Nic Newman is predicting that this year will be the year of the mobile web. He cites the focus of handset manufacturers on improved user experience – spearheaded by Apple and the iPhone, ‘all you can eat’ tariffs from networks and the delivery of content in formats that are more easily consumed by mobile devices. All of this is true and 2008 may well transpire to be the year of the mobile web. But my fear is that we are going to be building the wrong thing.
If the mobile web is only about delivering content to work on small screens then we’re all missing the point. And I have to say from a personal point of view it won”t be particularly interesting to build. That’s because not only are current phones devices with small screens, they are also crippled – third party developers can’t access the phone’s features. As Joel points out:
You can follow the p-code/Java model and build a little sandbox on top of the underlying system. But sandboxes are penalty boxes; they’re slow and they suck, which is why Java Applets are dead, dead, dead. To build a sandbox you pretty much doom yourself to running at 1/10th the speed of the underlying platform, and you doom yourself to never supporting any of the cool features that show up on one of the platforms but not the others. (I’m still waiting for someone to show me a Java applet for phones that can access any of the phone’s features, like the camera, the contacts list, the SMS messages, or the GPS receiver.) Sandboxes didn’t work then and they’re not working now.
In otherwords we have a major problem with our current mobile space: the lack of access to the device. Currently we are just delivering content – with low bandwidth and poor interfaces; developers have no meaningful access to the phone’s API. And this is a shame because what makes mobile devices interesting is only available via the API. Mobile devices are interesting because they are with you most of the time, they can know their location and store information about your friends, family and colleagues.
As Peterme at Adaptive Path puts it design for mobility not for mobiles:
What I’ve seen in our work is that form factor, though important, is not crucial. In fact, it might be a misleading concern. The thing that’s interesting about designing for mobile isn’t the form of the device. It’s that the device comes with you.
What we’re realizing is that the key item of concern when designing for mobile is the context in which the device is used. What this means is that discussions of “PC” versus “mobile” are misguided, because we shouldn’t be focusing on the device. We are not designing for mobile — we’re designing for mobility.
Android might be different. Android does give you access to its API and this means that as a developer you can combine information from the web with data from the mobile phone such as the user’s contact data, their calendar, or geographic location. Or as Andreas Constantinou puts it:
The Android SDK is an environment for building connected applications. Every application (including dialler, idle screen, SMS, contacts, etc) can consume and produce content. Every application on Android is a Web 2.0 citizen.
Android not only makes the mobile web interesting it also means that developers need to build something quite different. Rather than worrying about whether we should be delivering different content to mobile devices we should be worrying about building a web of data and mobile applications that can combine that data in interesting ways with data on the phone. Of course this will depend on how successful Android turns out to be and whether or not other manufacturers follow suit and give third party developers access to the phone’s API.
Photo: 1000 mobiles, by Gaetan Lee. Used under licence.