All the best hackers I know are gradually switching to Macs. – Paul Graham
A week has gone by since I received my 15” MacBook Pro from Apple. In this post I’ll share my first impressions about the whole experience especially for those who are considering the switch.
Ordering the Mac
I placed my order online through the Canadian Apple store, selecting the available 2 day shipping option. The ordering process was quick and smooth, without many attempts to sell me add-ons or other products (I dislike GoDaddy and Dell for this reason alone). I received the first confirmation email regarding my order, and eventually, after a few hours a second email arrived which reported a higher sale price. It turns out that Apple didn’t show me the taxes when I checked out. I was not impressed by this, as the checkout should have reported the exact amount that I was going to be billed for, including taxes.
During the ordering process I picked a standard configuration (15”, 2×2.2GHz, 2 GB), except for a larger hard drive. Despite this, my order shipped in 4 days, while the website officially predicted it would ship within 24 hours. Depending on how you view this, the extra charge for a fast delivery can be seen as pointless, if the bottleneck happens before the product is actually shipped.
Furthermore, providing more accurate expectations may cause one to consider a retail store purchase instead. But let’s not be too impatient, and accept this as an OK turnaround time. What surprised me the most was that a transaction which was handled entirely in Canada (Canadian store, address, credit card, etc…) was shipped all the way from Shangai.
I’m not naive, I was expecting the laptop to be manufactured in China, but not actually ship directly to my house from there. To make a long story short, the 24 hours for the shipment and 2 days for delivery, magically became 4 days + 4 days. It took 8 days to arrive here. If you are considering a purchase online, keep in mind that 8 days may not seem like a lot now, but when you are waiting for your (expensive) cool new toy, they can seem like an agonizingly long time.
According to the Apple website, it looks like they are running low on stock and the newest laptops are taking longer and longer to ship. I’ve also read a few threads about how many Macs arrived in suboptimal condition. Common issues are dead and stuck pixels (considered normal by Apple, unless there are 7 or more pixels affected within an area of 1 inch), light bleeding monitors, uneven backlight, a strong yellow tint in the lower third of the screen, warped cases, stuck or misaligned keys… you get the idea. I would advise you to buy in store if you can, I was lucky enough to obtain a model that appears to be in perfect shape, but you may want to double check your model at the point of purchase rather than risking it.
Apple is miles ahead of basically all of the PC manufactures in this department. Their packaging is sexy, efficient and trustworthy. My MacBook Pro arrived from China to Toronto without a single scratch, and taking it out of the box, felt like undressing a beautiful woman (giggity giggity). This may not matter to you, but I’m a sucker for good design, and small details that show a certain level of attention to quality. Even the protective foam had MacBook Pro written on it and the keyboard had a protective cloth to prevent it from scratching the screen during transportation.
A fast and beautiful product
Apple redeems a so-so ordering and shipping process, by creating a product that is remarkable.
I’ve reinstalled the OS, in order to remove unwanted software and extra languages. Boy, this machine is fast. Reinstalling Mac OS X took very little time, and now it boots up in a matter of seconds (even though I rarely restart it).
Mac OS X doesn’t fall short of my expectations. It is awesome out of the box, because it allows me to focus on what I want to do with it (and without it getting in the way). In a couple of hours I had everything needed to develop in Ruby, Python and Haskell, and to use it for general productivity. It’s very intuitive to learn and I feel that I’ve grasped the essentials pretty quickly (it’s a BSD in the end).
The Apple approach
Most Ruby developers that I know use Mac OS X, Ruby on Rails and TextMate. Heck, that’s the configuration used by the whole Rails core team. But ask yourself, what do Mac, Rails and TextMate have in common? They share a common approach, they all just work out of the box. They can be extended, further customized and configured, but they ship “production ready”, adhering to good design choices and conventions.
Try to guess what the first question many of my friends asked me about the new Mac was? “Have you purchased TextMate?”. When I answer that those were the best sixty bucks I’ve spent in a long time, many of them dropped “the Emacs bomb”. Oh yes, Emacs. They just don’t get it.
Virtually everything that can be accomplished on a Mac with TextMate, when programming in Rails, can also be accomplished with a different OS (e.g. Linux), a different editor (Emacs, Vim, JEdit, etc…) or web technology (e.g. ASP.NET, J2EE, etc…). The problem is “how” you accomplish the end result, and what sort of effort, knowledge and time are required to do so.
I don’t feel my time is best spent excessively configuring and fiddling with the tools that are supposed to make me more productive. “Emacs can be made as productive as TextMate”, but even so, who cares? If it takes me a day or two to configure it, in order to obtain similar functionalities to those of TextMate, Emacs ends up costing me a much higher amount of money than the mere 39 Euro I gave Allan Odgaard.
The same thing goes for Rails. You could tell me that there is no need for Rails when I can use the whole J2EE stack, and many people actually believe this. Sure, go ahead and good luck with writing lines upon lines of XML just to barely configure your application.
It’s a matter of your personal mind-frame. Correlation doesn’t imply causation but I don’t think it’s a coincidence if at RailsConf, most developers showcased Macs.
To quote Dave Thomas:
The tools are not necessarily better, but they don’t have to be sharpened or maintained as often, which lets you concentrate on just using them.
This is how software should be written, and ultimately what the “Apple approach” is all about.