AJAX Application Development in Windows Mobile 6.5

Windows Mobile 6.5 significantly improved web application capabilities for mobile developers primarily through the introduction of Internet Explorer Mobile 6. This article explores how the operating system supported AJAX (Asynchronous JavaScript and XML) development, focusing on its updated Trident rendering engine, native XMLHttpRequest integration, improved script execution, and support for installable web widgets.

The Internet Explorer Mobile 6 Engine

Prior to Windows Mobile 6.5, developing dynamic web applications for Windows Mobile was constrained by the outdated Pocket Internet Explorer engine. Windows Mobile 6.5 resolved many of these issues by shipping with Internet Explorer Mobile 6 (IE Mobile 6).

IE Mobile 6 was built on the desktop-grade Trident (MSHTML) layout engine, integrating core components from desktop Internet Explorer 6 alongside backported features from Internet Explorer 7 and 8. This upgrade provided modern web standards compliance, allowing developers to execute standard JavaScript routines, manipulate Document Object Model (DOM) elements dynamically, and utilize CSS for layout presentation without relying on heavy third-party runtimes.

Native XMLHttpRequest Implementation

The core foundation of AJAX—the XMLHttpRequest (XHR) object—received full, standard support in IE Mobile 6. Developers could initiate asynchronous HTTP requests to transfer data in XML, JSON, or plain text formats in the background without requiring a full page refresh.

Unlike earlier iterations that frequently required clunky ActiveX workarounds (ActiveXObject("Microsoft.XMLHTTP")), Windows Mobile 6.5 supported both standard JavaScript instantiations (new XMLHttpRequest()) and legacy ActiveX constructs. This compatibility enabled modern asynchronous programming patterns and facilitated the porting of desktop web applications to mobile devices.

Enhanced JavaScript and DOM Support

Windows Mobile 6.5 included an updated JScript engine (version 5.7/5.8 equivalents), which delivered faster script execution and improved memory management over Windows Mobile 6.1.

Key technical aspects included:

  • DOM Level 2 Support: Developers could reliably traverse and modify HTML elements, attach event listeners, and update partial view states dynamically upon receiving AJAX responses.
  • JSON Serialization: While native JSON.parse() was limited depending on the patch level, the engine efficiently processed JSON strings via lightweight libraries without excessive memory consumption.
  • Third-Party Frameworks: The standard compliance allowed developers to run customized or early versions of popular AJAX and DOM libraries, such as tailored builds of jQuery, Prototype, and Sencha Touch.

Packaged Web Applications (Windows Mobile Widgets)

A major feature introduced in Windows Mobile 6.5 was native support for Windows Mobile Widgets based on the W3C Widget packaging specification.

Developers could build standalone, offline-capable applications using standard AJAX architecture (HTML, CSS, and JavaScript) packaged inside a .wgt (ZIP) archive. The operating system ran these widgets inside a dedicated, chromeless IE Mobile 6 runtime instance, effectively allowing AJAX-driven web code to behave like native applications installed directly on the device.

Handling Hardware and Network Constraints

While Windows Mobile 6.5 brought modern AJAX to mobile devices, developers still had to account for contemporary mobile constraints. IE Mobile 6 lacked the fast JavaScript Just-In-Time (JIT) compilation present in modern browsers, meaning complex client-side data parsing could degrade performance. As a result, standard development practices for the platform favored lightweight JSON payloads over heavy XML structures and aggressive caching strategies to handle intermittent cellular connectivity.