When buying a more expensive tool saves you money
A few days ago, I saw this tweet from Giles:

In a tongue-in-cheek manner, I responded, "Ubuntu is the poor man's OSX." On my mind at the time was the fundamental complaint lobbied by Apple detractors: Apple hardware is expensive than other brands, and Apple all but forces you to run OSX on their hardware; hence it is more expensive to use.
What I didn't expect was this rebuttal blog post from Giles, which makes a reference to Dr. Thomas Stanley's book, The Millionaire Next Door. One of the core rules of the wealthy, as explained in this book, is the rule of always living below your means. I agree with that sentiment. Although I have not read Dr. Stanley's books, I have read several titles on building wealth by Robert Kiyosaki, and he also stresses this principle when coaching people on how to build wealth.
However, a key factor is missing from Giles' argument: productivity and the value of time. While money is a finite resource, it is one that, given one's acumen and effort, can be be built and accumulated indefinitely. Time is not. Rich or poor, we all have 24 hours each day.
When I first moved to New York City after graduating from college, I was earning a relatively paltry salary at my entry level job as a programmer analyst. I made a lot of frugal choices in order to save money: I rented a studio apartment in Brooklyn instead of Manhattan, furnished it with Ikea, sold my car, shopped for clothes in bargain basement stores, and cooked my own meals whenever practical. Another choice I made was to do my own laundry and shirts, which I thought was a prudent cost saving measure.
Doing my own laundry proved to be a poor choice. I had to schlep my clothes to the laundrymat, wait for the machines to be availble, watch them so no one would steal my clothes, carry them back, fold them, and, gag, iron my dress shirts. This took about 3.5 hours of my time each week, at a cost savings of about $15. I was, in effect, earning less than minimum wage doing this chore myself. By sending out my shirts and laundry instead, I gained 3.5 hours for work, rest, play -- whatever I wanted to do. My realization was that although money and time may be finite, it's possible to exchange one for the other. By making wise trades I could actually have more of both available.
So what does this have to do with Ubuntu and OSX? In a nutshell: OSX is the more productive operating system than Ubuntu on the desktop or laptop. Installation is simple and few choices are required. Upgrades are automatic and you're prompted when. Many OSX applications require little more than downloading the disk image, opening it, and dragging an icon over to your Applications folder (or running an automated installer program). Need to set up automated backups? Just plug in an external disk, or connect to a server, and turn on Time Machine. Even better: with just a few clicks of the mouse, you can revert a file, folder, or your entire system back to its state at a specific point in time. Purchased a new camera, printer, or wireless hub? No problem, OSX will automatically find and install the drivers for you. Try doing these tasks in Ubuntu, and compare the time spent vs. OSX.
When I was working on a Ruby / Rails project at a previous company, and given no choice but to use a Windows based PC, my team chose to install VMware and Ubuntu in a dual boot environment. Ubuntu was, after all, better organized and less difficult to install than most other Linux distributions. However, each time I had installed or upgraded Ubuntu, I had to spend about 4-5 hours tweaking my installation. While Ubuntu has a fairly decent package manager, the myriad library of available packages if mind boggling. You have to choose among many desktop environments, text editors, compilers, office productivity tools, etc. Often you have to repeat the process many times because of conflicts between competing packages, missing depndencies, and out of date server entries.
With OSX, installing most applications requires little more effort than downloading a disk image, opening it, and either running an automated installation script or dragging an icon to the Applications folder. You don't need to worry about security overrides; most applications will prompt you when you need to grant the installer systems access. And you always have the option of configuring, compiling, and installing the source code from the shell if you need.
That said, OSX isn't all wine and roses. I've had my tales of frustration: reinstalling Ruby and Rails on top of a broken configuration on Tiger, a rogue Java installation that corrupted Leopard altogether, requiring a clean reinstall, and sliding down the bleeding edge when I upgraded to Snow Leopard and ran though a gauntlet of obscure tasks to get a local MySQL instance working properly in Ruby. But the time spent on these issues was small compared to all the tweaking and retweeking I spent with my Ubuntu installations.
With all that said, it's time to challenge Giles' claim that, "Ubuntu is the rich man's OSX." He claims Ubuntu is cheaper because it's free and you can run it on less expensive hardware. But is it really less expensive in the long run when you consider the reduced productivity involved? When comparing my experiences between both OS'es, I spent an estimated 10-15 hours of extra time managing my workstation with each installation / upgrade of Ubuntu over OSX.
If you're a software engineering consultant making, say, $75 per hour, that amounts to as much as $1125, and that's on par with the added cost of buying a Mac Pro over a PC laptop. But the cost savings is even bigger if you're an employee and your company chooses a Mac over a cheap laptop and Ubuntu. When you consider the total value of a software engineer to an organization -- salary, payroll taxes, benefits, overhead, and opportunity cost -- that can amount to as much as $500 - 1000 per hour. Considering those factors, choosing Ubuntu over OSX for a development workstation becomes far more expensive in the long run.
Note that my most recent experiences with Ubuntu date back to Gutsy Gibbon around 2008. Certainly Ubuntu has made advances since then, and as one recent benchmark suggests, Ubuntu's actual performance is on par with OSX, with neither showing a clear advantage for all operations. The latest comparisons I found on the web tend to be biased, and therefore I wasn't able to locate a task speed test of any sort. That's a bummer, because I would like to include some emperical data here to back up my argument. If anyone knows of such an analysis, let me know.
Finally, I'm not here to claim that OSX is superior to Ubuntu. Both have advantages in certain areas. For production servers, the obvious choice is Ubuntu (or most flavors of Linux) for cost, scalability, and ease of setting up and replicating multiple instances on the cloud or in your server farm. Also, If you prefer to have more control over your graphical desktop environment (or eschew GUIs altogether), have specific hardware support needs, or want to develop in exotic flavors of C or C++, then Ubuntu is probably the better choice. But if, like myself, you want an easy to install and configure OS with seamless hardware integration and support, no-fuss backups, synchroniztion for you iPhone and iPad, and want to spend less time tinkering and more time getting shit done, OSX may actually be the more effective and economical choice. Not to mention avoiding sticking out like a sore thumb when I bring the laptop to Ruby and Rails conferences.
Trackbacks
Use the following link to trackback from your own site:
http://stardragon.com/trackbacks?article_id=23
Comments
- I used Ubuntu for years as my development environment, then switched to OSX. I prefer OSX. I want to do stuff and work, not tinker with my OS. Not to mention play the occasional game without rebooting into Windows. OSX is all the power of unix, with all the shiny pretty usability of Apple.