When HTML5 came along, many developers and application architects saw it as an opportunity to create platform-independent applications, simplify bring your own device support and reduce problems with applications that occur when new mobile device OS versions are released. Certainly HTML5 is a step in the right direction, but it's not there yet. Some attention to detail is essential if any of these goals are to be met. Designers should be aware of the benefits and limitations of HTML5 for mobile apps, proactively track the state of feature support across platforms and design applications to minimize the need for customization.
The qualifier can is significant here, because many developers say HTML5 is not fully mature. It's not surprising that some webpages render correctly in one browser but not in another; that's been true for years with previous versions of HTML. However, HTML5 hiccups are more frequent. Google, for example, for a time could not deliver HTML5 audio correctly for YouTube videos in the Chrome browser. It's difficult to find a central point where differences and difficulties are maintained for developer review, so organizing the approach is important. Developers also say that HTML5 development is a curious blend of webpage design and programming and that best practices lead them toward Web design while application assurance needs pull them toward programming.
A more difficult accommodation is to think linearly in terms of integrating processing and fields. Developers often want to group script and process integration into a block, but separating field-oriented processes in forms can create timing issues that will lead to incorrect results with some browsers. Instead, it's best to think of fields and field processes as a group. That means placing scripts, when they're used, with the pages that use them.
Even careful planning of applications and tuning of practices won't always resolve problems with browser compatibility, especially for developers using complex forms and doing back-end process integration with tools like HTML5's API definitions. HTML5 for mobile apps, at least for now, may actually require more careful attention to application lifecycle management (ALM) than standard applications. First, most users expect to be able to change webpages more often, so there are more opportunities to introduce problems. Second, browsers change more often than mobile device OS versions. Often it's difficult to know just when such changes have occurred. System administrators can get information on browser updates from the vendors, and it's smart to review these updates and to trigger an application test and validation cycle when any change to HTML5 rendering is noted.
Users have often reported that it's easier to sustain HTML5 development with a complete HTML5 framework toolkit than if you attempt to pull together elements of a development process on your own. Aptana is a popular choice for general HTML5 work, and Microsoft's Visual Studio is popular for ASP.NET applications. Whatever tools developers pick, they should expect to install development extensions for browsers where available to help them through compatibility problems.
HTML5 for mobile apps has special considerations. First, memory and performance limitations on mobile devices can have a major impact on complex HTML5 applications. Developers and architects may have to consider page flow and design carefully to keep an application within the constraints of mobile devices. However, if memory isn't a factor, client-side databases that replace remote HTML access can improve performance. Second, beware of embedded objects, scripts and tables -- these are not consistently implemented in mobile browsers. Third, try to use cloud storage instead of cookies; there may be problems with saving cookies on mobile devices, and user settings can impact the applications. Fourth, avoid third-party plug-ins because they may make the implementation brittle.
Developers can do much more with HTML5 without relying on scripts and sprites, and they should. But for now at least, HTML5's flexibility makes webpages more like applications than forms, and users should seriously consider a formal ALM discipline to ensure their mobile HTML5 apps run consistently as devices, browsers and user needs evolve.
Take this quiz on HTML5
Company sought out platform for HTML5 Web apps