From Mobile 1.0 to Mobile 2.0

Coach Wei has been and is a leading voice on the emergence of Web 2.0 and Mobile 2.0 applications and enabling technologies.   His recent take on how Mobile applications are shifting from 1.0 to Mobile 2.0 is a must read and provides an interesting "stack" model to consider from a strategic and financial perspective (e.g. who will dominate components of the stack and how will it be monetized).

Read Coach’s full post here or excerpts below:

Moving from Mobile 1.0 to Mobile 2.0

Historically, mobile computing has been based on an end to end closed technology stack. Device manufacturers make not only the device, but also the operating system as well as applications on the specific device. Applications are bound to each specific mobile hardware system and operating system as part of this end-to-end closed stack. Developing applications for mobile devices is more like writing embedded software.

Web 1.0 brought significant “openness” and “interoperability” to mobile computing. Mobile web browsers gradually became part of the device stack providing a “common” runtime environment for a certain class of mobile applications. The adoption of WAP and WML further enhanced the capability of mobile browsers for delivering applications. This “mobile 1.0” era application development clearly evolved away from the traditional embedded software model to a more “open” and general model.

Though mobile web browsers/WAP enabled open mobile applications, they all have serious limitations, for example:

  • Lack of support for offline computing
  • Lack of support for device-specific features.

As a result, mobile 1.0 has had only limited success in application development. The next phase of development, from operating system to application runtimes, is gradually overcoming these limitations.

The emergence of general mobile operating system further opened up the mobile technology stack to general developers, with strong support for offline computing and device-specific capabilities. The noteworthy ones are:

  • Symbian OS: In 1998, Ericsson (15.6% ownership), Nokia (47.9% ownership), Panasonic (10.5%), Samsung (4.5%), Siemens (8.4%), Sony Ericsson (13.1%) as well as Motorola (who sold its equity stake to Nokia later) jointly formed Symbian to develop a mobile operating system. Symbian OS has been shipped to over 80 million smart phones so far and has an overall 67% smart phone OS market share.
  • Linux: Linux is getting adopted as a mobile operating system with an estimated 19% market share. For example, Motorola sold its stake in Symbian and decided to adopt Linux instead.
  • Microsoft Windows Smartphone Edition: Microsoft has been trying to develop a mobile operating system starting from early 1990s without too much success until recently. My estimate is that Microsoft holds about 5% market share.
  • PalmSource: The famous Palm OS helped launch the PDA market, but faced stiff competition when market shifted to Smartphone. Palm OS has limited penetration in the Smartphone market. PalmSource’s acquisition by Japan’s Access gives it’s a long term home, though it looks like Access is more interested in pursuing Linux instead of Palm OS.
  • Java-based OS: Java is an ideal platform for mobile devices (interestingly, Java was invented initially as a language for writing embedded software) – however, Java-based OS has not received sufficient attention so far, not because of technical merits, but rather for strange commercial reasons. For example, no significant company is pushing a Java OS. I would expect Sun be able to take a product leadership and build a successful business around Java OS for mobile devices. Sadly no. I personally think Sun has yet to learn how to leverage Java in general in building a software business because I can see them do so well if they figure out how to do it. The only noteworthy company is SavaJe (, a Massachusetts-based mobile OS company that developed a Java-based operating system. Though small, SavaJe has made some good progress being adopted by various Asian manufacturers.

The diagram below shows the technology stack transition from mobile 1.0 to mobile 2.0:


The Rise of Application Runtime Environments

One of the significant developments for mobile 2.0 is the rise of application runtime environment. A dedicated application runtime decouples the application from the operating system and device hardware, providing a higher level abstraction to simplify application development and deployment. Further, an application runtime provides better interoperability between different devices/operating systems for applications, potentially enabling the same application to run on many different mobile operating systems and enabling mobile application development become an independent business.

The noteworthy application runtimes are:

  • Java ME-based Runtimes

    “Java™ Platform, Micro Edition (Java ME) is the most ubiquitous application platform for mobile devices across the globe. It provides a robust, flexible environment for applications running on a broad range of other embedded devices, such as mobile phones, PDAs, TV set-top boxes, and printers. The Java ME platform includes flexible user interfaces, a robust security model, a broad range of built-in network protocols, and extensive support for networked and offline applications that can be downloaded dynamically. Applications based on Java ME specifications are written once for a wide range of devices, yet exploit each device’s native capabilities. The Java ME platform is deployed on millions of devices, supported by leading tool vendors, and used by companies worldwide. In short, it is the platform of choice for today’s consumer and embedded devices.” (Source: Sun Microsystem).

    There are a variety of Java ME-based runtime environments available. For example, a lot of Research In Motion devices (BlackBerry) are based on Java ME.

  • FlashLite: FlashLite is Adobe’s attempt to leverage Flash as a mobile application platform for mobile devices. Applications are based an Adobe’s SWF format.
  • Intent from Dao Group: Though relatively less well-known, Dao Group from UK has developed an amazing cross device runtime called “Intent”. Intent® is a integrated, high-performance multimedia software platform for embedded, mobile, consumer electronics and automotive solutions. It supports Java, C and C++. Intent-based Java ME JVM is one of the best JVMs on mobile devices (in fact, Nexaweb runs on Intent JVM). Intent has been shipped to a few million consumer devices including phones and game consoles.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s