Bad news: iOS 7's HTML5 is full of bugs

'This is the buggiest Safari version since 1.0,' says one HTML5 development expert

Page 2 of 2

Mullany's company uncovered a CSS-related bug in which requestAnimationFrame animations don't suspend correctly. "When you have an animation on an active page and switch to another page, the animation doesn't stop -- and it should," Mullany told InfoWorld. Also, "in the rush to get iOS 7 out the door, making sure SVG animation via JavaScript was fast seems to have been dropped. Animating SVG with JavaScript is now a hit-or-miss proposition," he told us.

Another issue involves inconsistent rendering after rotating content, which Firtman noted in Safari and Mullany noted in other apps. Mullany also cited the following issues:

  • Launching and quitting the same home-screen app several times can hard-lock the device, requiring a hardware reboot.
  • On iPad, if the document body is set to 100 percent height, content is shifted upwards by 20 pixels in landscape mode. This can be worked around by calling window.scrollTo(0, 0) on the orientationchange event.
  • In certain cases, resizing a composited layer (an element with 3D transform) does not repaint it correctly. Instead, the cached bitmap is stretched.
  • Scripts running within Web Workers are not suspended unless either the originating page is explicitly killed, or the Safari process is explicitly terminated. The three techniques you'd expect -- switching to another tab, minimizing Safari, or turning off the screen -- don't stop Web Worker execution. "This is a serious issue that allows any Web page to drain the battery of an iOS 7 device and slow down performance of the whole system without a user alert," Mullany wrote. It may be related to iOS 7's new multitasking feature, which keeps app running when you switch to others rather than suspending them as before -- except for a small number of background services that Apple allows to keep running.

Firtman has many other complaints, although most are not bugs but frustrations due to the new look of iOS 7 as well as Safari's full-screen mode, which causes several common hacks not to work any longer.

One example is that you can no longer use JavaScript to explicitly hide the menu bar; it auto-hides now. He's also upset that Safari no longer shows the actual page URL, just that of the website, so it's harder for users to know where they are in a site hierarchy. (The full URL becomes visible if you tap the URL field, the action used to enter a new URL.) Firtman also details the new capabilities in iOS 7's HTML5 implementation, which he said Apple has poorly documented.

This story, "Bad news: iOS 7's HTML5 is full of bugs," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.

| 1 2 Page 2
From CIO: 8 Free Online Courses to Grow Your Tech Skills
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies