Mac vs. PC :: Will my next computer be a Mac?

It's been about two and a half years since I made the switch from being a dedicated Windows user to buying my first Mac. I have really enjoyed my MacBook and wanted to take a few moments to discuss some of the differences and similarities I've found with the Mac ownership experience, compared to my earlier (and ongoing) experiences with the Windows platform.

Marketing and Markets Both Windows and Mac enthusiasts love to evangelize their platform of choice.  It's human nature, we all want people to know how smart we are for choosing the best of what's available.

As is often the case with most of these "[holy wars]( windows holy war)" the smaller market tends to be more vocal, and more likely to point out all the flaws in its larger competitor.  This is certainly the case with the Apple community.  From the endless stream of "Get a Mac" ads and their YouTube parody counterparts to news releases and security firms touting the reduced target area of not running Windows, those who have and love Macs are always there to tell you that the solution to every problem with MS Windows is to simply get a mac.

And it's not like Microsoft hasn't provided a great deal of ammo for the pundits to use in their PR-muskets.  From the troubled launch of Windows Vista to the sad state of what is the Zune to the rather pathetic I'm a PC ad campaign Apple has certainly made up ground on the Redmond-based software giant.  Since 2001, Apple has nearly tripled their market share.  That's a very significant jump for any company.  But let's be realistic about what that really means.  The Mac maker has raised its market share from about 3.5% to somewhere around the 10% mark.  Even with Apple's huge growth over the past 8 years, nine out of every 10 computers sold is running a version of Microsoft Windows.

As a result, Microsoft for their part shrugs off the attacks of the all things "i" maker, often ignoring the marketing onslaught and focusing on its target market: the Enterprise.  Does anyone remember when Apple launched the 3G iPhone, App Store and support for Enterprise features on the iPhone?  Apple certainly hasn't made great strides into the corporate handheld market, which is something the Microsoft does better, but that Research In Motion's BlackBerry does extremely well -- but that's a topic for another post.  Microsoft and Apple both make products which can be used in the business markets.  But time after time, companies are continuing to choose the Microsoft platform over that of Apple, a huge percentage of the 90% that Microsoft controls in the operating systems space is thanks to the purchases of large companies.  If one were to examine only consumer purchases of computers, Apple would fare much better, probably somewhere around the 20% mark in parts of the world.

The consumer market is without question Apple's strongest.  By developing a series of technologies and services that all work well together, it's quite possible to change over your entire home to run on Apple technology.  From beautifully designed iMacs that can sit proudly in your living room, to powerful Mac Pros that can serve content for the entire household, to AppleTV which can sit atop your HD digital cable box and serve as an all-in-one media centre, to the AirPort Extreme and Time Capsule backup consoles to manage your network and keep everything interconnected.  appletaxAdd to that Apple's iTunes and Mobile Me services and you've got an entire suite of hardware and software that talks to each other almost flawlessly, and really does make your day-to-day computing experience much smoother.  There's only one catch, the Apple Tax.

The Apple Tax is what those outside the Apple community call the difference between the price of a Mac, and the price of the most closely aligned (in hardware specs at least) PC.  Often times the difference between a Mac and a PC comes in between 20% and 40%, with the Macs invariably being the more expensive machines.  PC enthusiasts will shame people for wasting their money on "pretty hardware" while the Mac community talks about security, ease of use and bundled software.  Over the past three years or so I've come to realize that the reason this debate won't die is that they're all right.

My Mac Experience When I first picked up my Macbook one of the things that excited me about the experience was the new-ness of it.  This was a computing platform that I wasn't particularly familiar with, and since I considered myself to be something of a technology afficionado I figured I should jump in and see what all the fuss was really about.

Within hours I had posted my first blog post and was happily exploring the features of OS X Tiger.  There were a few quirks of the Mac OS that drove (drive) me nuts but overall it was a pretty good experience.  Much more polished than other Windows alternatives (RedHat, Ubuntu, Fedora) that I'd looked at in the past.  One of the strongest points in the Mac's favour early on was the Unix-style BSD-based terminal.  This is where, for me at least, some of the magic of OS X came into play.

I've always been a command-line geek.  There's no question in my mind that computers function at their best when they don't need to worry about drawing a "pretty picture" for us lazy humans.  Command-line applications (and for that matter services/daemons) run better, and more often than not, more reliably than applications with elegant user-interfaces.  Being able to explore the world of the UNIX/Linux command line on my shiny new Mac was indeed a revelation for me.  It even led to me porting the wget application to run on Mac OS X.  This wasn't something that I'd ever consider trying to do for Windows, though it probably isn't much more difficult.

As time moved forward I really enjoyed my MacBook. Adding new applications to the computer was as simple as downloading them from the Internet and in most cases dragging the application to the Applications folder.  In other cases I would need to double-click an .mpkg file to run the installer.

But I noticed after a while that all the software I'd been downloading for my Mac Lab Rat segments for the old version of the podcast had really cluttered up my system.  Thankfully OS X allows you to clean up all of that mess from the installations with just the drag of a mouse.  Yep, that's right. To un-install an application from OS X, you just need to drag it to the trash can.  That's much simpler than un-installing programs on Windows, right?  Well, that's not really the whole truth.

First off, you need to understand how a Mac stores applications.  Each application is stored in a package ending with a .app extension.  This is, in reality, just a folder that contains the majority of the files that the application uses.  Dragging "the application" to the trash is really just a way of deleting the application folder.  But with many applications this doesn't delete the entire application footprint.

There are two folders where applications store the majority of their extra files and these are the /Library and the /Users/<username>/Library folders.  Apple's own recording application GarageBand stores over 1.5GB of files in these library folders, removing the application using the Drag-and-Drop method will leave those files on your computer.

Malware & Baddies There's no question that anyone who buys a Mac today, or has bought one in the past 10 years has experienced but a fraction of a percentage of the malware, spyware, viruses and badness that Windows owners have to deal with on a regular basis.  Apple touts this fact when they promote their Macs as one would expect, and as they should. The lack of these problems on a Mac is a great reason to use the system.  Mac fanboys would have you believe that the Mac Operating System is fundamentally designed to be more secure. They talk about the fact that because you're less likely to be infected by problems on a Mac, the Mac OS is orders of magnitude more secure than Windows.  But notice nowhere does it say that there are fewer vulnerabilities in OS X than in Windows.

The reality is that with Windows' huge market share (remember the 90% number we talked about earlier?) they are the 10,000lb gorilla.  When your next biggest competitor makes up less than 10% of the market, it's clear who will be the target. (For those in the business of building gorilla killin' helicopters (malware), the real target is King Kong not Nim Chimpsky.)

If you're writing malware of any kind, you're typically doing it in one of two ways:

  1. Target companies
  2. Target the highest number of people possible The majority of malware authors choose to go with option #2: cast a wide net and see how many fish you can catch.  If your net is set to catch Windows machines, the sheer math of it will get you more infected machines than if you were to target the much smaller Mac market.  That said, with success comes difficulty.  Mac users are starting to see pockets of activity targeting OS X.  Consider the Pwn to Own competitions that security companies have run for the past few years. Invariably, OS X has been compromised at each of them, and in most cases extremely quickly. Modern operating systems are all susceptible to exploits and security holes. Even linux systems are vulnerable to attacks, they simply have the benefit of a large number of people to quickly patch holes and a user community generally less susceptible to getting themselves infected.  OS X is not an invulnerable operating system.

Software - Included and Excluded It's often touted that the software included on Mac Systems helps to justify the increased price tag of purchasing these machines. It does help, to be sure. The quality of the included software is quite high, and allows you to manage photos, music & email, make videos, burn movies, and record audio.  What Apple doesn't want you to know is that there are lots of applications out there for Windows too, some of which may even be bundled with your system when you buy it.  Consistency is Apple's strongest point. They can use phrases like "iLife comes with every new Mac".

I've used every application that comes with iLife at least once.  The most frequently used applications being iPhoto and GarageBand; unfortunately I've not been overly satisfied with either and the only reason I stuck with them is that they were for all intents and purposes free applications.  iPhoto in particular lacked a number of features, the most obvious of which is the ability to organize images into folder hierarchies.  This has been fixed in the latest version, but I don't feel like paying $69 for something that free apps like Picasa can do for free.

GarageBand has worked out quite well for the most part, but does leave a few things to be desired.  The interface is excellent, making creating podcasts and other recorded audio quick and fairly intuitive.  It becomes obvious fairly quickly though that this product too is targeted at a consumer audience as there are a number of audio manipulation features missing including fine grain control over cutting and pasting audio, and the application crashes with my podcast files once it gets over an hour in length.

While the iLife suite is touted as being partial justification of the increased cost of the Macs, in many cases I've abandoned these applications in favour of free applications that I was able to download from the Internet.  I'm in the midst of replacing iPhoto with Picasa and GarageBand with Audacity (which admittedly is missing a bunch of features too, so I'll probably have to use both).

Coming from a Windows world, I was accustomed to being able to find software online that did what I needed my computer to do, and the vast majority of the time not having to pay for it -- and let me be clear, I'm talking SourceForge, not PirateBay.  What I found in coming to the Mac world is that commercial ISVs (independent software vendors) were far more common for home-use applications on the Mac than for Windows.  Translation: If you want it, be prepared to pay for it.  Third-party developers have done a great job of writing software that has a Mac look & feel.  Apple and Microsoft both publish guidelines on best practices for developing software for their respective platforms.  The ISVs that publish software for the Mac do a great job of creating a quality product the only catch of course being that you need to buy the apps.  There is open-source software available on the Mac, but as with the malware developers. the open-source community prefers to stick to platforms where they can get the most eyeballs on their product.

Getting Things Done This is far and away the most subjective category in my review.  There is no question that I've been extremely productive with my MacBook over the past three years.  I've written hundreds of blog posts, contributed to my online forums, remotely managed software on my websites, handled email, instant messaging, twitter, virtualization and managed my online life.  The thing is, most of the time I'm not using a Mac specific application to do those tasks.  All of my Internet activity is done using FireFox rather than Apple's own Safari browser.  The main reason for that is that I find Safari to be a bit clumsy to use, and above all else, I miss the ability to download tons of free plugins and extensions for the browser that make my online life better.

One task where the Mac has a leg up on Windows, conceptually at least, is the fact that it's built-in command-line interface is based on BSD.  This means that all of the default tools for handling command-line operations in a Unix environment are already present, and the most important of those for me is SSH.  Native command-line support of SSH makes administering my web servers a more seamless task, and despite the fact that it's command-line in nature, that may be the most Mac-like feature of my Macbook.  I can get this done on windows without much effort as well, but with the Mac, this truly was built-in from the get-go.

Re-Staging Systems I'm hard on my computers.  I always have been.  Every system I've ever owned prior to my MacBook has been re-staged or re-imaged about once per year.  Sometimes this was for OS upgrades, sometimes because it had become slow and unusable, and sometimes because I wanted to try a major configuration change to make the computer more useful to me.  Something that really appealed to me about the Mac from those I'd spoken to prior to purchasing it was the idea that all of this would be gone once I got a mac.  Never would I need to do the dreaded "wipe and reload" operation that I'd become used to in Windows.  The reality is, I've re-staged my Macbook about the same number of times (if not more) than I had originally done on Windows.

  1. Bought a new Mac
  2. Over the course of the first 6-8 months, downloaded every piece of Mac software I could find. Un-installing them left me with a clutter of junk in the "Library folder" for the dozens and dozens of apps I had removed. To clear this up permanently, I re-staged the computer.
  3. About 6 months later, I wanted to try out the pre-release version of Boot-Camp that came with OS X 10.4.  Unfortunately after the previous re-installation I had chosen a "case-sensitive" file system -- this doesn't work well with Boot Camp.  I re-staged the computer.
  4. When OS X 10.5 came out, I felt somewhat duty-bound to pick up the new release on it's first day of RTM.  To put this on, I followed my policy with all OS updates (and the advice I had found online) which is to always start clean. I re-staged the computer.
  5. I decided a few months later that I wanted to try dual-booting my computer with Windows and OS X 10.5, unfortunately I had filled up my 80 GB hard drive so much that the OS X couldn't create a decent boot partition.  I re-staged the computer.
  6. Several months later I bought a new 320 GB hard drive and promptly proceeded to load it into my Mac.  Since the Boot-camp thing wasn't really working out anyway I decided this would be a great time to get a fresh start.  I re-staged the computer. Over the 32 months since I've owned the Macbook, I've re-staged the machine five times.  That's about once every 6 months give-or-take.  That's a bit more often than my Windows machines annual re-load, but I figure two of them were due to my unfamiliarity with the Mac OS.  So three times in three years, I call that a draw.

Conclusion - Will my next computer be a Mac? After looking at my Mac experience objectively for a couple of months as I've written this article on and off, I've come to two undeniable truths about how the Mac fits in to my life.

  1. The Mac is an outstanding computer, that does nearly everything that I've ever needed it to.
  2. For me, it isn't worth the 30-40% premium over a comparable Windows-based notebook. I really do love my Macbook, and I'm going to find a way to keep it running and in active service until it simply becomes too expensive to maintain (read: need to replace the battery, or a system component out of warranty).  But I also know that my next machine, which will be a replacement for the desktops in my basement will most likely be an off-the-shelf PC.  The vast majority of what I do on my computer is done on the Internet.  The applications I use on my Mac every single day are Firefox, Thunderbird, MSN, TweetDeck, TextPad and the CLI SSH client.  All of those applications are available on every single computer that I've ever used.  So when I buy the next system, the only decision for me as far as operating systems go, will be whether I buy Windows, or install the latest LTS edition of Ubuntu.

AnkhSVN and Visual Studio 2008

ankhsvnSource control is one of those things that developers get really polarized about.  Most agree that having source control on projects is a necessity, but that's typically were the similarities end.  Some folks are of the mind that every line of code, however insignificant, should be under source control.  This provides records of what was written, and a reference for things that were done in the past.  Others believe that source control should be reserved for "real" projects, things that are deliverables for customers, or products to be released to real-world environments.  I really don't want to get into this debate tonight, so I'm going to stick to the technology.

I was wanting to get some source control in place for a few of my personal projects.  I chose to go with Subversion for my source control server for a few reasons, not the least of which was that my hosting company supports auto-configuration of SVN repositories, so I was able to get that set up in just a couple of minutes.  That left me some time to contemplate how I would access the repository from the client.

newproject_svnI'm running Visual Studio 2008 on my development machine and this gives me the ability to use plugins for the IDE, a feature that is sadly missing from the express editions.  There were a couple of good options available for SVN plugins, VisualSVN which is the 800lb gorilla in this space, and the open-source option CollabNet's AnkhSVN.  Given the fact that this was for personal exploration of the toolset, the open source (free) option was the obvious choice.

The setup for AnkhSVN was quick and painless, and when the IDE opened up it put options for source control right in the menus where they were nice and easy to find.  I created a project, and selected the "add to Subversion" checkbox, entered the necessary credentials and created the project in my SVN repository.

anhksvnWhen in Visual Studio, the AnkhSVN controls are located on a tab at the bottom of the IDE, alongside other solution-wide functionality like the To-do list, output window etc.  This pane tracks all of the changes (adds, deletes and updates) that you've made to the solution files.  This is extra handy as a review when you're ready to make your commits back to the repository.  By quickly scanning the list of changes you're able to write solid commit comments to provide some decent documentation for you, or those who come after you.

I'm still relatively new to Subversion and AnkhSVN, but I'm looking forward to exploring them in more detail -- maybe I'll even do a podcast episode about it!