AjaxWorld Magazine: AJAX for Mobile Devices Will Be the Hallmark of "Mobile Web 2.0" in 2006
Why Mobile AJAX Will Be Preferred Over Java ME and XHTML
By: Ajit Jaokar
Apr. 6, 2006 11:00 AM
Recently, Opera announced the availability of AJAX on mobile devices through their browser. Considering the popularity of Opera in the browser market (especially in the mobile browser market), this announcement is indeed very significant. Having been involved in creating mobile services for a few years now, I believe AJAX will replace both Java ME and XHTML as the platform of choice for developing mobile applications.
Before I do so, a caveat – I believe that Mobile Web 2.0 is far more than ‘AJAX on mobile’. Mobile Web 2.0 involves applying all seven of the Web 2.0 principles to mobility. Here, I am discussing AJAX only i.e. only one facet of Web 2.0.
What is AJAX?
Until AJAX came along, it wasn't easy to replicate the rich and responsive interaction design of native applications. AJAX is different from other previous attempts in addressing this problem since it is based on existing, non-proprietary standards which are already familiar to developers.
In traditional web applications, most user action triggers an HTTP request. The server does some processing and returns the result back to the user. While the server is processing, the user waits! The ‘start-stop-start’ nature of web applications is good from a technical standpoint but not from a user interaction standpoint (since almost all user interaction is resulting in trips to the server and the user is waiting while the server is doing the work).
AJAX is ‘asynchronous’ in the sense that the AJAX engine is communicating with the server asynchronously to the user interaction. Thus, the user gets a seamless experience (i.e. the user is not waiting).
There's a momentum behind AJAX at the moment. Developers are already familiar with the technologies underlying it. All the technologies making up AJAX are mature and stable. AJAX is the foundation for many new applications on the web like Google suggest, Google Maps, some features of Flickr and Amazon’s A9.com.
Mobile Application Development Models and Their Shortcomings
Additionally, it has the developer community behind it – which is a significant plus!
Let's consider existing mobile applications development. There are two principal ways to categorize mobile applications – Browsing applications and Downloading applications. There are others (like Messaging applications, SIM applications and embedded applications) - but a vast majority of the applications we see today fall under downloading or browsing applications.
Browsing applications: Browsing applications are conceptually the same as browsing the web but take into account limitations which are unique to mobility (for example - small device sizes). Similar to the web, the service is accessed through a microbrowser which uses a URL to locate a service on a wireless web server. The client is capable of little or no processing.
Downloading applications (Smart client applications): In contrast to browsing applications, downloading applications are applications that are first downloaded and installed on the client device. The application then runs locally on the device. Unlike the browsing application, a downloaded(or smart client) application does not need to be connected to the network when it runs. Downloading applications are also called ‘smart client’ applications because the client(i.e. the mobile device) is capable of some processing and / or some persistent storage (caching). Currently, most Java based games are downloaded applications i.e. they are downloaded to the client, require some processing to be performed on the client and need not be always connected to the network. Enterprise mobile applications such as sales force automation are often also examples of smart client applications.
Java ME is the most common mode of developing downloading applications and XHTML is most common way of developing browsing applications. Let's elaborate on the problems I have outlined before and then discuss how AJAX will solve them – potentially making XHTML and Java ME less relevant.
Problem One - Market fragmentation
This can come about either by a single proprietary standard such as BREW from Qualcomm (which obviously has its disadvantages) or through open standards not controlled by any one entity with few industry barriers.
To illustrate how market fragmentation affects commercial viability of a new service, I often recommend the following approach (most of the figures can be easily obtained from the web). The idea is to think in terms of ‘concentric circles’ in trying to find out the target audience for your application.
This will give you your target audience, and this target audience times number of potential downloads per month should give you an idea of your monthly revenue. This could then be tied against your cost base including your development costs, porting costs etc to arrive at a more tangible picture of success/failure of the new service.
The above methodology illustrates the problem of fragmentation and it implies that very few mobile services are profitable today. Thus, we have a proliferation of ‘broadcast content applications’ – e.g., ringtones, pictures but very few utility applications at a mass-market level.
Problem two - Porting woes
First the good news...
BUT then the pitfalls ..
This limits the business model severely and very few mobile games are profitable. (Author's note: original source for this section as per my blog Porting – the big barrier to entry with acknowledgements to Sameer Bhatia as per the blog)
Problem three - Application distribution without walls
Why Will AJAX Replace Java ME and XHTML As the Preferred Mobile Development Platform?
Anyone can download a browser for a smartphone as this Opera link shows for series 60 phones. This means all customers can potentially install their own browser and if enough people do, then we have critical mass with few ‘choke points’ – such as specific restrictions created by mobile operators. In other words, a means to bypass the walled garden.
Further, AJAX offers a superior user experience and already has the developer community supporting it. The possibility of attaining critical mass (due to fewer choke points) means more chance of monetizing the application – leading to a virtuous circle of better applications.
Java ME as it stands today is seriously flawed (not the technology but the business model). XHTML will be an ‘also ran’ because AJAX will offer a superior user experience. Hence, my belief that AJAX will be the preferred platform of choice for mobile applications at the expense of Java ME and XHTML.
Finally, note that I say AJAX will be ‘preferred’ model and not the ‘only’ model. I don’t expect AJAX to replace either Java ME or XHTML.
Reader Feedback: Page 2 of 2
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week