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 recent years, iPhone and iPad developers have generally focussed on creating native apps, and have often forgotten the potential of the platform’s web browser. But Apple has quietly continued to increment its capabilities — most recently accelerating its JavaScript engine significantly in iOS 4.3, making compelling web apps as viable as ever.
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. -
WebGL
The current iOS DOM API shows a glimpse of support for more powerful graphics, with the presence of a mysterious WebGLRenderingContext class, so we think there’s a good chance this is coming. WebGL would suddenly provide JavaScript developers with an opportunity to create rich, graphic-heavy games, simulations, and other applications. If nothing else, we’re looking forward to being able to run our PhiloGL demos in the palm of our hand. As it happens, <canvas> is already used by a number of web-based games for iOS, so we’d be encouraged to see that element’s performance being a focus as a whole. -
CSS Improvements
There is a cottage industry of JavaScript hacks to overcome the lack of a few critical CSS properties — in particular position:fixedandoverflow: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? -
Viewport Improvements
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
We love the concept of hybrid apps: those built with web technology and still distributable via the App Store through the use of a native wrapper or bundling tool. But at some point we hope to see this concept supported by Apple themselves, perhaps with tighter integration of web technologies into the Xcode developer environment, and of course in conjunction with more native JavaScript APIs. We’d also like to see the ‘Add To Home Screen’ concept given more prominence, perhaps making it easier for HTTP-based apps to indicate or mandate that they require a full-screen, native-like runtime context. Oh, and we hope to see the performance benefits of iOS 4.3’s Nitro JavaScript engine coming to home screen web apps too!
-
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.
-
Native Drag-and-Drop
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.
So that’s our wishlist. Yes, we know a few of these are still going through the standardization process — but that process goes hand-in-hand with browser innovation, and Apple does a great job of pushing this particular envelope. The potential of HTML5, CSS3 and JavaScript — especially with frameworks like Sencha Touch — means that using web technologies for rich user experiences is now as viable as ever. We believe that the iOS browser will show the way, and are looking forward to hearing all about it next month.
What improvements would you like to see in the iOS browser?


There are 48 responses. Add yours.
François
2 years agoMy most wanted “feature”: more cache, more cache, more cache… this is the most painfull thing for webapps: reloading when re-focused after browsing other websites or apps. A basic cache management from 0 to up to (why not) 1Gb!!??
Henry Koren
2 years agoMy bet is that Apple’s not going to give you any of this because it will diminish the necessity of apps.
I’d like the ability to have rich text inputs so that things like the WYSIWYG WordPress post editor work
Mark Kawakami
2 years agoWhat’s “overflow: fixed”?
Kenneth Christiansen
2 years agoI would like support for the Fullscreen spec. I also think that the place it makes most sense to add the orientation lock would be to that spec, as it is quite useful for making real apps. Orientation can be implemented in the webapp itself using the DeviceOrientation/Motion spec.
Personally I think the fullscreen spec should have a way to enter a locked fullscreen state, like
requestFullscreen(HORIZONTAL)
[1] https://wiki.mozilla.org/Gecko:FullScreenAPI
Joe Lambert
2 years agoMy main wish is for proper handling of `overflow: fixed`, this really has to be in iOS5!
Few other thoughts/requests here: http://bit.ly/kBUGwz
Giulio Roggero
2 years agoPublish HTML5 applications to Apple Store without using the iOS SDK or open source projects like phone gap (great tool!).
Eric
2 years agoNot so much a developer wish, but I personally can’t stand how notifications disappear after the unlock swipe. It’s such an automatic thing to hit home button and swipe, that I often miss notifications. Keep them in screen until the user acknowledges the notification.
Tim
2 years agoDitto what Henry said. Apps are a cash cow for Apple, and they are more interested in becoming the next Microsoft with an even bigger fence around the garden. Web-based Apps poke holes in that fence.
All of this would be awesome, but we’ll see it on Android or WebOS before we see it on iOS.
SmaMan
2 years agoAs much as I know this won’t ever happen… I want Flash. Sure, HTML5 is the next big thing, but even its own developers admit that it won’t be fully implemented for another decade or so. Until then, Apple needs to embrace Flash. It’s not going away anytime soon, and it’s the main point its competitors are embracing. Listen the next time you hear an ad for a non-Apple smartphone.
Add that and the ability to download and the iPhone will be completely irresistible.
James Pearce Sencha Employee
2 years agooverflow:fixed is like overflow:scroll with poor copy and paste
It’s now, er, fixed.
James Pearce Sencha Employee
2 years agoWe appreciate that native apps have been a lynchpin of third party development and a huge contribution to the success of the platform.
But we’re thinking ahead here - the wind is changing - and bullet 5 could easily be a way in which web apps (and JavaScript) become a first-class environment on the platform without disrupting that success.
a) the languages and technology used to develop apps, b) the way in which they are distributed, and c) the way in which they make money - these can in theory be orthogonal vectors.
Jay Garcia
2 years agoAll of this and nothing for tap event speed enhancements?
dave
2 years agoGreat suggestions.. sign me up.
Andy Fuchs
2 years agoWebSockets!
Giulio Roggero
2 years agoAndy, correct me if I’m wrong but WebSockets are alredy in Safari iOS 4.2 - http://developer.apple.com/technologies/safari/html5.html
Paul
2 years agoworking contenteditable!
Jay Robinson
2 years agoJay Garcia, from your tweets it seems you’ve had a lot of experience with tap event speed on Mobile Safari. I’d be interested to read what you’ve uncovered.
BrianMB
2 years ago“My bet is that Apple’s not going to give you any of this because it will diminish the necessity of apps.”
This is correct. It kills me inside, because so much of HTML5 was spawned directly from iOS 1’s web-exclusive approach to applications. Apple has changed their focus drastically.
webOS has picked up the torch, but its paltry marketshare doesn’t help the cause.
BrianMB
2 years ago“Andy, correct me if I’m wrong but WebSockets are alredy in Safari iOS 4.2”
You aren’t wrong!
Pierre Tessier
2 years agoI second the “better” hybrid app support. iOS 4.3 Nitro engine made Safari awesome, but Hybrid apps still suffer. I’d like to see that engine brought into native apps that implement UIWebView to make them even slicker.
From Apple’s perspective, if the App machine is what they want, bringing in tools into XCode to quickly wrap an HTML app with a native chrome interface to be hosted and sold on the App Store makes everyone happy. The developers can get revenue (shared with Apple) and can minimize their development efforts for other platforms, and users get the “native” apps they think they want.
I would also like to see general UI improvements to the Safari interface. Not just a unified address bar, but also tabbed browsing, maybe even hints of what Chrome and Firefox are doing with the desktop and an auto-hide URL bar. This is particularly important for the tablet version of iOS.
James Pearce
2 years ago@Andy - I think you’re good with websockets as of 4.2. Go crazy
Andy Fuchs
2 years ago@Giulio: You’re right! I overlooked the iOS 5 - portion of the question a bit. - I meant cross-browser/platform WebSockets. Currently it’s only useful on some browsers….
Sébastien Blanc
2 years agoI vote for the camera and websockets !
Michael Galpin
2 years agoBy “more native JavaScript APIs” do you mean an actual API between native apps and the JavaScript runtime of UIWebViews? The current state where the only way to communicate between a UIWebView and its host controller is through ridiculous URLs is an absolute embarrassment. If you are interested in building hybrid apps, then I would expect that to be #1, #1a, and #1b on your wish list. I would suggest that they just copy how Android does this, but that would be too easy.
James Pearce
2 years ago@Michael, I’d really meant vice-versa: the ability for JavaScript apps *inside* a browser or UIWebView to talk outwards (to platform APIs, but also, I suppose, other native apps’)
But… your point is a very good one too. Presumably this might involve listening for DOM events etc?
Steffen Hiller
2 years agoIn case Apple, Android & Co don’t step up their game,
plan B could be that you just make a Sencha Touch OS which basically just runs your custom WebKit engine, optimized for Sencha Touch, and which runs on every mobile device.
A Sencha Touch mobile browser (which would be easier) wouldn’t make much sense since the App Stores just reject it.
Go!
Derek J. Kinsman
2 years agoContenteditable and localStorage. But, I wouldn’t count on seeing any improvements to Safari that could conflict with the best interests of native apps.
Your list of 8 is my list of 8. Basically, I want the best browser ever.
Silvio Porcellana
2 years agoI think it all boils down to this: does Apple believe it can make any money from web/hybrid apps? If they embrace your vision, James, then we are in for some nice surprises (I’d expect device API to be on top of the list). Otherwise, we will be stuck with what we have for quite a long time (they might announce “great improvements” like tabbed browsing - how’s that going to improve my web app is another story…). And, given that what we have is Sencha Touch, I wouldn’t cry too much.
Matias Larsson
2 years agoHow about working file upload buttons in iOS Safari? They could at least open up the photo selector.
Joe Lennon
2 years agoMy top wish is for the cache manifest to actually work in fullscreen mode Web apps.
Hector
2 years agoI think Apple it’s the first company realised of what the web applications may mean.
Maybe Apple doesn’t upgrade Safari as quick as we want. But it they have the most advanced mobile browser in the world. Don’t matter about that, I belive they playing the cards on it.
PS: Sorry for my pooor English.
Ken
2 years agoSomething wrong with the RSS feed for this blog? It just keeps coming up new daily.
BrianMB
2 years ago@Hector - Apple hasn’t really pushed the web platform since iOS 2. Since then, they’ve merely been updating to the latest build of Webkit. It’s little more than lip service, doesn’t even show an interest in a native HTML5 SDK.
We will probably always be second-class citizens on iOS. I hope Android can come around and offer an SDK in 2012, but I acknowledge that this is a pipe dream.
Silvio Porcellana
2 years ago@BrianMB Stil, this allowed companies like Sencha to build awesome stuff like Touch, and us developers to create nearly native “web apps” that can work across a huge array of devices. Pretty cool for “second class” citizens, uh?
Michelle Mendoza
2 years agoGreat blog! I am hoping for the CSS improvements and Camera access. They both have great potential to help the industry grow.
chopper frames
2 years agoHi guys!thanks for this, it’s realy great and good article,finaly i’ve found the design
and quality.more post!
Tomas Andersson
2 years agoI hope they make the media tags handle all W3C media elements. And fix the bugged ones they handle now.
/Tomas
malsmith
2 years agoSeems like a date format <input> tag was left out completely. Likewise selector/thumbwheel UI is missing (which could cover the date data entry case as well). Actually this is a pretty glaring omission without any good work-arounds.
James Pearce
2 years agoI can’t comment formally on how much of our list made it in and how much didn’t, since we’re officially under NDA when we are testing yesterday’s beta.
However, take a look at http://davidbcalhoun.com/2011/new-mobile-safari-stuff-in-ios5-position-fixed-overflow-scroll-new-input-type-support-web-workers-ecmascript-5 where, Dave shows date, datetime, month, time, and range input tags, as well as a few of the things we’ve ‘wished for’ above.
BrianMB
2 years agoI hope Apple implements WebGL before autumn.
Seriously, we’ve gone without 3D for long enough. PhoneGap can wrap camera support, but wrapping WebGL would be something of a greater task, I imagine.
James Pearce
2 years ago@BrianMB - rumor is that WebGL will be available for iAds. Hopefully in the browser too, but we’ll see if the tealeaves come up trumps. iOS5 beta 2 was a step forward too as well… gradually our list is getting little green ticks against it
Chaas
2 years agoTo think, I was confused a mintue ago.
Alex Morse
2 years agoGood list… #1 thing needed that doesn’t yet exist and as far as I know there are no plans… fire an event when the user hits the home or lock button!
Dave Curry
2 years agoIn iOS 3 and 4, if you save a web-page to the home screen so that it runs in fullscreen mode, the browser loses its session every time you switch applications using multi-tasking. Also, if a fullscreen web app opens another document in a Mobile Safari window, the two will not share the session. This means that a very common use case for line-of-business applications, opening a PDF or XLS document generated on the server in a new window, is impractical. The new Safari window won’t have the session and so the server won’t have the user’s authentication which it needs to generate and serve the document securely. To add insult to injury, the original fullscreen application will have lost its session and so the server will redirect to the login screen when the user switches back.
A fullscreen web application is a second-class citizen in a number of other respects (for example, the format-detection META tag is ignored) that have real consequences when you’re trying to create a web application that offers an equivalent user experience to that of a native application.
iPhone
2 years agoI just got the beta version of iOS 5 for iPhone 4. How do you add the camera button to the lock screen? Please help:)
onlineservices
2 years agoThis is quiet great and thought-provoking article. Awesome! I really love the way you write your article here… And also it shows facts which I like.
Laser eye surgery Dallas
2 years agoReally interesting post about ios5, for me is a pain everytime I have to update my iphone, because I lose all my apps, any way to prevent that?
David
2 years agoManifest.Manifest.Manifest. Webapps that actually work reliably offline without constant popups reminding me I’m offline. To me this is the single biggest reason to go native.
Comments are Gravatar enabled. Your email address will not be shown.
Commenting is not available in this channel entry.