Thursday, May 31, 2007

Developing for the Mobile

So I've actually had to get off my seat and move through to one of the other theatres for my next session, which is Developing for the Mobile with Gummi Hafsteinsson.

Looks like my back-up battery might be enough to see me through the rest of the day, but it's going to be close. I still can't believe there aren't any power sockets here?


Gummi Hafsteinsson talking about mobile websites

Gummi has started off talking about the difference between the standards on the mobile web and the "desktop" web. His claim that there was only two main browsers on the desktop, IE and Firefox, didn't go down that well. You could see people with Apple's on their lap whincing as he said it...

He went on to talk about the complexity involved in the mobile market, the large number of browsers that tend to render things differently, and the huge number of handsets with different capabilities. But the thing we're supposed to take away from the talk is that we should, "Ignore the complexity and try and keep it simple".

However a good rule of thumb is that since most of the mobile browsers are XHTML not HTML, if your markup isn't standards compliant then it probably won't be rendered at all. Unlike the "desktop" web its unlikely that sloppy markup will work. This also means that you need to specify you character encoding specifically because the browser probably won't guess correctly.

Another interesting point he's trying to hammer home here is that the way people use the mobile web is very different than the "desktop" web. People generally don't type URLs into a mobile browser, so if your site isn't indexed by a search engine (or is well known and has a short URL) then people probably won't use it.

You also need to take account of the small amount of processing power available on the client side, you really need to sclae the images on the server rather than client side and have a maximum image width of 120 pixels by default.

The other thing to focus on is what people are actually going to use your mobile site for, after all you probably don't want to do the same things from your phone than you do from your desktop.

Next he's really insistant that you do your testing on actual handsets because the emulators don't reflect what really happens when you put the site onto real hardware. However you shouldn't be tempted to exploit the capabilities of the new advanced phones without good reason. Don't do optimisation unless it gets you real functionality for your predicted user base. If you are pushing financial data and your users mostly (all?) have a Blackberry then it makes sense to optimise for that handset, but otherwise it's probably not worthwhile.

In summary, you have to develop your site with a good idea of why your doing it and why your users might want to use your site on the move. Finally, keep things simple, and only do customisation if it's really needed.

Update: The session has been posted to YouTube...