Welcome!

Machine Learning Authors: Zakia Bouachraoui, Liz McMillan, Roger Strukhoff, Pat Romanski, Carmen Gonzalez

Related Topics: Machine Learning

Machine Learning : Article

Mobile AJAX FAQ - What Is Mobile AJAX?

Mobile AJAX is the extension of AJAX principles to the mobile environment, which includes other constrained devices

The first Rich FAQ we are presenting is the long overdue Mobile Ajax FAQ and was created by Ajit Jaokar, Rocco Georgi and Bryan Rieger. We welcome comments and feedback.

What is Mobile AJAX?
AJAX is a browser technology that involves the use of existing Web standards and technologies (XML/XHTML, DOM, CSS, JavaScript, XHR – XMLHttpRequest) to create more responsive Web applications that reduce bandwidth usage by avoiding full page refreshes and providing a more “desktop application-like” user experience. The term AJAX was coined by Jesse James Garrett in his seminal document at Adaptive Path.

Applications created by AJAX are generally classed in the category of Rich Internet Applications (RIA).

Mobile AJAX is the extension of AJAX principles to the mobile environment, which includes other constrained devices such as gaming consoles or set-top boxes featuring Web browsers. While technologically the same thing, Mobile AJAX is looked at as a special case of AJAX, as it deals with problems specific to the mobile space including the areas of constrained devices and constrained Web browsers in general.

Is there a Mobile AJAX checklist/minimum requirements?
The mere existence of JavaScript in the browser is not enough. There has to be a clear distinction between JavaScript and Ajax support. There are many examples where a Web browser might very well support JavaScript, but may still be incapable of using AJAX techniques.

At a minimum, the requirements for Mobile AJAX include:

  • JavaScript support
  • XMLHttpRequest object or equivalent ActiveX (for IE only)
  • DOM manipulation functions or innerHTML support (to display request results)

What does Mobile AJAX look like?
On the one hand, Mobile AJAX will be transparent to the end user. For instance, all Nokia devices supporting the S60 and Opera browsers support AJAX – but that makes little difference to the end user. On the other hand, Widgets are enabled by Mobile AJAX. Thus, the visual (end user) manifestation of Mobile AJAX may be in the form of Widgets or rich browser-based applications such as we see on new Nokia phones or Opera browsers.

Why should one do AJAX on mobile phones / what problem does it solve?
The reasons to use AJAX are the same as those to use it on the desktop:

  • Better user experience without having to resort to proprietary runtime technologies.
  • Less data/bandwidth being consumed sending redundant wrapper code (page layout).
  • Using open standard Web technologies you are already familiar with means less training and a faster time-to-market.
  • Creation of simple, applications via Widgets

What other options are there in addition to Mobile AJAX?
In general almost any programming language and runtime (or virtual machine) can be used to achieve results comparable to those of Mobile AJAX techniques. The list of alternatives varies with the focus shifting to different features such as cross platform capability, open standards usage, development efforts, cost, and deployment methods, etc., depending on the vendor.

The following is a list of current alternatives to Mobile AJAX:

Java ME (J2ME)
Currently the most ubiquitous runtime available for mobile devices by far, but also the most fragmented in terms of feature and specification support between vendors and devices. Things are improving as many OEM vendors are investing heavily into making the Java “write-once-run-anywhere” dream on devices a possible future reality. The recent decision by Sun to open source Java may result in more capable and compatible versions down the road, and initiatives such as OpenLaszlo + Sun’s ‘Project Orbit’, or JavaFx may enable developers more familiar with Web technologies (rather than mobile Java development) to deploy directly to Java-enabled devices in the future.

Flash Lite
Flash Lite is Adobe’s ubiquitous runtime for the SWF format specifically designed for use on resource-constrained devices. While Flash may be installed on nearly all desktop and laptop computers today, it is currently only available on a small number of mobile devices, namely higher-end smartphones and PDAs.

Early releases of Flash Lite supported a very limited version of ActionScript, which proved frustrating to many developers. More recent releases are closely following the versions of Flash and ActionScript that are found in widespread use today on the Internet, this in turn is expected to increase developer interest in the use of the Flash Platform on devices.

How do Flash Lite and Java compare with Mobile AJAX?
Java often requires code variations for different devices and vendors, not to mention variations in the Java implementation itself (MIDP 1, 2, CLDC). These variations often allow Java applications to better take advantage of device hardware such as cameras, Bluetooth, and 3D graphics, but they fragment the implementation.

Flash doesn’t typically require variations in code like Java, but may require variations in visual layout to provide an optimal user experience on varying devices. Newer versions of Flash Lite are working to minimize the additional visual layout work often required for varied screen sizes.

Mobile AJAX applications should work with the same code across varying devices and, through the use of cascading style sheets (CSS), the visual layout should adapt as required on a wide variety of devices. However, see limitations/hurdles of Mobile AJAX below.

Some browsers (Nokia S60) are expected to have plug-in support for Flash Lite in future releases. If such scenarios occur, Flash Lite could be used to complement Mobile AJAX applications in much the same way Flash and AJAX are often used together on the desktop Web.

What is the difference between AJAX platforms, frameworks, toolkits and libraries?
AJAX platforms, such as the Opera Platform or NetFront’s Embedded Ajax, when installed on the device, make it easy to develop applications and widgets using standard Web technologies, including Ajax.

There is, however, a big difference between platforms on the one hand and frameworks, toolkits, or libraries on the other. While the latter are usually loaded along with the Web application into the browser each time, i.e., in the form of an external JavaScript file, platforms are typically installed once on the device and then loaded as required by the applications run on top of it. For example, Opera Platform widgets require the Opera Platform while Nokia Widgets require the S60 platform.

What existing Mobile AJAX frameworks, toolkits, and libraries should I use?
Currently there are no specific Mobile AJAX frameworks, toolkits, or libraries.

All that is required for AJAX on mobile devices is support for:

  • HTML
  • JavaScript
  • XHR - XMLHttpRequest
  • DOM - Document Object Model or at least innerHTML support

One library, specifically aimed at providing an abstraction for AJAX functions for constrained Web browsers, is currently under development by PavingWays. The library called “Frost” is an open source project and will be released under an MIT license in mid-2007.

Can I use existing frameworks, libraries, and toolkits?
Some existing frameworks, libraries, and toolkits may indeed work on some mobile browsers. Generally however, these libraries require too much memory and implement features that may simply never be used on a mobile device (i.e., drag + drop).

With increasing mobile browser capabilities, this will become less of an issue as browser vendors are already aiming to make their next-generation browsers work with these toolkits; however, the overhead is still there. It can be assumed that some of these frameworks will release mobile versions, so it’s more a question of when will we begin to see mobile-specific browser support within these libraries and toolkits.

More Stories By Ajit Jaokar

Ajit Jaokar is the author of the book 'Mobile Web 2.0' and is also a member of the Web2.0 workgroup. Currently, he plays an advisory role to a number of mobile start-ups in the UK and Scandinavia. He also works with the government and trade missions of a number of countries including South Korea and Ireland. He is a regular speaker at SYS-CON events including AJAXWorld Conference & Expo.

More Stories By Rocco Georgi

Rocco Georgi is a Web developer and co-founder of PavingWays. He is a frequent speaker at (un)conferences and the creator of the Frost Ajax Library - a minimalist Ajax library for constrained browsers.

More Stories By Bryan Rieger

Bryan Rieger is an interactive designer and co-founder of Yiibu, a mobile content and design company located in Edinburgh, Scotland.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


CloudEXPO Stories
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected path for IoT innovators to scale globally, and the smartest path to cross-device synergy in an instrumented, connected world.
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
ScaleMP is presenting at CloudEXPO 2019, held June 24-26 in Santa Clara, and we’d love to see you there. At the conference, we’ll demonstrate how ScaleMP is solving one of the most vexing challenges for cloud — memory cost and limit of scale — and how our innovative vSMP MemoryONE solution provides affordable larger server memory for the private and public cloud. Please visit us at Booth No. 519 to connect with our experts and learn more about vSMP MemoryONE and how it is already serving some of the world’s largest data centers. Click here to schedule a meeting with our experts and executives.
Darktrace is the world's leading AI company for cyber security. Created by mathematicians from the University of Cambridge, Darktrace's Enterprise Immune System is the first non-consumer application of machine learning to work at scale, across all network types, from physical, virtualized, and cloud, through to IoT and industrial control systems. Installed as a self-configuring cyber defense platform, Darktrace continuously learns what is ‘normal' for all devices and users, updating its understanding as the environment changes.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the modern business digitalization solutions. Achieve up to 50% early-stage technological process development cost cutdown with science and R&D-driven investment strategy with Codete's support.