Software user interface prototyping is often done in technologies such as Adobe Flash and Qt QML, but with the recent popularity around HTML5 has made it a replacement for the previously used technologies. While HTML5 related prototyping is getting more popular, the final implementation is done natively and the prototype code is thrown away. The research wanted to clarify the current situations for building HTML5 hybrid applications with the five most popular platforms.
The upgrade cycle of the mobile device platforms is getting faster and the support for HTML5 related development models is becoming widely available. The native solution from each manufacturer can be expected to have access to the most features that are available in the given platform. With HTML5 there are limitations since the user interface needs to be rendered from a WebView class of the given platform that may or may not allow deeper access on the device.
Research was defined by a broad question:
Could HTML5 and related technologies lower the costs of implementing User Interface design in different mobile platforms today?
This research evaluated the possibility of using a single user interface technology across the most popular mobile device platforms. Up until now, each platform has provided their own way for building applications and their user interfaces. Nokia adopted Qt framework with QML for Meego and more recently Silverlight with XAML for Windows Phone platform, Google uses Java with proprietary XML files for Android and RIM offers native C++ for their Blackberry devices.
Finally, the one platform that made mobile applications popular, Apple uses proprietary Objective-C for iPhone and iPad. Windows Phone 7 for example has a security model that prevents any additional access to the device hence making the HTML5 application to be as any web site in the native browser. Windows Phone 8 upgraded the development environment remarkably and allows similar HTML5 development path as the other platforms via native wrappers.
The costs of the development are usually made up of engineering time, tools and number of people. This research touches mainly the tool area since technologies are the tools of the engineer [1:4]. One commonly used method in user interface development is the iterative development cycle as shown in Figure 1. The user experience (UX) is designed, prototyped in HTML5, rewritten in native code and tested first against code related tests, then user interface tests by the UX team. There could possibly be user interfaces tests comparing the prototype and the native.
Figure 1. Iterative software development progress 
The environment where prototypes are initially run is a desktop web browser. Later in the development iteration cycles, the prototype is usually used in the targeted mobile device, but still in the web browser surrounding. If the platform makes it possible, finally the prototype is wrapped inside a native application for accessing real device data. This research also covered testing each platform against the current HTML5 specifications in order to evaluate how much of the same code made for prototypes or similar web pages could be used in the mobile device.
The mobile device platform selection was based on the current market shares. The research covered the following four platforms:
Tablets were not taken within the scope of the research, although all of the selected mobile platform manufacturers have already released or are planning to release tablet devices using the same operating system as their smartphones. CSS3, however, has a module suitable for handling different screen sizes via media queries.