I’ve been mulling over this column for a long long time, and it’s pretty difficult to write, but some recent developments have really thrust the topic forward. Let me give you the breakdown first: there’s a problem with Linux: it’s just not ready for prime time. As much as Ubuntu users will cry the opposite, and while admittedly they have the most robust and close to prime time version of Linux for the desktop available, it’s just not there yet – it’s not an OS that anyone would seriously install on a system for the average user. The fact is that virtually every distribution of Linux is still too bulky, too difficult to administer and manage, too quirky, and too poorly supported.
This isn’t news in and of itself; the Linux community has been struggling under its own weight for years now, with half of it complaining that if you can’t figure out how to manage and administer Linux distros on your own then you have no right using it (the elitists), and the other half begging and pleading with the rest of the community to build a version of Linux for the desktop that can actually get some traction with everyday people and some support from software developers other than ones who want to port Windows apps to it (the populists). This schism is at the heart of the problem, and it always has been.
But lately, there’s been a dramatic shift in the Linux landscape, and it hasn’t had to do with this schism – it’s been in the way that other companies have gotten behind customized distributions of Linux for selected platforms and really put their weight behind advancing them, each in their own specific way. The big news? They’re (almost) skipping entirely over desktop Linux in favor of mobile platforms.
Let’s dive into this a bit more behind the jump.
(image snagged from Casing Out Nines, specifically this post)
So the two big companies I’m thinking of here are clearly Apple and Google – both companies are embracing their own flavors of Linux in their own way, and taking them clearly in two different directions. Both companies have or are planning installations of their own custom flavor of desktop Linux that meet their needs. Apple’s iPhone OS is essentially a tweaked and heavily trimmed down version of Mac OS, which is in itself a heavily customized and mostly rewritten relative of BSD. Google on the other hand has Android for mobile phones, which draws heavily on Linux, and is working on Chrome OS, which many people are projecting to be a Google customized version of Linux – more than just a skinned distro, but not so much more that it’s not imminently portable and customizable.
Apple and Google are taking their respective versions of their mobile OSes in completely different directions, with Apple building a massive sandbox around their iPhone and iPhone OS and retaining complete control over the applications you can install, the applications that are made available to the public, and to a large extent how the user interfaces with and experiences their product. Google on the other hand is taking a more open and unhindered approach, allowing wide open development, availability, and access of applications and services for their mobile OS, and leaving a great deal of the user experience up to the user.
Does Power = Better?
There’s a side question here though: does a more powerful user experience equal a better user experience? For as much as the geek crowd (of which I’m shamelessly a member) is happily in favor of a more open environment and decries Apple for its closed sandbox, is that what the average user wants? Is the smartphone still enough of a geek tool that we have enough sway to demand openness?
Let’s look at the iPhone OS and Android 2.0 as opposite examples. Android 2.0, for the time being only on the Droid by Motorola (on Verizon Wireless), is what many reviewers have dubbed “a geeky experience,” meaning the phone is all but wide open, allowing incredible customization and configuration by the user. If you leave it alone, it’s pretty bare and kind of boring – the OS is very much a blank slate ripe with possibilities. The iPhone OS on the other hand comes in a pre-configured state that many users won’t really deviate from. The interface is what it will be for the life of the device, and the only thing most users will do is install a few apps here and there and perhaps change the wallpaper.
That’s not to say there isn’t room for both, and that the mobile OS arena may be trending down the same path that the desktop OS arena trended down for years, with Apple in one corner offering the “easy, simple, it just works because we control most of it” option, and Google in the other corner offering the more Microsoft Windows-esque “we give you complete control, which also comes with all of the pitfalls that may have” option.
In fact, I wrote about this possibility just over a year ago, and a year later it still looks as true as it did then. In fact, when looking back to find this post, I thought I had written it a few months ago, not a full year ago.
In the end, I can’t say I have an answer to the question of whether more power in the user’s hands necessarily make up a healthier and richer user experience, or whether the echo chamber of the geek community just rings incredibly loud when calling on Apple to open up its application approval process and stand down the guards at the gate around the iPhone and it’s OS. Alternatively, the question remains whether the solution to those cries will wind up being called Android, and fans of open development and computing will trend there and eventually leave the iPhone development arena entirely, which brings up another question – does either platform NEED the geek community to stay alive?
Apple and Google: Fixing the Linux “Problem”
Granted, the elitists will tell you there’s no problem here at all, and that Linux is essentially the operating system by geeks for geeks – if you can’t penetrate it yourself, then you shouldn’t use it, and you should use something more suited to your tastes, like Windows or MacOS. This discounts the army of people who find Linux useful in applicable circumstances (eg, it runs my home server, replaced the firmware on my router, is the OS on my firewall, etc) but admit that it simply doesn’t work on the desktop for any advanced or niche tasks.
Personally? I’ve installed probably a half-dozen flavors of Linux on various desktops in the past couple of years and every time I’ve always come back around to it and said “now what?” I can browse the Web, I can check my e-mail, but if you’re looking for do any gaming, you’ll have to find emulators, tweaks, and hacks – and even then you can only play some things; if you want interoperability with your Windows-using colleagues you have to pick the right apps, and if something breaks well – if you’re like me it’s not too bad, but if you’re not a huge fan of learning by stuff breaking, then you’re out of luck. None of this is new, and none of these complaints are anything that hasn’t been said a million times about Linux – especially on the desktop. (the enterprise is a different, much prettier story, I think Linux really thrives in the datacenter, even if it’s floundered on the desktop)
If you include MacOS in with other Linux distros, it’s probably a singular success story among them. The only other distribution of Linux that’s managed to earn as positive a reputation for ease-of-use, ease-of-configuration, and ease-of-support is Ubuntu, and it’s relatively new to the game. There are even distros that look like Windows and MacOS, just to make people feel more comfortable with them, but that misses the point. Linux on the desktop is incredibly powerful, and in some senses it’s too powerful for the average user, depending on the distro you choose. At the same time, that’s the beauty of Linux – there can be flavors that are sandboxed and tightened up and easy to use and troubleshoot like MacOS and Ubuntu to a certain degree, and there are other distros that are not for the feint-of-heart.
Google is about to enter this fray with Chrome OS, an operating system that everyone expects to be built on some flavor of Linux, although we haven’t seen it yet and Google hasn’t told us much about it – we don’t know who it’s really targeted at, where it’ll fall in this spectrum of power versus simplicity, and what sacrifices Google will make to make their OS accessible while still making it powerful and customizable. Right now Apple and the devs behind Ubuntu are out front; with a company like Google in the mix, they likely won’t be far behind. Even so, I think Apple’s the only company that’s really hit the sweet spot – and to do it they essentially made their Linux so much NOT like Linux that it’s difficult to even relate it to Linux anymore.
Connecting the Dots
All of that being said, it’s clear that the next big place where Linux has a chance to shine, in whatever form it may emerge, is in the mobile space. Linux on the desktop, without major and sweeping changes, will forever be doomed to wander aimlessly among the elitists and the populists, both arguing at and past one another and missing the point. They’ll both continue to hate on Apple for MacOS, and they’ll probably deride the makers of Ubuntu for their strides in the usability direction, even though they’ve done a remarkable job of striking the power/simplicity balance.
The next volley in that battle will come from Google when we see Chrome OS, but the next battle to pay attention to will be between the iPhone OS and Android. Both have serious potential, both have the possibility to succeed and become sweepingly popular, and both have several legs up on their major competition, Windows Mobile and the Blackberry OS – the former of which is rotting on the vine and the latter of which is only popular because it was the only game in town.
Will Apple’s closed-garden approach with the iPhone – clearly preferring simplicity, ease-of-use, and control over customization and user empowerment be the preferred option going forward? Will Google’s open-sandbox approach with Android – clearly preferring user empowerment and open development even at the cost of simplicity, easy troubleshooting, and user serviceability (without the need for the user to be an expert) prevail? And what factor will really make the difference: Usability and reliability? Development and accessibility to software? Or will it be cost to the user or cost to the developer? Only time will tell, but right now it’s anyone’s game.