Apple's new iPad, already a hit with consumers with its high-resolution display, is nonetheless underwhelming some HTML5 developers. The tablet's iOS 5.1 operating system complicates HTML5 data storage, offers no expanded HTML5 support, and the tablet's Web performance is at best only at par with iPad 2.
It's too much to call these "setbacks" and no one is saying Apple is reneging on its aggressive support for the emerging Web standards that will eventually let browser-based apps behave much like native apps. But for some, Apple's decisions are a compromise they could live without.
Sencha, an HTML5 tools vendor, last week posted its "HTML5 Scorecard" for the new iPad and iOS 5.1, calling the results a "mixed bag" for Apple. The vendor's scoring weighs two criteria: completeness –- how much of the various HTML5 elements are present –- and correctness –- how well it supports these elements, says Aditya Bansod, senior director, product management, for the Redwood City, Calif., software company. The blog post also included results of a pair of Web benchmarks testing the new tablet's Web performance.
"It's still the best HTML5 platform on the market," says Bansod. "But we had hoped for a bigger advance than this [in the new iPad]. Instead, we're treading water and even slid back a bit. That's a little disappointing from Apple."
Complicating Web data storage
One change, first introduced early in 2011 with a beta release of iOS 5.1, limits some aspects of HTML5 local data storage. Data that's locally stored using the HTML5 data storage feature, is no longer regarded by the OS as persistent. That presented a problem for developers using that feature with either localStorage or WebSQL as the storage mechanism. Because the OS no longer sees this data as persistent but temporary, "iOS can destroy it at any time, without warning, including during low memory scenarios," Bansod noted in his blog post.
Web developers quickly picked up on the change last January, in various online forums, including the Phonegap forum on Google Groups, which had one developer posting about his troubles as recently as April 1.
The issue affects a subgroup of iOS apps, sometimes called hybrid apps, which use an embedded WebView. "WebViews power HTML5 applications that live inside of native packages, such as PhoneGap or Sencha Touch native packaging," Bansod writes. "They provide an embedded Web browser that is hosted within a native application, permitting the distribution of Web apps to native app stores. WebViews are a feature of all modern mobile operating systems."
Until iOS 5.1, WebView apps could store data locally, and keep it persistent, using HTML5 storage. "Specifically, if your application used LocalStorage or WebSQL, it was considered part of the application's data," says Bansod. If a new app version was released, this data was still present.