Performance of Ajax Applications on Mobile Devices
My Master's Thesis was formally approved by the Department of Computer Science on the 3rd of March, 2008. The grade was eximia cum laude approbatur. Professor Kimmo Raatikainen was the original instructor, whereas prof. Jussi Kangasharju supervised most of the latter refinements.
The full thesis will be available as an OpenDocument Text (OpenOffice.org) later. For now, a copy is available in the PDF format:
The PDF version is also available through the University's E-thesis archive.
-- Pervilä
Errata
In the XML 2006 Event Schedule measurement, the poor performance of the S60 Web Browser seems to be caused by the use of heavy CSS layout. According to the author(s), data is transferred through AJAH callbacks, not XML.
Abstract
The Ajax approach has outgrown its origin as shorthand for "Asynchronous JavaScript + XML". Three years after its naming, Ajax has become widely adopted by web applications. Therefore, there exists a growing interest in using those applications with mobile devices.
This thesis evaluates the presentational capability and measures the performance of five mobile browsers on the Apple iPhone and Nokia models N95 and N800. Performance is benchmarked through user-experienced response times as measured with a stopwatch. 12 Ajax toolkit examples and 8 production-quality applications are targeted, all except one in their real environments. In total, over 1750 observations are analyzed and included in the appendix. Communication delays are not considered; the network connection type is WLAN.
Results indicate that the initial loading time of an Ajax application can often exceed 20 seconds. Content reordering may be used to partially overcome this limitation. Proper testing is the key for success: the selected browsers are capable of presenting Ajax applications if their differing implementations are overcome, perhaps using a suitable toolkit.
ACM Computing Classification System (CCS):
C.4 [Performance of Systems]: Performance attributes;
H.3.5 [Information Storage and Retrieval]: Online Information Services---Web-based
services;
H.5.4 [Information Interface and Presentation]: Hypertext/Hypermedia---Architectures,
Navigation, User issues;
H.5.2 [Information Interface and Presentation]: User Interfaces;
D.3.2 [Programming Languages]: Language Classifications---Concurrent, distributed, and
parallel languages, JavaScript;
C.2.4 [Computer-communication Networks]: Distributed systems---Client/Server, Distributed
Applications

