06 July 2010
WHAT DO THOSE GUYS AT
NOKIA THINK THEY'RE DOING?!?
I hear it at least once a day: 'Nokia needs to just stick with one OS” or “Nokia should just ditch Symbian for (insert MeeGo, Android, or Windows Phone 7 here) and stop confusing its customers.'
Everyone expects the industry leader, the converged device industry originators the size fits all approach to embedded software. I don’t even see why they expect the most successful mobile manufacturer themselves, to follow their competitor’s strategy of using a on copy their less successful challengers that have yet to reach half the level of sales, but go figure. But for anyone that you hear say these statements from now on, share this link with them. They are my target audience for this post.
Both of these statements are usually made by so-called intelligent individuals that I would expect to have enough information to know that those statements are utterly ridiculous. There is a perfectly reasonable explanation for why Nokia has a two pronged software platform strategy. The wisdom in choosing Symbian and MeeGo over other platforms is evident when you examine their architecture and heritage. I plan to do just that, and in the end you will understand what Nokia’s strategy really is, which of these platforms is best for you, and which of these platforms your next device will likely run.
THE PURPOSE BEHIND SYMBIAN’S CREATION
Symbian was started with the purpose of being the industry standard for portable computing and communications. The Windows of the mobile environment, if you will. Windows is today’s most powerful software platform, but its characteristics on a desktop aren’t suitable for the mobile environment. Making advanced computing portable and pocketable had challenges of its own, mostly constrained hardware resource environments, interface issues, and power management.
Symbian basically invented smartphones over a decade ago, and solved most of the issues in spades, creating the Holy Grail of software platforms. They’d created a fully multitasking OS with complete API access for background processes and applications. It was skinnable, efficient, adaptable, pocketable, and supports more application runtimes and toolkits than any other smartphone OS in the industry.
Today it is the closest of the smartphone OSes to Windows (Maemo/MeeGo is not a smartphone OS, by the way...) based on how it works, amazing when considering it accomplishes this on some of the smallest and power miserly equipment on the planet. Now that it supports a hardware accelerated graphics UI, its application processor and RAM efficiency is through the roof.
I can attest to the power of Symbian quite well. I used slightly hacked versions of Symbian S60 3rd and 5th Edition as my primary computing platform for an entire year, only using Windows for professional audio recording and advanced video editing, and guess what? It wasn’t always without challenges, but it was acceptable enough that I now prefer portable, pocketable computing to desktop computing, finding it more second nature. My Windows desktop is usually dusty and rarely used today.
Though it has sometimes graced the fastest hardware available on the market, Symbian’s feature set, minimum hardware requirements, and efficiency have no peer in the business. It is known for usually needing less third party software, creating similar performance to other platforms on less than half the resources, and the best battery life in the business. Symbian represents the benchmark for software performance in constrained resource environments. This is what a decade of optimization and maturity bring, and is Symbian’s advantage over Android, WP7, iOS, Blackberry OS, and any other new jack OS planning to make its mark. It will have to match Symbian’s performance in extreme resource situations to truly compete.
THE PURPOSE BEHIND MEEGO’S CREATION
To understand the heritage of MeeGo, you must first look at its foundation. MeeGo is the spawn of Maemo, and is pure Linux, and that is where the story begins. Remember, Maemo is not new, but has matured for 5 years, but actually, is older than those five years, since Linux has been around far longer. So this is a mature OS by any measure, and only the UI layer is new.
Linux was created as a piece of free software that anyone could adapt to fit their needs. Originally just a kernel, a group of developers have gotten together and added modular infrastructure parts and a common set of application toolkits to enable the most adaptable software ever made. You find Linux everywhere from TV set top boxes, telephones, servers, desktops, portable media players, medical equipment, to cameras and more.
The magic of Linux’s adaptability is its design. Linux uses modular pieces of infrastructure to support specific functions.
It is akin to building all of the highways, plumbing, electrical, waste treatment systems, and communications networks a decade ahead of building the city. This way, deciding where and how buildings work together is easy, as it’s already been thought out. Imagine if there was already a launch pad for a space ship a decade before that ship was made. It is easier to design a space craft when the launch mechanism already exists. Once it’s made, you are able to get in space faster.
It’s not easy to explain to the non initiated, but that’s Linux, and today, it is considered a peer to Windows and OSX. Almost anything is possible with Linux, it’s all created in the open, and most of the software used for Linux is free and available for adaptation and reuse.
Now MeeGo continues this tradition, but with a twist. They’ve retained all of the common Linux infrastructure. If Symbian’s application runtime support is considered robust, then MeeGo’s must be on steroids. This is why I tell people MeeGo isn’t a smartphone OS. It is the same Linux you use on your desktops, netbooks and servers with some added parts to make it adaptable to not only smartphones, but almost anything that could run an embedded OS.
They’ve sprinkled in some extra runtimes and services alongside those typical of a modern Linux distribution, then added a fully scalable UI engine that is hardware accelerated and adaptable to any interface options available with whatever hardware may be used, whether that is a cellphone, car stereo, television, space shuttle console, or any other application of the platform that is decided upon in the future. This allows Linux to adapt its Windows-like feature set and extensibililty into more environments than any other OS would be capable of. Its well designed infrastructure and toolkit support allow MeeGo to easily leverage and exploit every ounce of power from its accompanying hardware, making it perfect for a power user environment. This applies whether its a cellphone, TV, tablet, or anything else.
By having a dedicated Handheld UI from day one, MeeGo has a dedicated environment for a pocketable experience on par with Windows, without having any of Window’s legacy UI issues to make things difficult. So while Microsoft has an adapted touch layer for Windows, touch is at the heart of MeeGo Handheld, meaning all of its apps are designed with the same touch UI in mind. Windows touch layer isn’t at the heart of the OS, and all of its apps are designed for stationary systems, not mobile, which is its disadvantage. There is no platform more capable of getting the most power and capability, nor an ecosystem as robust, in any other OS for pocketable devices on high end hardware on the planet than MeeGo.
ANDRIOD? WP7?? SERIOUSLY?!?
There are those that have been dissatisfied with the slowed development of Symbian during the Ovi reorganization era of the past few years. Before I had an understanding of Nokia’s strategy for the future of the OSes, I was one of those dissatisfied individuals. And just like most of them, in the past, I, too, threatened to try new offerings by upstarts Android, WP7, or any other alternate ecosystem. But I quickly learned that the grass isn’t always greener on the other side of the fence.
“Why doesn’t Nokia just dump Symbian and use Android or even Windows Phone 7?” I hear it all day long in the comment sections of American blogs...
Good question. Android has a fast growing app development scene, deep Google service integration at its core, and a pretty elegant looking UI layer. But is that enough to make Symbian moot? Or is there a hidden advantage Symbian has over its competitors?
I don’t think Android holds a candle to Symbian at this stage of its development, however elegant its UI may be, and has a long way to go to reach Symbian’s technical 1st evidence of this is efficiency and hardware requirements, and it all has to do with Android’s relative infancy as a platform.
Most of Android’s applications are written for a Java based custom virtual machine called the Dalvik VM. Basically, Google is using a last generation technology as the core of its app engine, and it shows in its performance. Everyone knows Java isn’t the most efficient way to make mobile apps, resource wise. In fact, it is so inappropriate for advanced application development, Mozilla admitted it would be next to impossible to create a version of its Firefox Mobile browser using the Dalvik engine.
They now have a native app environment, but it is a work in progress, and hasn’t close to the optimization of Symbian’s tried and tested native ecosystem. Yet these are the only two application runtime environments Android has available at the moment. See what I mean when I say infancy? I can’t recall how long ago Symbian was at this stage, but it was a long time ago, I assure you. And Android won’t get to Symbian’s efficiency overnight, either.
I haven’t seen many worthwhile Android devices that performed up to my standards that weren’t running 800 MHz or higher processors and mounds or RAM. In essence, you will only enjoy the Android experience on upper midrange to high end hardware. Running Android on sub 500 MHz processors isn’t highly recommended, in my experience. And the Hero/Eris shows how a rather mild Android setup is a big mistake for stability and maximum performance.
Now upper midrange to high end devices cost $400+. In that price range, on the type of hardware expected in that class of Android device, you could get a much more stable and capable Symbian or MeeGo device.
WP7 is even newer than Android, and is using a totally new set of software toolkits from its previous iterations as Windows Mobile. And they’ve come out and admitted the hardware requirements would be fairly high end. So you’ll probably break the bank on a new technology that is far from optimized and well behind the curve. This isn’t a new version of an old OS, this will be the baby of the block, even newer than Bada. And we all know what version 1.0 always brings. I don’t ever recommend 1.0 grade platforms for anyone unless it creates a new genre of OS and device, like Maemo did with the 770 Linux tablets.