Choose Your Own Adventure: Computing Platforms!

The Great War

There’s a war on.  It’s been fought for decades, and there’s little hope for an end to the war any time in the foreseeable future.  Just as with any other war, it’s tallied up a cost beyond the average human mind’s ability to actually visualize.  Its weapons aren’t as easily recognized as being lethal, but there have been many casualties over the long years.  On the surface, there are only two contenders, but the reality, as always, is much more nuanced.  You’ve heard of this war, even if you know nothing about it.  It is the computing platforms war.

The exact nature of the conflict is intentionally obscured by all parties, because spin is the only way they can win or lose their battles.  Each competitor has arguments for why their platform is better than anyone else’s, and these arguments aren’t usually false, but they are frequently misleading.  The truth of the matter is that each platform is great at some things, and completely incapable of others, while being decent at everything else.  Which platform is actually “the best” depends on what you intend to use it for, and how.

What follows is not an exhaustive guide, but can be used as a starting point in making your own decisions about which platforms to use in which scenarios.  I currently plan to expand it as time permits, but feel free to provide your own thoughts in the comments.  Of course, let’s keep this civil.  I haven’t had reason to remove any comments yet in other posts on this blog, but I reserve the right to do so if necessary.

Right, all that out of the way, here’s a quick overview of what this war currently looks like.

The major players:

  • Desktop/Server Arena
    • Windows (Microsoft)
    • Mac (Apple)
    • Linux – which is actually several less-major players:
      • Ubuntu (Canonical)
      • Debian (Debian Project)
      • RHEL / CentOS (Red Hat / CentOS Project)
      • Chrome OS (Google)
  • Mobile Arena
    • iOS (Apple)
    • Android (Google)
    • Windows Phone (Microsoft)
    • Blackberry (RIM)

There is a bit of overlap between the arenas, as Android is technically a specific Linux “flavor”, and many mobile Windows devices actually run full versions of Windows, rather than Windows Phone, but overall, these are the main camps, roughly in order of market share in each arena.  Ranking is subject to change, of course, and may already be different than the numbers I used when listing them here.

The problem we face, as computer/device users, is that there are so many choices, and each of them is poised against the others in a battle for survival.  There are many smaller players on the field, and many others who have fallen for one reason or another in the past.  But let’s see what we can figure out about the players listed above, and try to determine what the relative strengths and weaknesses are of each.

Desktop/Server Platforms

Windows

Microsoft’s focus has long been businesses, and their systems are designed and built around that.  They easily support a wide array of business tasks, and do what they can to make developing new software as easy as possible, though often at the cost of speed and simplicity of the architecture.  The complex ways in which one piece of code relies on sometimes hundreds of others makes the task of keeping each piece of software running properly a bit tricky, especially when one piece of software uses the same pieces of shared code as several other pieces of software, but all of them use different versions of that shared code.

Still, the business-friendly approach has made Windows PCs fairly ubiquitous in the business world, which improves the market share at home as well – because you’re more likely to use what you’re already familiar with.  That means the system has also developed great support for gaming, to give users further reason to have a computer at home in the first place (though the Internet did this far more effectively when it finally came along).

While the day-to-day functionality of the system isn’t terribly optimized for speed, the gaming functionality is – brutally so.  More games are released for the Windows PC platform than any other, even mobile ones. Granted, there are cross-platform games that support Windows as well as Mac and/or Linux, and there are a preponderance of web-based games, which have the browser as their platform, but Windows is still the gaming king when it comes to target platforms.  It even outperforms consoles, which I’m choosing not to cover here, mostly for space.  In short, if business and/or gaming are chief among your desired uses, Windows is probably a safe bet.

In the server realm, though, things start to look a little different.  Microsoft has improved greatly in the server market in recent years, as they’ve started adopting open technologies instead of simply creating their own from scratch.  They can integrate very tightly with Windows desktops, and even mobile Windows devices, giving them a bit of an edge in business environments where lots of systems are managed by a central team.  But if you’re looking to use them for much of anything else, Windows servers just can’t keep up with many of their competitors in the ability to do lots of things at once.  Also, Microsoft’s pricing has never been great for small budgets.  I’d recommend a couple of these for central management of other Windows systems in your company (and I only say a couple because you want some redundancy to prevent terrible things from happening if one of them goes down), but otherwise, there just isn’t enough bang for buck here on the server side.

Mac

Apple has been making computers since before anyone else figured out what the future of computing would actually look like. While they rarely venture into untested waters any longer (the iPod being their latest example of such a venture), they still emphasize ease of use throughout their systems. They control the hardware as well as the OS, so they can ensure everything fits together neatly and tightly, meaning things are (almost always) more stable than they might be otherwise.

Their attention to detail over the years has made them an ideal environment for multimedia tasks, so this is where most of the polish has gone. And it doesn’t matter, much, which type of media you’re working in – audio, video, photography, and illustration are all tasks Macs excel at, and not just because Adobe develops their Creative Suite for Mac first. Rather the opposite, in fact – Adobe focuses on the Mac first because new features can more easily be built, and expected to operate reliably across myriad systems. So if you’re working with multimedia, your best bet is a Mac system.

In the server realm, the differences between Mac and Linux offerings start to blur into each other. Mac OS has been built on a UNIX core (specifically, a slightly modified version of NetBSD) since moving to version 10 (a.k.a. Mac OS X), meaning it has a large number of similarities to Linux, since the Linux core was basically a reimplementation of UNIX in the beginning. Things have evolved in different directions in some areas, but the fundamentals are still the same, meaning most software will run on either platform with little to no tweaking. Ultimately, this means Mac and Linux servers are essentially identical in ability and performance, so price will likely be your deciding factor, here.

Linux

For years, Linux was used only by trained technical personnel, mostly because the user interfaces were so difficult to learn and use. Part of the reason for this was the sheer number of interface options – several groups of people each working on their own interfaces, with only minimal collaboration between teams, despite (nearly) all of them being open source, and thus fair game for adopting code from each other. While this has the benefit of giving many more options for how to interact with your computer, so you can select whichever will work best for you and your own habits, it also slows development somewhat.

This has been changing more and more rapidly in the last decade or so, and current interfaces are quite modern. Linux systems are quite capable, and perform tasks at nearly the same level of performance as the other platforms, though they don’t quite match up. But they have spent decades being used by programmers and other tech experts for various purposes, and their strengths undoubtedly lie there. They also have the lowest price tag: the OS itself is free.

As a server system, Linux generally blows past the competition. The BSD network stack is a bit better, so BSD-based routing and switching equipment tends to fare better, but for most other server tasks, Linux leads the way, especially in virtualization. And they’re really your only option if you want to use 100% open software.

Mobile Platforms

iOS

Apple’s mobile device OS is essentially a minimalist version of OS X, with some extras for mobile-only functionality that the desktop and server versions don’t need/have. Not as optimized for multimedia work as the full system (mostly due to more limited space and power on smaller devices), it still handles such tasks well. The focus here is more on ease of use, and stability, than much else. Apps for iOS devices have a more rigorous approval process to be accepted to the App Store than the other platforms have, because Apple has more exacting standards for what they’ll endorse installing on their devices.

This stability comes at the cost of adoption lag. It takes Apple devices longer to incorporate new technologies than their competition. So if you’re looking for that nifty heart-rate monitor, or (until recently) near-field communication to, say, pay at the register by tapping your phone on the payment terminal, you have to wait longer to get it than you would elsewhere. Still, the extra wait is generally worth it – though it’s almost always a good idea, with any of the platform war players, to wait a bit after new releases to let the initial bugs get ironed out before buying.

Android

Easily the most flexible option here, Android devices allow phone makers to charge less for the software on their phones, lowering the overall price, and letting phone makers make up the difference with more, better, or just cooler hardware. Google doesn’t really have much to say about how the devices themselves are built, focusing instead on what they’re good at – the software. The Linux core means a lot of the hard work is already done for them.

Android apps are almost too easy to add to the Play Store (formerly the Android Marketplace), leading to tens or hundreds of apps to do the same thing, often in essentially the same way. This level of selection is similar to the spectrum of software options for Windows desktop systems – there are so many, finding the one that works exactly the way you want it to is a matter of simply trying a few out. It also has the same problems – finding apps of high enough quality, and which you trust not to be doing nefarious things behind your back, is pretty difficult in most cases.

Windows Phone

Microsoft has had a simplified version of Windows designed for portable devices for longer than anyone else listed here. They entered the market around the same time Palm was producing their first PDAs. So they have a great deal of experience in mobile systems technology. When the handful of manufacturers using Windows on their mobile devices decided to add cell phone tech to their PDAs (rebranding them as “smart phones” since more people wanted phones than wanted digital assistants), the Windows Phone OS was an easy tweak to the existing system. Relatively speaking, of course – adding any feature to an operating system is a complex and time consuming task.

Boasting the greatest integration with Windows desktops and servers, as well as (in many cases) being able to run a lot of the same software (I wouldn’t load up World of Warcraft or Photoshop on a mobile device), these are an easy choice in a number of setups. However, low market share has limited the number of people writing apps for this mobile contender, so the selection isn’t as good as it is elsewhere, especially on the devices which can’t run the same software as the desktop version. Though Microsoft has actually done something pretty brilliant about that, by adding support for running mobile apps to their desktop systems. This strategy may not be enough to shift market share their way, but it is a leg up.

Blackberry

Research In Motion entered the mobile device arena around the time Microsoft and Palm devices started becoming phones. Their goal was to provide smart phones for enterprises, letting the other two companies provide for the consumer market. For years, they were the enterprise option of choice, taking a very similar approach to the one used by Apple – they made the hardware as well as the software, and everything was designed to be stable and easy to use. The ease with which enterprises could manage their mobile devices from a central location, in much the same way they’d already been managing desktop systems for years, made them the obvious choice.

RIM’s focus assured their position for a long time, but as their competitors caught on to the things they were doing in the enterprise space, and started providing the same options for their own products, they started losing ground fast. Today, most Blackberries are used by companies that have been using RIM for a while, and either can’t afford to switch (either due to raw costs or personnel costs) or are still under contract. The things that once set them apart no longer do. Also, as an enterprise-focused option, their app selection is very limited, though the apps available tend to be just as solid as the system itself.

Quick Reference

So in short, there are a few deciding factors that will make one choice or another better than the others for any given purpose, but general use is served equally well by all platforms. If you are doing one of the activities listed below, your choice is pretty easy, but otherwise, any of these systems will serve you well.

Desktop:
Business/Gaming – Windows
Multimedia – Mac OS
Programming – Linux

Server:
Integration/Management – Windows
Anything Else – Linux/Mac OS

Mobile:
Solid/Stable/Easy – iOS
Flexibile/Cutting-edge – Android
Integrated – Windows Phone
Legacy – Blackberry

The secret that none of the contenders in the war will tell you is that there is a “right tool for the job”, and that you can have more than one tool in your toolbox. As soon as I can afford one, I’ll be adding a Mac to my own tools – Linux and Windows have been in my toolbox for years now. Don’t let yourself become a casualty in someone else’s war. Choose your own adventure, and the right platform for your needs.


1 thought on “Choose Your Own Adventure: Computing Platforms!”

Leave a Reply