I'm pretty sure you can do it either way. I've done it on two computers, and in both cases I had XP setup first. After that I'd defragment the drive (using PerfectDisk) and partition it into 4 sections : 1 NTFS for XP/Program Files, 1 ext3 for Ubuntu, a linux share partition (about 1gig) and then partition all the rest as FAT32. The
partition limits are a little higher than 4GB, and I prefer to use FAT32 as both Windows and Linux can read and write quite happily. It's not ideal, but it works.
I could never get Ubuntu to work on my laptop, and the only distro that worked was MEPIS. I'm pretty sure it was a display driver problem. The only other driver problems I had with Ubuntu (and Linux in general) is with graphics cards. It took a lot of time and a lot of digging, but it can be solved.