The Future of Mobility is Linux
Okay, I've had an opinion change I'd like to announce. I'm betting that the future of mobility will be Linux, and not Symbian, Windows or anything else. This is quite a change from my previous pro-Symbian stances, but I've been sort of leaning this way for a while - or rather, leaning away from Symbian as it fails to live up to its potential - and now I've finally come to a religious change of faith when it comes to mobile OSes.
First, let me say that my original thoughts on Symbian have pretty much come to pass. The OS had huge backing from Nokia and other major manufacturers, and has over the past few years completely demolished its competition in terms of raw numbers, selling roughly 30 million phones. A lot less than I would have thought, but more than any other smart phone OS. But years pass, and its time to re-look at the mobile landscape and try to guess what's going to happen over the next few years, and my gut feeling is that Linux will be the big winner. No, I haven't succumbed to what I call "Valley Thinking" - that Silicon Valley PC-centric way of looking at the world which plagues most of the area I live in. I'm looking at the trends and extrapolating based on a few clues.
First I'll start with the final epiphany and work backwards. The latest news I've seen about the Nokia 770 is that it's going to have a host of applications ready for it at launch, including VoIP software, streaming media, chat applications, Doom, etc. The thing that's so amazing about this is that the 770 is essentially the *same exact hardware* that's on my Nokia 6680, yet the development pace for the 770 is way more rapid. In addition, there's at least a half a dozen blogs and bloggers dedicated to the device, and it hasn't even launched yet. This shows the power of an open environment and the draw of Linux and its fans.
This points straight at Symbian's major problem: Developer support. From the very beginning, the Symbian platform has been difficut to impossible to understand, let alone develop for. It takes experienced C++ developers tons of time to even understand the strange way that the Symbian OS works, let alone get to any level of expertise. It also requires a Windows development box and usually a not-for-free IDE to manage the code as well. Then, when developers run into problems, they must navigate a myriad of different sources for answers, including Symbian.com, Nokia, carrier websites, etc. On top of this, someone, somewhere forgot to tell Symbian that the "User Interface Is the OS". Thinking that Series 60 is the same as UIQ or Series 90 is like saying that developing for FreeBSD is the same as developing for Linux and Mac OSX. This puts a lot more pressure on developers as they have to choose between platforms - and though most would prefer the bigger screen and power of a Sony Ericsson device running UIQ, Nokia's OS is selling so many more units that they'd be foolish to develop for any thing but that. Finally, once a Symbian app is developed, the path to market is hardly paved at all right now. I don't know of many carriers that have Over The Air access to Symbian applications. I could be wrong about this, but if there are any, the numbers are really, really low. All of this bubbles up to the top, making decisions to base apps on Symbian a more expensive and risky operation for companies, and most aren't willing to take that chance.
Linux doesn't solve all these problems, but it solves quite a few. First, it's a free and familiar development environment that coders will have some experience with. Secondly though the distributions might be radically different - 770's Debian-based distrib vs. Montavista's Mobilinux for example - the core programming methods will be similar enough that some porting will be possible or at least coders won't be completely bewildered as they are now with Symbian ('helloworld' just by itself is a monumental effort on that platform). And the development community isn't trapped in a handful of manufacturer sites, it's out there with all the rest of the Linux world. Finally, developing for Linux is relatively fun and developing for Symbian is generally not (which is putting it mildly). I've heard first hand from developers about the pain of developing for Symbian phones, and you can only hear this enough times before you start to read the big flaming writing on the all.
What about Microsoft and the Mobile Windows platform? Well, I see Windows picking up speed in the corporate market, helped by companies like Palm who are soon going to be pushing their Mobile Windows based Treo soon. And in my opinion, there are no better developer-oriented companies than MS. An inexpensive subscription to MSDN will give you every single product that Microsoft has, and includes reams of documentation, etc. But Microsoft still has the same problems in mobility that has plagued it over the past few years: little manufacturer or carrier support. We've already seen Linux outship Windows Mobile devices, but in general dealing with Microsoft is dealing with the devil (as Sendo's demise has shown us) and everyone knows it. When it comes to mobility, carrier and manufacturer deals are key and I don't think Microsoft has many opportunities in this area. This is what has propped Symbian up so far.
But I see Symbian's window closing, and fast. They've had over two years to get their platform in order, and it still hasn't happened and I can tell from people I talk to and what's happening online that the frustration with Symbian as a platform is reaching a peak. Everyone is looking at alternatives, and Linux is inexpensive, has no strategy tax (like Microsoft) and it's got a great developer community around it. Mobile Linux is already ascending in Asia (the reason PalmSource bought China MobileSoft), Motorola and Yahoo! are working on providing services for their upcoming Linux based phones, and even Nokia is looking at it as well. Plus, the current growth of Linux is astounding - listen to this DDJ interview with Montavista Linux to hear the numbers.
Let me go back and address on thing: The path to market is really a major issue. Not that Linux is going to magically fix this, but here's my rough thinking: Linux is just as good, or maybe better, of a platform on which to have Java run. Java is the ruler of all mobile applications at the moment, and with more than half of all mobile phones running Java it will be for some time. Carriers want more compelling applications so they can bump up data ARPUs, and therefore will be looking at the platforms that can provide the most innovation and buying from the manufacturers that provide phones with those platforms. The market isn't ready for native applications yet - and may not be for several years out - but when the time is right, there's going to be a need for a platform which provides the easiest base to innovate from, and Linux is it. Until then they may lock down devices, and make Linux phones - which by definition of having a multi-tasking OS are 'smart phones' - into Feature phones, but the core power of Linux is there ready to be tapped, even if only by the manufacturers or carriers themselves.
Going backwards from there, and I've started seeing manufacturers talking more about UMA, or "Unlicense Mobile Access" which they see as augmenting the cellular networks with local WiFi or future technologies such as WiMax and WiBro. Though I think these devices will take at least a decade to reach the critical mass of cellular-based mobiles, they are definitely going to make an impact in the short term. Again, two years ago, I dismissed WiFi phones outright, but now I'm starting to see more traction in the idea. Two years out, I can see that the most expensive smart phones - the equivalent of my Nokia 6680 now - will have some sort of WiFi access and an open platform on which to take advantage of it. That platform will most likely be Windows or Linux, but I really can't see it being Symbian. There's no way it can compete for developer mind share.
There could be some spoilers out there. You never know what's going to happen tomorrow - Apple could pull out some amazing iPhone and change the market over night. But right now being in the industry this is how I see things progressing. As it is now, I use a Symbian phone and plan on recommending that platform to others looking for a good smart phone. But as the next 12 months goes by, I full expect that a Linux based phone will enter my world, and within the next few years become a standard.
See you in 2008.