Thanks to everyone that replied to my cry for help on mobile operating systems. I’m trying to take a developers view on the mobile platform market and work out why a developer might choose a particular OS or platform. Coming from an X86 world myself, I find it difficult to understand how Moblin, one of the first X86-only mobile operating systems, might fit into the big, carrier-influenced, ARM-focused, 100million-device-per-year world of converged mobile devices.
Since my article, Nokia announced that Symbian and related projects will be pooled and gradually turned into open-source operation. This article at GigaOm has some good thoughts. Given that they have 65% of the global market it’s obviously a significant move and I’ll be watching closely to see what happens. In the meantime, here’s a list I created of the choices that are in the market. The top 4 basically take the whole of the 100million+ per year smartphone market with LiMo carrying most of the rest. The most shocking thing is the list of Linux options. What on earth are they thinking? Open Source Linux appears to translate to a lack of focus and if I was a commercial development house right now i’d be looking to the top 4. LiMo appears to have some traction with good carrier support and penetration. Android on OHA has a lot of backing and media attention and Moblin has a number of distribution deals although at the moment, these are non-voice netbook distribution deals. It remains to be seen if the X86-focused Intel can stimulate smaller-screen distribution and make the conversion to being a voice platform when their smartphone-focused Morestown cpu comes into play in 2010.
So here’s the list of platforms, systems and methods i’ve put together. i’f i’ve missed one, please let me know!
Top 4 – 95% penetration of mobile device (*1) market.
- Symbian (65%)
- Windows Mobile (13%)
- Blackberry (10%)
- iPhone/ OS-x (7%)
Linux flavours
- LiMo (now includes LiPS)
- Android – OHA
- Moblin – Linux+Gnome+Hildon
- Meamo – Nokia. Linux+Gnome (GtK+, Gstreamer, Matchbox, Hildon)
- Mobilinux – MontaVista Linux
- Acces Linux Platform (LiMo compliant?)
- OpenMoko – Linux+Gnome
- TuxPhone
- Qtopia
Others
- Garnet (Palm, Access)
High-level languages, kits and methods:
- Ajax
- j2me
- Adobe air
- Silverlight
- Flash
- Flex
Steve, I think that J2SE is also supported on some. And Adobe Air, flash and flex could be grouped.
Tal
The list I use is: Java, Adobe Air, Silverlight and Ajax.
And this analysis might turn obsolete with MIDs aiming at voice … it could soon become XP, Moblin based Linux, Android and iPhone.
I know linux is second after symbian.And where is ubuntu mid?
And if you ask me x86 is now the only platform that is worthy.
That 7% for iPhone/OSX seems incredibly high. What OSX device could this be referring too? I understoodthat they are heading for about 3% of market share this year.
Also if you write your app. for Linux won’t it be compatible for most variants of Linux?
one little note about qtopia. as nokia recently bought trolltech, it seems the plan is to introduce qt on both symbian and maemo.
end result, code in qt, compile on symbian, maemo and qtopia…
and openmoko is in a whole lot of flux. right now the firmware shipping on the freerunner is a mix of enlightenment, gtk and qtopia…
oh, and i forgot to comment on you lack of focus on the linux part. i think its more a issue of a lot of existing corps wanting to have their own vertical silos.
as in, want to code for our phones? then talk to our people…
they are using a linux base to get up to speed quick, but is not really interested in turning their products into real smartphones. for that they already have symbian or windows mobile, depending on where they are trying to sell said phones…
Yeah the top 4 OS numbers are really wacked here. I work specifically in this market and those numbers I do not agree with.
Secondly what we consider Smart Phone OS’s is what is more relevant to mobile computing than strictly phone OS’s in general. Although Symbian is top, those numbers are exhadurated some because Symbian is a lot more popular on flip phones than say Windows Mobile Standard or BlackBerry’s etc.
At our company we usually pull out Smart Phone only statistics based on models of phones in the Smart Phone category.
Your high level programming languages looks more like a buzz word list than reality to be honest. I don’t know where your getting this information from. I’m sorry to be harsh but Smart Phone ISV’s like ours usually choose 2 routes such as:
1. Try to pick one common development platform for all devices (Java). The cons on this is not all devices support java with nice integration. Some phones like BlackBerry’s the J2ME is the supported SDK and is very nice to use.
2. Use each OS’s standard SDK to fully utilize the devices functionality. This usually means writting a J2ME app for BlackBerry’s, writting a .NET Compact Framework app for Windows Mobile devices.
#2 is what most large ISV’s do. Pick the SDK with the most integration, power and enterprise tools. It’s more work but it means your app is better run on that specific device instead of 1 app so-so on all devices.
This is the choice you pick if you are really serious about releasing a great application.
Silverlight is not going to be used for mobile apps.
Flash/Flex is not going to be used for mobile apps.
Ajax is not going to be used for mobile apps.
Adobe air is not going to be used for mobile apps.
The reason for this is people require apps to run in disconnected models. Data plans are expensive etc.
Browser apps is about the least integrated method of developing an app on a mobile device. If you want first rate integration such as PIM, OS features, etc your going to want a client side app.
Sorry for being harsh. I like the concept of this article but its so far off on what us mobile ISV’s are doing development wise.
synced, you dont happen to be from usa or canada do you?
I think it is asian :)
Synced:when x86 will come on smartphone all that crapy
os will go to scrap!
Linux has been on Motorola’s Phones for a long time:
Here is a resent article: “SPECIAL REPORT: Motorola adopts Linux for future mobile phones”
at: http://www.linuxdevices.com/news/NS4504156025.html
Enjoy!
I think that while Symbian OS has the largest marketshare, a lot of Symbian phone owners don’t use their phones as a smartphone (installing apps, etc). It seems to me like there is a lot more development occuring for WM than Symbian despite the latter’s larger marketshare.
Linux at this point is a fragmented mess and to be honest I don’t see it getting better any time soon. Incompatible APIs and application frameworks will mean that an application written for one distribution will not work on another.
The high level languages you’ve listed (with the exception of J2ME) are generally accepted as multimedia and interactivity extensions for internet applications, not programming languages. You wouldn’t want to write an application for a device (say email or media player) using these technologies. Pure cloud (or thin client) computing is still a dream if you want a truly capable device.
I agree with Synced about app development. Most developers use specific tools for the platform they’re targetting. WM development uses the .NET CF framework and the IDE of choice is VS. iPhone development uses the Cocoa Touch API and is developed using XCode.
x86 on the mobile platform… it’ll take several years before it see any decent marketshare, assuming the initiative doesn’t fail altogether. The only advantage with x86 is legacy app support and that is pointless unless you want to run Win Vista on your phone!
Will. Isn’t Linux code re-use an advantage for X86 or are liux apps such a mess that you’d probably want to start from scratch every time?
Thanks, everyone, for your feedback BTW. I was away when this auto-posted so have only just got round to reading the interesting replies.
Steve.