The iPhone has had a tremendous impact on the web, eliciting impassioned testimony from supporters and detractors alike. What does it mean for the web standards? What about the rest of the mobile web? And (how) should we design for it?Skip to comment form
Since its release nearly two months ago, the iPhone has proven to be a rather disruptive device, not only in the mobile market, but on the web as well. With designers and developers scrambling to get a foothold in this new market, issues have surfaced and (in many cases) tempers have flared.
A few days ago, Scott Gilbertson declared “[t]he iPhone is Internet Explorer 4 all over again,” alluding to the walled-off nature of many web sites and apps being developed just for the iPhone (as they were back in the day with IE 4). Joe Hewitt was quick to reply, arguing that being like IE 4 is not such a bad thing, claiming that the devices drives innovation on the web, which is what’s needed.
So where does that leave us? Well, I’m not sure I’ve figured that out yet, but I wanted to put together some of my thoughts and see what you think as well.
The version of Safari packaged with the iPhone is, without a doubt, the best mobile browser I’ve seen to date. It renders normal web pages brilliantly and the pan and zoom functionality offers a pleasant alternative to the re-flow or squeeze-it-in display models of other mobile browsers.
Two words: “standards support.” While mobile Safari performs brilliantly when it comes to CSS rendering, it does have a few problems.
- It does not apply handheld stylesheets – I can understand the use of screen styles when handheld stylesheets aren’t available, but it would be easy to include a switch to turn off screen styles and load handheld styles if a handheld stylesheet is encountered.
- Event handling – The iPhone introduces some new interaction models, but has not (according to the documentation or under user tests) given us a window into those actions (such as zoom, pan, etc.). Furthermore, as Joe points out, events like
mousemove, etc. are not supported. Sure, some of the traditional events have no meaning in the iPhone interface paradigm, but the virtual keyboard doesn’t even fire
onkey*events and there’s no way to know if the user is scrolling.
- iUI – I feel kinda bad placing iUI in the “bad” list, but the markup required to make it work leaves a lot to be desired. It is a great interface, but it enforces some pretty awful coding practices. I’m hopeful it will get a little more attention on the standards end and move into the “good” category.
Alright, so the big ugly to me comes down to one thing and one thing only: iPhone only apps/sites.
Since its release, designers and developers have been building interfaces to their sites and applications for the iPhone. Unfortunately, many have been doing so in a way that leaves the remainder of the mobile web with nothing. Personally, I’ve been kind of torn about mobile segmentation as I feel it goes against the “write once, deploy everywhere” ideal of web standards, but I understand the need for stripped-down interfaces on mobile devices (due to the currently high cost of mobile bandwidth in many places, etc.). But now we are witnessing a schism within the mobile world, dividing it into people with the iPhone and everyone else. This, I feel, is bad for the web and particularly bad for the mobile web.
For the record, I don’t buy the argument that web standards stifle creativity; in fact I believe quite the opposite: web standards enable creativity. It is my firm belief that we owe a great deal of the innovation on the web today to web standards (including
XHR, which, as you recall is not a standard…yet). It was only when we had a solid foundation upon which to build that our creations could reach such lofty heights.
So what do we do?
While it is arguable that the iPhone is a lot more fun to design and build for than other mobile browsers (even the venerable Opera Mini), that does not mean it’s OK to hang a sign on the door of your web shop reading “No Blackberries.”
Now don’t get me wrong, I am not saying that you should not support (or even cater to) the iPhone. All I am saying is that you should not support the iPhone and snub all other mobile devices. If you want to build a mobile interface to your app, do it like Twitter and others have. Writing a POSH interface is dead easy and, even with the lack of solid CSS support on most devices, it is usable by pretty much anyone on the mobile web. So start there. Then use progressive enhancement to add new layers of interaction to your mobile site/app. It not only makes sense, but it’s The Right Thing To Do™.
- #1 On August 22nd, 2007 3:04 pm