So, at the beginning of last October, I switched to a Macbook Pro as my primary dev laptop, having used a collosal desktop replacement for the last five years. I've been using it now for four months, so I thought I'd post a bit about how I have it set up for web dev and what I think of it.
First, my set up. I decided to go with dual boot using Bootcamp, and then run the bootcamp partition as a VM. My reasoning being that I'd like to experiment with using OSX for my productivity stuff (email, office stuff, general browsing), and Windows for the heavy duty work stuff. Having the option to boot directly into Bootcamp also meant that if I wanted to do anything that would run better natively (like light gaming for example), I have the option of booting straight into Windows if I want.
I split my drive 50/50, 500Gb for the Mac, 500Gb for Windows, and installed Windows 8.1 on the Bootcamp partition. Although setting up Bootcamp is meant to be simple, in my case I ran into loads of issues installing it from a USB pen, and in the end, I installed from a USB CD-ROM drive, which worked perfectly first time. Just works my arse, but in the grand scheme of things, not a massive issue!
Once that was up and running, I set up the VM software. It was a toss up between VMWare and Parallels, but in the end, I decided to go for Parallels, as according to current benchmarks, it was slightly faster. I set that up, and it was pretty straightforward. I split the resources of the MacBook 50/50, as that should be plenty of grunt for most of the web dev work that I do on the laptop.
Next, I set up all the dev tools I use on Windows on the Bootcamp partition (SQL Server, various versions of Visual Studio etc), apart from the abysmal UI on 8.1, this was pretty straightforward, same as with any straight Windows PC.
If you're running your Bootcamp partition as a VM, there is one thing to watch out for, Windows will think that the VM is a new install, as the hardware in the VM is different to the Bootcamp partition you installed it on. You have to register it twice, in a specific order, and you should be set (your VM software's website will have a page detailing the steps). It involved making a call to a number to get an activation code. If you're running a non MSDN version Office, you'll have a similar issue, except that as far as I can tell, you can only activate it on one of the instances. I have Office on the Mac, so I left Office on the Bootcamp licensed to the bare metal.
Importing emails onto the Mac was a ballache, I used LiveMail on my old PC, which doesn't export in a format that Mac Mail will read. In the end after evaluating various Mac email tools, I decided to use Outlook on the Mac, as most of my clients use Outlook anyway, and it works just fine for my relatively simple email needs. If you don't want to run Oulook, you'll probably have to fork out for a third party mail format conversion tool, which is a pain in the arse.
Now that I'm set up, I usually have one screen set to OSX with all my mail etc, and the others set to the Windows VM. It works pretty well so far, and I've not run into any show stopping issues. I use an external mouse in most client offices, and a keyboard at home.
The keyboard takes a bit of getting used to, but to be honest I got used to it fairly quickly. The only times It causes me problems mainly now is on older versions of Windows Server over RDP, which don't map the keys correctly, so it treats your keyboard as a PC keyboard, so you have to remember where all the keys are on a Windows keyboard.
I did think I'd miss the extra screen estate dropping from a 17" screen to a 15", but so far I've been pleasantly surprised, and I've not missed it as much as I thought I might. I suspect the hihj density screen helps in this regard.
Here are some of my thoughts on things I like about the set up so far:
- The hardware is excellent, light, nicely laid out, the power brick is teeny tiny, and it all seems to work well
- Using VM software is handy as if needed I can set up test VMs to try and replicate bugs etc and try out new versions of Windows quickly
- Having both OSs makes testing browser bugs that bit easier, as if someone says somethings broken on a Mac, I no longer need BrowserStack or whatever, I can just switch to my OSX desktop and test it
- The high resolution screen is very nice, OSX handles it way better than Windows does though. Random parts of Windows will just upscale badly (IIS is a prime example), whereas other parts of the OS scale just fine, Microsoft REALLY needs to sort this out, high density screens aren't that rare any more, and it's a bit embarrasising that some stuff works and some doesn't in the OS
- The battery life is VERY good, although to be fair, I'm coming from something where the battery could charitably be described as a decent UPS, rather than something you could use for extended work
- Boot up is FAST
- Sleep and wake up is equally impressive
- Syncing across other Apple devices is realy well handled
- The track pad implementation is REALLY good, I've yet to encounter a Windows laptop that comes close
Now that I've covered some of the stuff I like, here are a few gripes:
- Lack of ports, if you like having a fuckton of USB stuff plugged into your laptop, you're going to need to buy a hub, or daisy chain stuff together (actually not that big an issue for me most of the time)
- No Kensington lock, probably not a big issue for most folks, but some of my clients require that machines are locked to the desk during work hours (you can get a case with a lock slot, but it's not as good as having it built into the laptop)
- Not including a DVI adaptor in the box. Seriously, on a 2K+ laptop, you don't include the cable for the most common screen adaptor? That's just cheap IMHO (you do get the Ethernet adaptor though)
- Not being able to snap windows in OSX, you can buy extensions that let you do it, but this is something you've been able to do in Windows for a while, and I miss it on OSX, I'm fairly shocked this still isn't something you can do natively in OSX
- The lack of upgradeablility, I maxed the spec to maximise the lifetime of the laptop, but amost every laptop I've owned has had extra RAM/HDD upgrades, and the fact that I can't on this one rankles somewhat
- Finder is bobbins compared to Windows Explorer, it's OK, but it feels like a toy compared to the Windows equivalent
With all this in mind, would I recommend this set up? If you've got the money to burn, and you want to try new stuff, then I'd say yes. For someone like me who does a bit of everything web dev wise, it's a pretty flexible setup. If you're just going to do Windows dev on it, it might not be as useful. Would I go back to a pure Windows setup? Possibly, it would depend what was out there. My requirements in five years might be completely different to what they are now (indeed the changes in my requirements in the five years since my last laptop prompted my experiment with MacTown). I'm not a system elitist, I'll choose whatever I think will best suit my needs. There are bits of the Mac that I really like, and bits that I'm not so keen on. Running both OS's on one laptop kind of mitigates that though, as I get the best (and worst) of both worlds.
If anyone has any questions about my setup, feel free to ask them in the comments!