Apple handcuffs 'open' web apps on iPhone home screen

March 17, 2011 - 0:0

Exclusive Apple's iOS mobile operating system runs web applications at significantly slower speeds when they're launched from the iPhone or iPad home screen in ""full-screen mode"" as opposed to in the Apple Safari browser, and at the same time, the operating system hampers the performance of these apps in other ways, according to tests from multiple developers and The Register.

It's unclear whether these are accidental bugs or issues consciously introduced by Apple. But the end result is that, at least in some ways, the iOS platform makes it harder for web apps to replace native applications distributed through the Apple App Store, where the company takes a 30 per cent cut of all applications sold. Whereas native apps can only run on Apple's operating system, web apps – built with standard web technologies such as HTML, CSS, and JavaScript – can potentially run on any device.
""Apple is basically using subtle defects to make web apps appear to be low quality – even when they claim HTML5 is a fully supported platform,"" says one mobile web app developer, who asked that his name not be used.
Apple did not respond to multiple requests for comment. If a web app is run from the iOS 4.3 home screen – in other words, if it is saved to the screen alongside local apps downloaded from the Apple App Store – and launched into full-screen mode, it runs roughly two to two and a half times slower than it does in the browser, according to various tests. It appears that whereas Apple has updated the iOS 4.3 Safari browser with its high-speed Nitro JavaScript engine, Nitro is not used when web apps are launched from the home screen.
""Essentially, there are two different JavaScript engines,"" says Alex Kessinger, a mobile application developer and blogger who has focused on building web-standards-based apps for the iPhone. ""They're not using the new JavaScript engine with applications that launch from the home screen.""
What's more, such ""home screen web apps"" can't use various web caching systems, including the HTML5 Application Cache, which means they can't be cached to run offline. And they aren't rendered using Apple's newer ""asynchronous mode"". They're saddled with the old ""synchronous mode"", which means they don't quite look as good.
Though the company did not respond to our inquiries, Apple is apparently aware of all three issues involving home-screen web apps. According to Apple developers posting to the web, the speed issue has been discussed in the company's developer support forums, and one developer – the same unnamed developer quoted above – confirms with The Reg that multiple bugs have been filed on the issue.
He also says that bugs have been filed on the cache and asynchronous mode issues – and that he's actually discussed the problems with Apple. ""I've talked to people on the Mobile Safari team who said they knew about the (caching) issue,"" he tells us. The caching issue is discussed on the popular developer site stackoverflow.
All three issues also affect native iOS web applications that uses Apple's UIWebView API – i.e., native applications that tap the web in a big way. ""(UIWebView) is a controller that you can include in your app to offer web content,"" says Alex Kessinger. ""Some people write their entire app in HTML and then just bundle it for inclusion in the App Store.""
Last year, as Apple boss Steve Jobs defended the company's decision to ban Adobe Flash from the iPad and the iPhone, he told the world that Apple believed in ""open"" web standards. ""We strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript,"" Jobs said in his famous ""Thoughts on Flash"" open letter.
""Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.""
But at the same time, the company has a vested interest in its App Store, where it takes a 30 per cent cut of all applications sold, and pure web applications are ultimately a threat to the store, particularly when they're loaded to the iOS home screen as if they were local apps. ""Some people like to think of it as a conspiracy theory, but it could be a bug,"" Kessinger says, referring to the speed issue. ""If it is conspiracy, it makes a lot of sense for Apple. If you 'disallow' home screen web apps, you prevent people, in a way, from bypassing the App Store.""
(Source: The Register)