Development for iPhone

Posted by Marc Love
on Wednesday, June 27

Normally I wouldn’t advocate developing completely different views for one particular user-agent. It violates the web standards mindset that has been burned into my brain over many years. However, I can’t ignore the fact that the iPhone throws a wrench into some of that mindset. The iPhone’s full web browser will be great for reading news sites & blogs, but for web apps, we should take a couple things into consideration:

  • Every kilobyte matters! The EDGE network will have users crawling the web, quite literally. Download speeds will float somewhere between that of a 56kbps modem and an ISDN line when users are away from WiFi. Hiding elements with media-specific stylesheets does us no good because the data is still downloaded (including all those hefty javascript libraries). Which brings me to my next point…
  • iPhone will probably use “screen” css media, not “handheld” (pretty clear from the public demonstrations and Apple’s huge emphasis on it having a “FULL web browser” and browsing the web the “way it was meant” to be browsed). After all, what’s the point of having a phone with a full web browser complete with zoom-in, zoom-out capability if the browser loads stripped down versions of web pages by default? Again, great for browsing, not for monitor-sized web apps.
  • Using web apps on the iPhone will be cumbersome enough as it is. There’s no way to directly access them from the home menu. Your customers will have to open Safari, find their bookmark or manually type in the address, and login … username (or worse email) and password. That’s a lot of navigating & typing just to get into the application. Hopefully Apple will develop quicker access methods, but until then the user experience has to be excellent to make it worthwhile to the customer.
  • User interaction with an application on the iPhone is fundamentally different than other “screen” media types. We’re using our fingers, not a mouse. Controls need to be big, finger-friendly and should take advantage of the tactile interactions that are by default a part of the user’s experience. And don’t forget that all your hover and mouse-triggered javascript events will never be triggered.

So assuming you’re building an application or enhancing an existing application to be competitive in the iPhone market, it makes sense to create an iPhone-specific UI. I’m working on a solution for Rails which will make tacking one on super simple which I’ll post shortly.

Comments

Leave a response

Comment