Of Trolls and Droids: on cross-species development and the evolution of mobile tools and platforms

Posted by john puterbaugh on Feb 01 2008 | Uncategorized

This will be the first part of several posts. In this first part, I will attempt to: (i) define the various approaches towards the “write once, run everywhere” dilemma that has been exacerbated in mobile due to the fragmentation of devices, networks and formats, (ii) categorize the various approaches (e.g., operating systems, application user interface frameworks, runtime environments, extensible applications), and (iii) attempt to articulate some of the end-goals for each of the approaches being undertaken.

In future posts, I will address the evolution and who will likely survive as this plays out. Time permitting, I would like to put this in context of the larger multi-platform picture that includes iTV and PC.

Setting the stage …

Darcy Wentworth Thompson in On Growth and Form developed an explanatory theory of evolution based on geometrical, affine transformations. Using basic geometric operations (e.g., translation, scaling, rotation), Thompson endeavored to show that various forms of animals could be explained by applying transformations to an original “source” form. He was offering a structuralist view of evolution, in contrast to survival of the fittest.

On Growth and Form

As we’ve seen in mobile over the past five years, extensive efforts have been undertaken by game publishers and content providers to create and then transform a piece of content so that it can flourish on a diverse set of mobile devices. The company that delivers platforms, tools and / or technologies that eliminate the problems surrounding fragmentation and compatibility (hence lowering the cost and friction to create and deploy mobile content) will reap great rewards.

The veritable stack

Content providers and application developers have a wide range of choices when deploying applications and content. Furthermore, when creating and deploying content they must select a particular layer within this stack on which to focus their development. For the purposes of this discussion, I will distinguish five layers:

  1. Operating Systems and Mobile Platforms - Symbian, RIM, Windows Mobile, Palm, Java FX Mobile, Android, LiMo
  2. Application UI Frameworks - Series 60, Qtopia, uiONE, GNOME / GMAE, KDE, GTK
  3. Runtime environments - Java, JavaScript, Flash, BREW, and various Mobile Internet Browsers
  4. Media Players - Windows Media Player, Quicktime, Real, Ogg Vorbis
  5. Applications - Celltop, Yahoo! Go, Nokia WidSets, and various Mobile AJAX “players”

It is still unclear within mobile, which layers in this stack will become dominant and who will control what aspects of it.

As it stands today, with respect to the PC and the broadband Internet:

  • Windows is the dominant operating system (along with a relatively small footprint of Linux and Mac OS installs)
  • Internet browsers (Explorer, Firefox, Safari) provide the dominant runtime environments. And, after broadband hit a critical penetration rate, Flash became the dominant Rich Media Application runtime environment, with AJAX rapidly gaining traction.

With regards to Application UI Frameworks and Applications, the dominant application UI framework is clearly Windows itself (e.g., .NET, Winforms) and after that it would arguably be KDE and Motif / X11. And, there have not been dominant “applications” that have functioned as portals from which content providers can deploy widgets and other types of plug-in content as we’ve seen in mobile with on-device portals such as Yahoo! Go. On the desktop, the extensible applications often relate to content authoring and design, e.g., Photoshop and Pro Tools.

Scenarios and open seats yet to be filled

Beyond having “winners” at each layer in the stack within mobile, the question will be whether history will repeat itself within mobile. For example, two areas are of particular interest:

Winner take all – OS and key application stack
Will there be a “winner take all” scenario akin to Microsoft’s dominance in the PC era. I alluded to this in a recent interview with Peggy Anne Salz for msearchgroove. On the PC, Microsoft became the de facto standard and essentially the sole provider of the operating system and core applications. Given that the PC paradigm was the “desktop”, Microsoft owned the key tools used in desk jobs: word processor and spreadsheets. The question is, will someone - Microsoft again or perhaps Google - assume this role within mobile? Google is headed in this direction but unlike Microsoft, rather than starting from the platform and working upwards, they have started with “killer” apps and moved downwards. For mobile, these applications relate to communications and location: Gmail, Google Maps, Search.

Rich Internet Applications
Will there be a dominant rich Internet Application (RIA) platform in mobile. On the PC, it can be argued that Flash surpassed the UI frameworks (e.g., Qt) and other runtime environments (e.g., Java applets) as a vehicle for deploying cross-platform RIAs. In mobile, while Flash has gained some traction in Japan, it has not had traction in the U.S. that content providers have come to expect on the PC. This is mainly due to the mobile operators but also due to technical limitations of the handsets and software in mobile. Java and BREW have dominated the runtime environments and have been the primary vehicles for delivering RIAs. I have discussed the state of RIAs in the context of mobile here. Interestingly, there has not been a dominant browser to emerge and / or a consistent environment for utilizing JavaScript / AJAX. It is also not clear whether our access to networked media and the social web will need to be dominated by the browser as we saw with the PC. As the phone itself provides interfaces that can connect and enable multi-platform services (e.g., IM, multimedia messaging, image / video capture, search, mapping), it is not clear that a browser is needed to mediate and provide a layer of translation.

Fault lines and foundational shifts

Nokia recently announced they are buying Trolltech. It has been noted by Adam Leach from Ovum that “this is bad news for Symbian and even worse news for Motorola.” This conclusion is based on a number of possible scenarios. With regards to Symbian, Nokia could use Trolltech’s technology to replace the UI layer provided by S60 which would result in them having a common application UI environment running across Symbian and Linux. This, amongst other things could result in lessening Nokia’s dependence on Symbian. Motorola, however relies upon Trolltech technology for their UI framework on their Linux phones, which means that Motorola would be relying upon Nokia for a key aspect of their mobile Linux platform. Trolltech is also part of the LiMo Foundation, which aims to collectively develop a Linux-based platform for mobile phones. Whether this is meaningful (i.e., Nokia’s answer to Google’s Android) or not will likely not be clear until next year.

The emergence of Google’s Android has “upped the ante” on openness, while significantly adding to the viability of Linux becoming a key operating system in mobile. At the same time, in the process of making their solution open source, it has led to the balkanization of Java since Java bytecode will not run on Android, which Richard Monson-Haefel has speculated may be advantageous to Microsoft. To be fair, developers will be able to use the Java language when developing for Android, and it is really not such a big deal that the compiled executable and runtime environment are slightly different. And, this balkanization discussion does not take into account the fact that Android will support standard JVMs (e.g., Applix) that will run J2ME games and applications. Or of course, that various JVMs and JSR implementations themselves are partially responsible for the fragmentation and incompatibility within mobile.

In recognizing the problems with J2ME, Sun has begun their process of standardizing on J2SE. The various Java FX initiatives result from this effort and are providing a vehicle to tie together a number of packages and technologies that are used to create RIAs. The question is whether Java FX is more of a threat to Adobe’s Flash and Microsoft’s Silverlight in mobile or whether JavaFX Mobile is more of a threat to Google’s Android.

My brain hurts trying to grok the various activities going on in the industry, yet alone trying to take into account the impact of Yahoo! / Microsoft in mobile. I will continue this post over the next couple of weeks, with possible interruptions from Mobile World Congress and GDC Mobile. I want to thank Jason DeGeorge for bouncing ideas back and forth during this post. You can check out his band, “The Modifiers” here.

no comments for now

Trackback URI | Comments RSS

Leave a Reply