Monday, January 7, 2013

iOS6 Mobile Safari Web Applications - Redux

This blogpost was accidentally deleted a little while ago, but it has been recreated here in response to popular demand!

Sept 9, 2012

As many of you begin upgrading your iPhones, iPads and iPods to iOS 6 over the next couple of days, you may find that a lot of AJAX web apps (not just ours, but also others created with other tools that output HTML, CSS and Javascript) no longer run very well. Symptoms include: missing images, unresponsive interfaces, random disconnects, etc.

Many Web Apps created today use a technique called long-polling to download commands from the server to the browser. This means that, at any given time, there needs to be at least two connections to the same server, one for uploads and one for downloads. 

With iOS6, it appears that the number of allowed concurrent connections per server has been lowered to one.  Being a common practice for these types of web apps, this means that any web application that uses this technique may be affected.

We have filed a bug report with Apple and as of today, its status is "Critical Bug".

As a workaround, users can use Google's Chrome browser for iOS to access your apps.

November 1, 2012 - Update

With the release of Real Studio 2012r1.2, we have a partial fix for this bug. While server originated events are still not working, projects that only use user triggered events work just fine now.

December 4, 2012 - Update

With the release of Real Studio 2012r2, mobile Safari on iOS now uses the HTML5 EventSource events to get updates from Real Studio web apps. There is a major advantage to this new technology...the browser can change the poll rate based on user activity and network conditions which leads to better battery life. As an added bonus, this also allows the browser to hide the loading indicator!

No comments: