Skip to content

Mobile 2.0

2006 November 4
by Coach Wei

Mobile 2.0? While I am dubious about using this “2.0” moniker, there is no doubt that there are significant cultural and technological evolutions are happening that are worthy of at least a conversation. In this post, my intention is to talk about the evolution of mobile computing and “mobile 2.0” seems to be a good title for it. If anybody wants a definition of “mobile 2.0” – I mean the next generation of mobile computing.

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 (http://www.savaje.com), 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.

Worldwide total Smartphone device market – Market shares 2006 Q2 2005 / Q2 2006** (source: Canalys, http://www.canalys.com/)

OS vendor Q2 2005 % share Q2 2006 % share Growth
Q2 05/Q2 06
Symbian 7,648,920 75.19% 12,720,920 69.7% 66.31%
Linux 1,448,320 14.24% 3,541,870 19.41% 144.55%
PalmSource 496,310 4.88% 562,960 3.08% 13.43%
Microsoft 355,650 3.5% 898,440 4.92% 152.62%
RIM 134,540 1.32% 475,860 2.61% 253.69%
Others 89,490 0.88% 51,360 0.28% -42.61%
Total 10,173,230 18,251,410 79.41%

General mobile operating systems brought significant downstream innovations in mobile computing. Various application runtime environments emerged. Java ME (formerly J2ME) has been the leading mobile application runtime that runs on many different mobile devices and operating systems, with a total of over 1 billion devices shipped. Mobile Ajax browser, though still in its infancy stage, is an area worthy of watching.

In the transition from mobile 1.0 to mobile 2.0, the industry gains:

  • Increased openness
  • Increase mobile application functionality, such as offline computing
  • Increase ease of development and deployment of mobile applications
  • As a result, significantly increased mobile adoption in both consumer as well as enterprise usage.

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.

Mobile Ajax is an increasingly interesting new frontier for mobile application runtime. The impact of Ajax on the desktop is naturally being felt on mobile devices as well. However, at present stage, mobile Ajax is fairly immature and there are still lots of work to do before it becomes reality.

XML-based Mobile Application Runtime

Another significant trend is the emergence of XML-based application runtimes that natively supports XML markups such as SVG and others.

XML-based application runtime is a natural extension of the web programming model into a more robust application programming model. Leveraging a declarative syntax, these runtime environments enable a higher level of separation of presentation from business logic. Presentation and static information are described using a declarative markup. Business logic is written using a standard programming language such as Java. Further, the declarative markup can be auto-generated using visual development tools, enabling developers to concentrate on business logic and thus simplifying application development and maintenance.

The followings are a list of activities in this area:

From a commercial product perspective, this is still emerging.

At Nexaweb, we have been working on this area for a few years. Since 2003, Nexaweb has ported its Java-based client runtime to J2ME environments, enabling developers to create mobile applications using a declarative XML syntax by leveraging SVG and other markups while writing business logic using straightforward Java. The following is a screenshot of an application that Nexaweb delivered in 2003.

A Nexaweb Application Running on Java ME

Another interesting offering is TinyLine (http://www.tinyline.com), an SVG toolkit built using Java for Java ME devices. TinyLine is developed by Andrew Girow, whom I have spoken with many times over the last few years.

Java for Mobile Computing

Java is an ideal platform and language for mobile computing:

  • Java is widely supported by an ecosystem that includes many companies – it is a community effort. Though Sun Microsystem has a bigger influence on it than other companies, Java has been a community offering that is beyond any single commercial entity.

However, there is still lot of work to do for Java to become the platform of choice for mobile computing. As a community, we should work together to enhance Java to make it successful.

Advancing the Openness of Mobile Computing

With the advancement of mobile 2.0, I am confident that the community will overcome the technical challenges. There are aspects beyond technology that determines the eventual outcome. One of such aspects is “openness”.

A key value of the web is that it is open. The “openness” nature of the web enables any individual or company to take advantage of it without vendor risks. “Openness” is the thing that enabled the web to become what it is today. -It is also the key goal that we should strive to achieve for mobile computing as a community.

By “openness”, I mean the mobile stack, application runtime in particular, should be based on are open API and open application formats that are not controlled by a single company. Subjecting the community to a single commercial entity is a huge risk for the community and will only throttle the true advancement of mobile web.

“Openness” is a major reason that I am advocating markup language such as SVG vs. proprietary format such as SWF (or FlashLite) for mobile devices. Flash and SVG have comparable feature set and Flash does have a good tool chain. Adobe is strategically pushing FlashLite very hard onto mobile devices. I completely understand why from a commercial perspective and solute to Adobe for what they are trying to do. However, from the community perspective, I don’t’ think we want to see the world being dominated by Flash. I am not saying Flash is bad – I am picking Flash as an example to illustrate the point that the community does not want to see the mobile web being controlled by a single commercial entity. SVG is an open standard with wide industry support from many big companies as opposed to Flash being controlled by Adobe. SVG has multiple vendors providing tools, so there is no vendor lock in. The big advantage in using SVG with Java is that Java is the #1 phone platform and gives you access to a broad set of phone features, allows dynamic execution on the client. And importantly, Java is a community effort. So, when used with SVG it makes a powerful combination.

  • Anonymous

    SVG on mobile? Come on…sounds good in theory. Any real world examples of how people are using SVG? Which companies are supporting SVG? Adobe used to be a big supporter for SVG…apparently they are supporting Flash/SWF in favor of SVG now…

  • Anonymous

    With the advancement of mobile 2.0, I am confident that the community will overcome the technical challenges. There are aspects beyond technology that determines the eventual outcome. One of such aspects is “openness”.
    —-
    canada pharmacy offers you nexium

  • Anonymous

    Hi,
    It is to bring to your kind attention a mobile web 2.0 startup site launched by me which intends to bring the PRETTY BAD internet out there to mobiles in a
    hasslefree manner and it also serves as a personal bookmark engine.
    Moblify.com is a bookmarks engine for mobiles.
    It works with any web URL, WAP site and .mobi site.
    It uses the best mobile transcoders(google,iyhy,Skweezer,Phonifier) available in the market and tap-reduce mechanisms to achieve this.
    Moblify.com is also a bookmark engine that will store all your bookmarks for use on any mobile browser or device.
    And best of all, as most other good web and mobile 2.0 companies , it is FREE.
    For more details, visit http://www.moblify.com
    WAP URL : wam.tw
    Thanks,
    Avinash.

  • gordwick

    I see we have a new term (new for me): “mobile computing”, so this is where the mobile phone industry is heading, it should be interesting. I have a Sony Ericsson mobile phone, and i am fully satisfied: i can listen to music, take pictures, import new items, connect to the internet it has it all. But it's not enough, having a phone computing item can do all this in no time and a lot more than this. Where will all stop?