Distilling market noise into market sense

VisionMobile is the leading research company in the app economy. Our Developer Economics research program tracks developer experiences across platforms, revenues, apps, tools, APIs, segments and regions, via the largest, most global developer surveys.

Who will win the race of mobile application runtimes?

[Flash Lite, WebKit, Java ME, Silverlight, Qt, Lua, Python... Research Director Andreas Constantinou takes an analytical look at the new battleground for mobile application runtimes and the struggle for dominance.]

Flash Lite and Java have been quietly penetrating the mobile handset market. Both application runtimes have in a sense shown that openness is not an exclusive privilege of open operating systems, but of the majority of mobile handsets.

A new set of application runtimes have also surfaced in the form of WebKit, Silverlight, Qt and Lua – shifting the battleground for software platforms from the OS level in 2002 up to the application runtime level in 2008.

We have explored the wide range of application runtimes before – but we have recently analysed how the key contenders compare and contrast. The next table lists the commercial, product, licensing and technology terms for seven leading runtimes. I will be discussing this analysis with a panel of industry execs at the Symbian Show on October 22nd in London.

Mobile application runtimes

Java ME is the most pervasive application runtime, installed on approximately 8 out of 10 handsets shipping in 2008/9 by most analyst estimates. Java’s proliferation looks set to continue as Motorola plans to release the MIDP3 source code under an APL2 license by April 2009, which should reduce both fragmentation and the costs of implementing Java ME for handset OEMs.

Adobe’s Flash Lite reached the 500 million installed base mark in May 2008 and looks set to penetrate even further thanks to the zero royalty fees that Adobe has pledged. The exposure of the underlying Flash Lite device integration layer should enable OEMs to develop more tightly integrated and more consistent FL implementations. Nokia has already integrated Flash Lite 3 on the latest S40 6th Edition platform; note that the S40 operating system is on more than half of Nokia’s 40% share of annual handset shipments. The Finnish OEM also plans to integrate Flash Lite more tightly on S60 through Platform Services. Sony Ericsson has also been pushing Flash Lite integration into Java apps through project Capuchin (see earlier analysis).

WebKit has been a surprise in the making during the last 5 years. Although initially developed as the engine to Apple’s Safari desktop browser, the software has been evolved and optimised significantly; Nokia’s mass-market S40 6th edition OS features WebKit, as do Nokia’s S60, Motorola’s WebUI, Adobe’s AIR and Google’s Android.

Silverlight is a newcomer from Microsoft, aiming to compete head-to-head with Flash Lite, and initially expected to appear on Nokia S60 handsets.

Qt presents an interesting riddle. We believe that Qt is Nokia’s technology platform for deploying Ovi services across mobile devices and consumer electronics. Longer term Qt should be forming a platform for Nokia to deploy their own apps and a consistent signature UI environment, although the transition will take 2-3 years to materialise.

Lua is an interesting new contender; it is a scripting language optimised for embedded environments and is known for both its simplicity and flexibility compared to JavaScript. It’s also licensed under the permissive MIT license, which has resulted in it being adopted and embedded into games SDKs and most notably as part of the BREW platform and Qualcomm’s uiOne SDK 2.0 (see details here).

I will be moderating the panel ‘Who will win the Runtime race?’ at the Symbian Show on October 22nd in London. joined by well-respected representatives from Adobe, Microsoft, Nokia, Sun and Symbian:
– Jürgen Scheible, author ‘Mobile Python – Rapid prototyping on the mobile platform’
– Pete Barr-Watson, Senior Business Development/Deployment Manager, Microsoft Silverlight
– Terrence Barr, Senior Technologist and Community Ambassador, Sun Microsystems
– Antony Edwards, VP Developer Product Management, Symbian
– Matt Millar, Director of Mobile and Devices, EMEA, Adobe
– Benoit Schillings, CTO, Trolltech/ Nokia

If you are attending the Symbian Show, do join – I do expect an intense and stimulating debate as we discuss which application runtime will win.

Thanks to Erik Jacobson, Timo Bruns and Terrence Barr for their feedback on the comparative table of application runtimes.

Update: The keynote panel session went well. I did not expect any revelations, especially in front of an audience of 1,000+ people attending the panel. But there was one very interesting announcement at the Show; the role Qt will play for Nokia’s applications, devices and Ovi.

Qt's role for Nokia

This slide, originally from Nokia’s analyst webcast on Qt on Oct 28, is quite revealing. Nokia is planning to use Qt, its cross-platform application environment, to port its own core applications and Ovi services across a broad range of devices. Qt will then be ported onto S60 (as Nokia announced) as well as across the Nokia device portfolio – which includes S40 – as this slide reveals. Naturally, Nokia’s Ovi services should expand to non-Nokia phones and desktop PCs. We predicted this strategy for Qt in earlier research notes here and here, but Nokia is moving much faster than we were expecting.

Another interesting quasi-announcement was that WebKit will be one of the key pillars of the Symbian Foundation efforts, as announced by Lee Williams, the newly appointed head of the Foundation. WebKit is already integrated on Qt, so we should see the Qt + WebKit stack penetrating mobile devices very fast very soon. In the light of these announcements, we have upped our estimates of Qt embeds in 2009 to 50M handsets, assuming S60 starts shipping with Qt from 2H09.

So which application runtime will win? If Google searches is anything to go by, then WebKit is clearly the ‘runtime of the year’ for 2008. As for the foreseeable future, one thing is certain; there will be more runtimes supported by mobile devices, before real consolidation settles in.

Google Trends - runtimes

– Andreas

  • Pingback: VoIP()

  • kadypk

    You are aware that Qualcomm has announced that it has licensed Adobe's Mobile Client (latest incarnation of Flash Lite) for the next generation of BREW Mobile Platform. One might speculate/conclude that they will be ditching UIOne in favor of Adobe's mobile Flash technology.

  • http://gizmonaut.net David Mery

    A requirement for a "winner" is to be shipped in ROM/Flash. The story of OPL makes that clear. Another related requirement again exemplified by both OPL and Py60 is for the environment to be stable, have major number (i.e., changing the name from 0.9 beta to 1.0 final with no other change has a dramatic effect on adoption) and have a roadmap (i.e., be officially supported). This has a chicken and egg effect. It meant for example that OPL had more, about 1.6x, downloads than Py60 and hence was considered more of a success.

    The main difficulty is not so much the interpreters (at least if speed is not essential) but the availability of a rich set of libraries. This in turn raises the question of whether the winner is to have a set of common libraries with bindings for most/all of the interpreters available or focusing on one or a few runtimes.

    BTW, there have been several ports of Lua to Symbian OS. I can think of two (pre Symbian OS v9) off the top of my head: one by the Chinese company Noumena to use in its games and another by Intuwave to create a command interpreter for its test solution. There were/are likely other such ports. There also have been ports of many other interpreters to Symbian OS such as IO, Ficl, VisualBasic, Simkin, Perl, GOO, Squeak, EMP and probably more; and of course Ruby 1.9 was demonstrated at the show <a href="http://(http://www.pragmaticomm.com/MobileRuby)” target=”_blank”>(http://www.pragmaticomm.com/MobileRuby)

    br -d

  • http://visionmobile.com/blog Andreas Constantinou

    Kadypk,

    Yes, Qualcomm's licensing of the Adobe Mobile Client should mean a tighter integration of Flash Lite onto BREW. One could speculate on the repercussions for uiOne, but I wouldn't risk any conclusions yet.

    David,

    Very good points. It is debatable how important is a consistent addressable market vs a rich set of libraries, for the success of a runtime. Sun would argue that Java ME has the richest set of libraries, but then again the installed implementations are far from consistent. It is interesting to observe here that Nokia's Platform Services is an API integration layer that connects WebKit (and soon FL) to the S60 APIs. It does seem that Nokia's approach is

    a) promiscuity to many runtimes – WebKit, FL, Java, Python, with

    b) consistency of platform integration, via Platform Services.

    Very interesting to here about the breadth of other interpreters ported to SOS, incl. the instances of Lua. Thanks for sharing.

    Andreas

  • Mark Wilcox

    Hi Andreas,

    I think your estimate for devices addressable by Qt is way too low. It should be possible to target all devices from S60 3rd Edition onwards with Qt (currently it's officially 3rd FP1 but there's no technical reason for this). Also, Qt is already available on Windows Mobile and embedded Linux platforms.

    Since Qt is native code it isn't really a "runtime" and the necessary DLLs can simply be packaged with your application.

    Generally I'd agree with David, a runtime has "won" when it gets included in ROM, which Qt (and I think probably PyS60) will eventually. Other than that there will be no outright winner since they'll all be used for different purposes. So in essence the "who will win" question is pretty pointless.

    In terms of winning over developer mind share, the ones with the handicap are Java ME (previous bad fragmentation experiences) and Flash Lite (high cost of tools). The web runtime (although I'm no fan) has a massive head start since almost anyone can code JavaScript.

    Mark

  • http://visionmobile.com/blog Andreas Constantinou

    Hi Mark,

    Following Nokia's announcement of Qt on S60 (and across the Nokia device portfolio) I have up'ed our previous estimate of Qt in-ROM embeds for 2009 to 50M handsets.

    You make a fair point on the Java ME and Flash Lite handicaps – and WebKit is perhaps the revelation of 2008, evolving from a new kid on the block to stardom, thanks to Nokia's commitment for deploying WebKit on S40 and Symbian Foundation code.

    Andreas

  • http://stormyscorner.com Stormy

    Andreas,

    Thanks for the detailed post with tables and graphics. I always enjoy reading them.

    I was confused by your definition of "runtime". I wouldn't have put Qt, Webkit and Python in the same category. Would you also include GTK+ and Moblin your runtime category? Or are they separate?

    Thanks,

    Stormy

  • http://visionmobile.com/blog Andreas Constantinou

    Hi Stormy,

    Technically I would define a runtime as an application environment that manages the application lifecycle, communication and memory use (in the traditional sense of a Java VM or Microsoft COM). In this sense Qt, Flash Lite, Java, Python and Silverlight fit well within the runtime category. Lua is on the borderline of this definition because it is a blueprint for a runtime implementation. GTK+ is a set of graphical libraries and primitives, so it doesn't manage application lifecycle as far as I know. Moblin is a complete stack including OpenedHand graphics libraries and its own application framework – so in this sense Moblin is a superset of an application runtime.

    Andreas

  • Erik

    Instead of WebKit as the winner, I've been thinking it's actually AJAX, thus WebKit's JavaScript engine is just one of various JavaScript engines (in fact Google used a different one for Chrome). We'll have to see if multiple [open source] JavaScript engines can survive.

    However I believe that actually AJAX is the winner for fast delivery of services/apps (and thus fast-changing apps), however for middleware/servers/daemons that are not written in C/C++, it's more subtle. I was impressed by Sean Moss-Pultz OpenMoko replacing C/C++ with Python.

    http://www.iconocast.com/EB000000000000027/S5/New

  • Erik

    Oops! I meant to say that I was impressed by Sean Moss-Pultz from OpenMoko, talking at OSiM Berlin about replacing C/C++ middleware with Python!

  • http://visionmobile.com/blog Andreas Constantinou

    Hi Erik,

    JavaScript engine fragmentation is a new problem and I wonder how Apple will react. The Google fork is unsettling the equilibrium of power around WebKit code development.

    As for Javascript winning, I don't see Javascript deployed as a standalone engine far beyond WebKit and Flash Lite. So I would consider FL and WebKit as the main two contenders which encompass a Javascript interpreter. So I agree that Javascript will be most widely deployed, but not as a standalone runtime, rather as a component of WebKit and FL.

    – Andreas

    – Andreas

  • Erik

    JavaScript engine fragmentation might not be such a big issue. As Jon Ferraiolo from OpenAJAX pointed out to me, these days AJAX frameworks take (most of) the pain out of developing for different browsers (quirks). Thus let the framework vendors/providers take the pain.

    In fact, about a year ago in an internal report I predicted the bundling of something like JScript or Prototype on the phone – then in September this came along: http://jquery.com/blog/2008/09/28/jquery-microsof

    I agree that JavaScript will be mainly deployed as a component of WebKit and FL; but that other runtimes will be used for system components (not apps). This may end up as a couple of common runtimes (e.g. JVM or MS CLR) with various different language bindings.

  • http://visionmobile.com/blog Andreas Constantinou

    Hi Erik,

    Interesting factoid about jQuery being adopted by .NET and Web Runtime. I agree re: JVM being used for system components. MS CLR: not sure how long can Microsoft continue supporting .NET CF on mobile.. it would be interesting to see stats on .NET vs native apps that have been written for Windows Mobile, but my guess would be that most developers go for native.

    Andreas

  • http://www.metrorp.com Rapid Prototyping

    well it be good luck for all those contestant in that competition

  • http://clubschiffkreuzfahrten.com/ Aida Kreuzfahrt

    So far it looks like Nokia will win the competition but I think Apple is pretty close. Lets see what 2011 will bring and what new developments will happen.

VISIONMOBILE BLOG

Distilling market noise into market sense

3D Printing: The 3rd Dimension of Mobile Marketing

3d-printing

Despite the hype, 3D-printing today is far from a household technology, mostly used by non-professionals for fun, entertainment and utility.…

Continue reading ...

The kingmakers of the Internet of Things

image00

For the first time we have data to understand who IoT developers are, where to find them and how to…

Continue reading ...

The 3 key Apple Watch features that nobody talks about. Yet.

apple-watch-09

If Apple wants to create a new, large product category out of smart watches, it must empower developers to discover…

Continue reading ...

VISIONMOBILE RESEARCH

Research on the app economy and developer ecosystems

Developer Segmentation 2014

WF-Developer-Segmentation-Q3-2014

The Developer Segmentation Q3 2014 report is the most sophisticated study of developer segments to date. The report delivers a…

Continue reading ...

App Profits and Costs

AppProfits

This research report examines the critical success factors for a profitable app, and how business and technology choices, such as…

Continue reading ...

Developer Segmentation 2013

Developer Segmentation 2013

The Developer Segmentation 2013 report delivers a needs-based segmentation model that actually works, with extensive profiling of the eight principle…

Continue reading ...