Is 2011 the year of the Mobile Web apps?

By Ajit Jaokar – futuretext and Nick Allott of nquiring minds

With January almost over now and conferences like Mobile World Congress and CTIA upon us, here is a thought.

In the age of Mobile applications, will 2011 will the year of the Mobile Web apps?

In this document, we outline the reasons why and welcome your comments.

Some initial terminology,

  • We refer to apps on specific technologies like iPhone, Android, Blackberry as native apps and we call apps using web technologies as ‘Web apps’ (more on this below)
  • By Mobile Web, we also include widgets – not just browsing.
  • By Web technologies, we mean w3c technologies but more importantly for our discussion, there are a set of emerging web technologies on the horizon such as – CSS2.1, CSS3, SVG Filters, Ogg Vorbis, Ogg Theora, Native JSON, MathML, Animated Portable Network Graphics (APNG), Cross-Site XMLHttpRequest, Microformats, Web Worker Threads (source Mozilla)

Native apps vs Web apps

Native apps have four key advantages:

  • Discovery
  • Revenue model (appstores)
  • Device APIs and
  • User experience

In contrast, for the purposes of our analysis we consider a web based application environment as:

A development environment using well understood, standardised web based technologies for creation of fully fledged applications.

We shall use the following working definition for web based applications:

•          Applications that can run when not connected to the web

•          Applications that can be packaged and distributed, again without assumed connection to the web

•          Application which can make full use of the device capabilities and APIs available on the device

•          Applications that can take full control of the devices UI – and are not rendered with the pre-configured chrome of another application.

•          Applications which can effectively run background processes and present a good user experience to the end user.

•          Applications which insulate the inherent risks of API access with robust security model

Many companies are already developing these models and indeed existing web technologies like HTML4 can also be used to create useful apps

Web technologies have some key advantages for applications:

IPR unencumbered: First and foremost, the specifications on which the web is based are designed to be unencumbered by IPR. This has two immediate positive commercial knock on effects. Firstly, it removes the immediate and absolute requirement to pay licensing fees to proprietary technology owners. Secondly, and perhaps more importantly, it does not bestow any core strategic advantage onto any single company.

Synergies between Open Source and the Web: A partial consequence of the lack of essential IPR on the core technology is that it is easier to create open source assets for. Or, perhaps, it is easier to state the inverse for the Web: it is very difficult to create an viable open source project for technologies on which there is known IPR that may be asserted (simply because there is then an implied liability). It is no accident then that the web ecosystem have been influenced, if not entirely dominated by open source projects such as Mozilla, Webkit and Apache

The Web as a platform: The existence of this public, usable assets, proves a boon to commerce, in that they may be picked up and used by people interested in using the technology, thereby reducing development costs, reducing maintenance costs, and freeing up technical and commercial resource to focus on more differentiation areas, with respect to their competitors. The Web then becomes a platform fulfilling the vision of Web 2.0

Public roadmap: Unlike a proprietary product, the web technology space, whether it is innovating within the W3C forum itself, or within one of the co-dependent open source projects, is fully transparent. This meant the roadmaps, over a reasonable time frame, are fully product. When dealing with device companies (whether mobile, pc, automotive, or home media), their commercial planning horizons are a considerable way out. A public transparent roadmap is clearly a positive thing from this perspective.

Low technical barriers to entry: It is a fact that web programming is easier to get into than more typical native application programming (that typically requires C, C++ or Java skills). Learning basic declarative HTML tag representation, upon which you can slowly build with easily experimental Javacript programming, gives a much softer entry into the programming world. Further, HTML and Javascript as interpreted languages, mean that for a new developer to get started all they need is a working web browser and a text editor. Contrast this with the complex compiler tool chains required to get native development environments up and running.

Although, you could debate that beyond a particular level of sophistication (when you start using complex Javascript libraries, object-orientated techniques and asynchronous programming)whether these differences still exist,  web based technologies mean that instead of being “thrown in the deep end”, you can paddle around in the shallows and immerse yourself slowly, and at you own pace, to the more esoteric programming depths.

Large skills base: The corollary of the above point is that there is a larger skills base for web programmers than native developers. It is hard to find definitive figures to back this statement up, but it would be conservative to estimate that HTML/javascript programmers outnumber Objective C programmers by at least a factor of 10

Large asset base: The near ubiquity of the web, the fact that almost every corporation and organisation has a website, and increasingly now, even individuals means there is massive amounts of content “out there”. To support this content, and strong ecosystem of tools and development applications has emerged (both proprietary tools and open source). The net effect of this, is that any developer looking to create web application content is well supported

Quick to develop for – and faster time to market: Another implication of the simpler technology, and tools base, is that typically web based content can be developed quicker than native content. This has important, valuable time to market implications for application developers and device manufacturers

Easy to deploy: Finally, to complement the development issue, web content typically needs only hosting on a website and is generally instantly downloadable and executable. Although, this process does not obviate the need to do testing on the web application content, it does typically mean that both initial deployment cycle, and subsequent maintenance updates can be issued more efficiently and fluidly than their native application counterparts.

Against these advantages, we have some drawbacks for web application development frameworks

Slow progress on roadmap and new features: One of the inevitable disadvantages of taking technical innovation and feature development out of the hands of a few people in a single company, is that decision making slows down. Consensus is a powerful force, in terms of garnering full industry support around a direction, but can be painfully slow to arrive at.

Remnants of fragmentation: Web technology is infinitely less fragmented than the disparate native development technologies, however, this does not mean that things are perfect. From and application developers perspective, the idiosyncrasies of the browser or runtime base they are using can unleash a myriad of minute problems that need addressing on a case by case basis. The four principle rendering technologies, (Webikit, Mozilla, Opera and Microsoft), whilst all ostensably supporting HTML, have minor difference in the detail of the implementation. These discrepancies fall into two main types

Bugs/lack of consistency in the support of older, legacy technologies such as HTML4

Differences in timing of implementation of the newer and more innovative features

Slow performance: Finally, it is important to understand that Web technology, to date is an interpreted technology. That means the code is expressed in human readable text and that the browser engine, must process this real-time whilst it is executing. (Contrast this with compiled technologies which pre-process the code from the human readable form into a machine efficient representation, optimised for performance.) This means that, web technologies are almost always slower than native development technologies.

Moore’s law, has meant that for a majority of applications, the difference in performance is irrelevant. There are subclass of application, however, those typically requiring high performance and good graphics, such as games, that are currently outside of the web application performance threshold.

But things are changing. The increased use of Just in time JavaScript compilation technologies and the new webgl technologies will make even this distinction narrow in the medium term.

Two resources for tracking these implementation inconsistencies are: quirksmode and Acid3 tests

Evolution of the Web and it’s implications for mobile devices

What does this mean going forward?

When I (Ajit) first spoke about the principles of Mobile Web 2.0, I used to jokingly say that it should be ‘Web Mobile 2.0’ i.e. the web dominates since it often evolves faster than mobile and has a wider reach than mobile

So, if we take a holistic view, then we can see that the evolution of the Web will also impact Mobile and that’s why the idea of web apps is relevant

Here is how these ideas could evolve:

1)  HTML5 is gaining critical mass. There are still some gaps – and development is ahead of the standard but there is industry alignment around HTML5. HTML5 provides both the user experience and the APIs

2)  Chrome labsMozilla labsEricsson labs and Webinos are now driving the evolution of the Web

3)  Since froyo onwards, it has been possible to create a bridge between Chrome and Android to transfer content. Mozilla has similar initiatives through firefox sync. Thus, content could span the Web and Mobile

4) A set of technologies(source Mozilla) are on the horizon – CSS2.1, CSS3, SVG Filters, Ogg Vorbis, Ogg Theora, Native JSON, MathML, Animated Portable Network Graphics (APNG), Cross-Site XMLHttpRequest, Microformats, Web Worker Threads

5)  Serverside Javasript engines like node.jsJaxer and jquery also help spread javascript to the server. This helps the Web since Javascript is a core component of the Web

6)  The apache foundation is also bridging the gaps with initiatives like apache extras

8 )  Initiatives like webinos will fulfil key gaps in Web technologies

9) We are seeing many players some unlikely ones like Skype make a push for the Web next year Skype make a push for the Web next year

Hybrid solutions

Currently, we are seeing the deployment of Hybrid solutions i.e. solutions that use Web technologies for development and can deploy to more than one native platforms for instance Phonegap, worklight and Rhomobile are examples of this trend. Also, we are seeing  encapsulated widgets i.e. apps that are wrapped around web technologies and also companies like Alibro which enable deployment using web technologies even to legacy devices. Thus, the boundaries gaps continue to blur between Web apps and Native apps

Emerging domains

There are many areas in which the Web is evolving: Here are some

1)      hardware acceleration for javascript optimization

2)      Identity and session management are missing on the web. Webinos and other initiatives could provide this

3)      The continued evolution of HTML5 even when it is imperfect Microsoft Offers Unfinished HTML5 Features in Internet Explorer 9 for Developers Only

4)      Social gaming especially facebook games which are based on web technologies

5)      Video and the limitations of video content – for instance YouTube still uses Flash as opposed to HTML5

6)      Connected TV is an important domain ex at CES Opera announced initiatives for connected TVs Opera for connected TVs and so did Access CES – ACCESS Connected TV solutions

7)      Features like two factor authentication Google two factor authentication for the web(and for mobile web)

8 )      Finger friendly web sites(touch based input) and Augmented reality for the web

9)       Mobile javascript libraries like  jQuery, The Dojo Toolkit although many are not yet optimised to mobile and many more The top 10 JavaScript libraries that compete against jQuery

The silent revolution – Vision of web apps

The vision of Web apps will be a silent revolution.Web apps will coexist with native apps.

From the development and design side, developers will write apps that run on many platforms including web apps. From a user perspective, users will see native apps and web apps together. Nokia has done this for a long time including in current versions of Ovi by mixing web run time widgets with regular apps on the home screen of the ovi store and we could view it as below

Conclusions

So, to conclude:

1) The Web is not governed by any entity and that makes it both ubiquitous but slower than proprietary technologies but Web apps are catching up very fast as we discuss above and there will be interim steps with companies like Phonegap and others that use web technologies but deploy on multiple app platforms

2) Both web and apps will coexist

3) Web and open source will provide mutual synergies(chrome, apache, webinos etc)

4) Note that outside of the Web, IPR will still be important in the Telecoms industry – ex in Devices and networks. Standardization is also a complex, multi-faceted process, so our discussion on Standards and Open source is relevant to Web standards

Any comments welcome

Acknowledgements

We would like to acknowledge contributions from forumoxford members especially Robin Jewsbury, C Enrique Ortiz,  Zigurd MednieksMartin WilsonAlex KerrWilliam VolkHenry Sinn

Ajit is speaking at the following conferences

CTIA Mobile web and mobile apps – Orlando

CTIA – future of tablets event – Orlando

M-days – at Messe Frankfurt

ICE amsterdam – Amsterdam

Mobile World Congress – BarcelonaWAC apps at Mobile World Congress 2011


Comments

  1. One thing missing from the list above – how do you measure HTTP traffic performance inside the mobile browser?

    Where are the tools that allow you to see how well your web apps are performing on Mobile?

    Cheers,

    Peter

  2. Good blog and congrats to Nick/OpenGardens.

    I will making a reference to this on an upcoming blog…

    ceo

  3. Dave Mathieson says:

    While I agree strongly with the central theme of the article i.e. that the web is going to (and should) become the best way to deliver mobile content in the future, I have a couple of comments that I’d like to make:-

    re: Low technical barriers to entry – While it is indeed easy to start writing code using HTML and JavaScript, it is also easy to write simple Java (or C++) code. But designing and writing a good web application requires the same amount of engineering ability as writing a native app. And the interpreted and loosely-typed nature of JavaScript means that it’s probably easier to write bugs if you don’t know what you’re doing.

    The point about web-based content being quicker to develop is also debatable. Once a Java or C++ IDE is installed, the developer has all the tools that they need in one place. While great strides have been made in developing JavaScript editors, debuggers etc, the tools are still a lot more fragmented.

    The article also doesn’t take into account the huge range of client- and server-side architectural combinations that are possible with web apps. Picking the right one can be tricky, and the performance of a web app is often more related to this architecture than to simple JavaScript performance, although poorly-written JavaScript will of course slow down your app.

  4. This is a good comparison between native apps vs. web apps. But two comments:

    1. Like most articles on the topic that lean toward web app support, it seems that the revenue distinction is glossed over quickly. But it’s a huge deal. Until there is a better revenue model for web apps than having ads all over everything, some people will prefer native apps simply for the revenue issue. Because a lot content and processes have value, but no everyone wants to punish their users with ads.

    2. NimbleKit is another great way to design native apps with web technologies, is not merely another “wrapped” web app. It uses JavaScript to hook directly into native iOS and Android behaviors and features. (iOS and Android are distributed as separate code libraries) http://www.nimblekit.com and http://www.nimblekit-android.com.

    Disclosure: I’ve written a book for New Riders about designing iOS apps with web standards and NimbleKit (and I also briefly cover, and compare to, PhoneGap). http://iosapps.tumblr.com

  5. James Pearce says:

    > many are not yet optimised to mobile

    But one or two are :-)

  6. ajit says:

    thanks Peter. hope you are well

  7. ajit says:

    :) look fwd to it CEO

  8. ajit says:

    Thanks for your comments Dave. Agree overall especially wrt ‘huge range of client- and server-side architectural combinations that are possible with web apps’.Its still a moving goalpost and early days for webapps kind rgds Ajit

  9. ajit says:

    Kristofer – thanks for the comments. I was not aware of nimnbletalk. shall have a look. thanks for adding it to list rgds Ajit