A Web Developer’s Wishlist for iOS 5
With Apple’s Worldwide Developer Conference 2011 just a few weeks away, we thought it would be a good time to think about what they might announce at the sold-out event. Like many, we’re assuming that the company will be making some significant improvements to its iOS platform, and we will watch excitedly for things like wireless sync, cloud-based music, the mythical near-field-communication (NFC), and the like.
Given the Sencha commitment to the success of the web, we thought we also should take a special look at what we’d like to see added to the iPhone’s and iPad’s web browser in coming years.
Mobile Safari was a seminal web browser when it was launched as a flagship application of the first generation iPhone an astonishing 4 years ago. It opened an industry’s eyes to what was possible on mobile devices: a silky user interface, smooth viewport scaling, touch gestures, and hardware graphics acceleration that is still barely matched today by other platforms.
“Here are eight things we would love to see announced for the iOS browser at Apple’s WWDC keynote in June…”
In 2011, we think that mobile web technology is firmly back in play, and an area of renewed attention for many developers. We think Apple has a great opportunity to build again on the platform’s original prospect of first-class web applications.
With that in mind, here are eight things we would love to see announced for the iOS browser at the famous keynote in June:
Camera Access (and more device APIs)
The mobile web becomes a very exciting place when browsers provide access to underlying device capabilities. Yes, the standardisation process is taking time, and yes, many should require users’ approval — but device APIs have a disproportionately positive effect on making the web a first-class medium, and web apps ever more indistinguishable from their native brethren. Accelerometer support in iOS 4.2 was a glimpse of the future, but we relish the possibilities that media capture, messaging, calendar and contact access might bring. Some sort of File API would be excellent, but even <input capture="camera" /> would open up huge potential for new and novel applications.
overflow:scroll. Sencha Touch makes it easy to develop apps with fixed tool bars and inner scrolling, but having native browser support for these properties would be useful, especially if done in a way which plays well with viewport and orientation changes. And is grid layout a possibility for building applications that adapt to different screen sizes?
Conversely, some apps (particularly games) are often designed to be used only in one orientation or another. Unlike native apps, there is currently no way for an iOS web application to prevent viewport rotation, and the ability to enforce this would be a welcome addition to the web runtime. Also, viewport settings currently have to be prescribed in markup, and we’d like to see them overridden in vendor-specific CSS, where they probably always belonged.
Hybrid App Support
Web Workers & Notifications
We’re not exactly sure if our iPhone needs a prime number generator, but it would genuinely be fantastic to be able to have parts of a mobile web application running independently of the user-interface, or in a way that continues even when the user switches away from the browser. Of course there needs to be consideration for battery consumption, but being able to poll and compute in the background would allow web apps to become ever more pervasive. Imagine web apps that can generate system notifications when messages or social interactions arrive, that can hook into enterprise workflow systems, that detect asynchronous changes to the device’s environment, or that even just augment a device’s calendar or alarm clock functionality.
Enough said: when your users have a beautiful touch-based device, it feels like they should be able to move things around on it. Of course Sencha Touch provides a drag and drop library in the meantime, but we would like to see a standard implementation in the browser itself.
Browser UI Improvements
After all this talk of application runtime support, it seems parochial to talk about the browser’s user interface itself. But why not? We’d like to be able to open more than 8 tabs on the iPhone, for example. It would be nice not to have them automatically refresh when re-opened, particularly when the device knows it’s offline. And how about a unified address and search bar? More important than all of this would be more a more powerful debugging environment for the browser: perhaps with a remote web inspector as part of OS X Safari or Xcode.
What improvements would you like to see in the iOS browser?