Code, lies, and blargles.

Some words by Sam Salisbury

Migrating to MacBook—Review

This MacBook Pro with Retina Display review is part 1 of a series on migrating from Windows to Mac.

Six months ago, I was lucky enough to take over development of an iOS App. This meant I needed a Mac. I was a die-hard .NET developer, using Dell/Windows machines almost exclusively for the past 20 years. In short, I had pretty much no idea what to expect. I wasn’t convinced this would be a good idea… How can a developer, a Microsoft developer, live with a strange keyboard, an unfamiliar OS, shiny skeuomorphic apps, and, did I mention, a strange keyboard?! It wasn’t half as bad as I expected…

Skip to: Hardware | Keyboard | Trackpad | Display | Ports | Performance | Usability | Conclusion

The Hardware

15–inch MacBook Pro with Retina Display, 16GB RAM, 512GB SSD, 2.7GHz Core i7

The first thing I noticed was that the hardware was incredibly precisely manufactured. I know this is gross repetition, but it’s true, and it’s striking — even my ridiculously expensive Dell ‘Precision’ workstation was shipped with a misaligned, slightly twisted lid. The lid on this beast shut with a pleasing thud, perfectly aligned.

It’s pretty amazing how little space this powerful beast takes up.

It’s also thin, really really thin. This is basically a desktop replacement, it’s probably the most powerful computer I’d ever used, and also, somehow, the thinnest and lightest. Sure, it’s no MacBook Air, but for the power in there, it’s pretty amazing how little space this powerful beast takes up.

The Trackpad

The large, clickable trackpad, smooth and precise, didn’t rattle around with gentle usage on the MacBook, like it did in most of the brand new Dell laptops in use around the office. In fact, it didn’t budge a millimetre even with six months of prolonged heavy-handed abuse. Its texture was very smooth, meaning that with any dampness it became quite grippy, impinging on the usual smooth glide accross its surface. However, its size, responsiveness, and precision meant it was an absolute pleasure to use.

The Display

The high resolution display—‘Retina’ display in marketing lingo— was pretty stunning, and text appeared silky-smooth, and totally rounded. Not a pixel in sight. This, unfortunately, completely made a mockery of anything lower-resolution. Other monitors which had seemed perfectly fine up to this point began to look like cheap toys.

The Ports

On a MacBook Pro with Retina Display, there are the following ports:

  • MagSafe 2 power port
  • 2x USB3 (one on either side)
  • 2x Thunderbolt
  • HDMI
  • Headphones
  • SDXC slot

The layout of the USB, Thunderbolt, HDMI, headphones and other ports seems, simply, correct. Lined up as near to the base of the screen as possible, rather than arbitrarily half way down the keyboard, cables tend to stay out of the way.

I use one of the Thunderbolt ports to power a monitor (through a Thunderbolt to HDMI adapter), and hook up another monitor to the HDMI slot. I typically plug in a USB to ethernet adapter if I’m at my desk, and switch off wireless. I can’t wait to get my hands on one of these, so I’ll only need to use a single Thunderbolt port for two monitors and ethernet, reducing clutter a lot.

The Keyboard

The flat, short-action keyboard keys, were one of the things that had always put me off Apple laptops. However, in reality they were reasonably pleasing to use, and nowhere near as flimsy as they looked. Tick. Some aspects of the keyboard design, though, are definitely questionable—for a Windows guy at least.

Some aspects of the keyboard design are definitely questionable.

The power button is ‘just another’ key, on the top right of the keyboard. Whilst this keeps things very uniform, accidentally hitting the off button whilst typing is a little unnerving… Even though you still have to confirm before the machine actually powers down.

The key known as ‘Option’ in all the docs is mysteriously labelled ‘Alt’ on the physical keyboard. I believe this is only on the UK keyboards, but it’s pretty darn confusing. The option symbol (⌥) is there, fortunately, but one gets a sneaking suspicion a certain level of obfuscation has been built in on purpose by Apple, perhaps to make it easy to identify the uninitiated.

There is no hash (#) symbol. Despite its huge popularity in programming, shell scripting, and even writing markdown. I found out later that you can type this symbol using ⌥3 (Option+3). Quite baffling.

There is no delete key. This seemed like a terrible oversight at first, and six months later still seems a very questionable decision. However one quickly becomes proficient at using the arrow keys with the backspace to achieve the same effect. You can also use ⇧⌫ (Shift+Backspace) to exactly replicate the delete key. In Mac parlance, this is known as a ‘forward delete’.

The Battery

Oh, the battery life is pretty huge, too. Six hours doing heavy dev work on a Windows VM, no problem. This is in stark contrast to my poor old Dell Precision, with its 1.5 hour battery-blastathon.

The Performance

I’m only going to look at performance from an experiential point of view. There are benchmarks aplenty elsewhere, there’s Apple’s marketing spin on performance detailing choice components, and other numerate articles on this topic. But for me, it’s the experience that counts. And there’s not much to say. It’s fast. Really fast.

There’s not much to say. It’s fast. Really fast.

Since I’m developing Microsoft.NET apps in Visual Studio, side-by-side with iOS Apps in XCode, I need to be able to switch seamlessly from one OS to the other. To that end, I run a Windows 8 virtual machine almost all the time that the Mac is switched on. Using Parallels Desktop, I devote half the resources (8GB RAM and 4 virtual CPUs, half the video memory), to the VM. There is no noticable performance penalty at all on the Mac, and the Windows VM runs very quickly. It’s just a shade short of usual performance on dedicated hardware, but, and I’m really fussy about performance, it is fast enough. My productivity is actually higher in this VM than on dedicated hardware—despite the minor performance loss—due to the sheer usability of the rest of the machine.

The Usability

The MacBook Pro is the most usable computer I have ever interacted with. Its sheer usability has resulted in a number of changes to lifelong habits that I had never previously considered possible:

Its sheer usability has resulted in a number of changes to lifelong habits.

I have stopped using an external mouse and keyboard entirely. The built-in trackpad is so good that I no longer have any need for a mouse at all. The keyboard is good enough. By using only the built-in keyboard—whether on the train or at my desk—my mucle memory has only one keyboard to remember, and thus touch-typing is much easier.

I no longer require external monitors for reasonable productivity. This is, in fact, more related to the operating system. The brilliant implementation of multiple desktops in OS X Mountain Lion, and the ease of switching between them, means I no longer feel claustrophobic working on a single 15–inch display.

The Conclusion

The 15–inch MacBook Pro with Retina Display is very neat. It’s also very thin for a desktop replacement. Easily light enough to work with on one’s lap all day, and to carry to work and back daily without really noticing it. The battery life is huge, too, so you can work for a long time unplugged.

The MacBook Pro with Retina Display is the most productive development workstation I have ever used.

As a Microsoft.NET developer, the experience of working inside a Windows VM on a MacBook Pro is that of hugely increased efficiency, and even sanity, compared with working on any other hardware. OS X is a much more accomplished laptop OS than Windows, as I’ll go into tomorrow.

My recommendation: get one, or, better, get your work to get you one! The MacBook Pro with Retina Display is the most productive development workstation I have ever used.

Disclaimer: I have written all this from memory, as I’m currently in between Macs; thus the frequent use of past tense. Comments/trolls welcome ;)