OK, which is it? Running local applications on the handset/mobile device or relying on Web services? The answer, of course, is likely both.
I think we can argue that the traditional model of local execution makes a lot of sense for vertical apps and when out of range of the wireless network. But let's face it, there's no way that you're going to carry all the applications you want on a highly mobile device, especially with all the data you may need.
What about collaboration and all the data that others in the workgroup have? And what about access to the Internet, the corporate intranet, the web and all manner of shared resources essential to anyone using any aspect of IT? Sounds like web services is the way to go, even ignoring the economics of write once/run anywhere that make the web services model so desirable to begin with.
And, of course, there's no way that every application is ever going to get ported to every handset you might want to use. The broad diversity of handsets, which will continue to increase, is an effective road block to this. Case closed - except for two minor, or not so minor, points.
The first is the lack of a ubiquitous wireless infrastructure. I'll return to this issue in an upcoming column. For the moment, while truly ubiquitous, 100% reliable, universal broadband wireless access is at present an abstract concept, the technology will improve. So, on to point number two, which is definitely not so minor.
Point two concerns the fundamental lack of compatibility between different browsers of any form, and the moving target that web standards are and will likely remain for some time. None of the browsers available today on highly mobile systems - and this includes the terrific browser on the iPhone and iPod Touch - is the equivalent of a desktop browser.
Some of them, most notably the Windows mobile browser, are just horrible, with very limited web functionality and cryptic error messages. The display of a given page can vary significantly between browsers, often with bizarre results. This situation is almost certainly going to improve, but advances in the web-services delivery model, wired or wireless, will be slow until then.
For some hands-on experience with the diversity of browser functionality in the mobile world today, you may want to experiment with third-party add-on browsers such as Opera Mini or Opera Mobile, among others.
If you're a developer, you might want to look at Nokia's excellent Series 60 browser, which is open-source. There may in fact be a thriving market for third-party mobile browsers for some time to come.
And a key driver for this is the lack of a standardised definition of a browser, which means having a standardised protocol or set of protocols for the web. I certainly don't expect all browsers or their user interfaces to become standardised, but the protocols we use must be. It's time for the IEEE, the ISO or someone to step in here.
Of course, if individual browser suppliers want to extend the protocols in some way, they're free to do so. This is, after all, common in networking. And while application developers should be very careful about adopting these extensions because of the potential incompatibilities they cause, these extensions often wind up in the standard, usually to the benefit of the end user. In the interim, though, the mobile browser hardly represents a universal platform for applications.
To bring all of this full circle, if we're going to have a third-party market in browsers, meaning browsers need to be ported to a variety of mobile platforms, then why not provide an application programming interface (API) that enables porting of essentially all applications? This is apparently what Apple is going to do with the iPhone, in response to both demands from developers and hackers looking to exploit the interfaces that of course exist but are undocumented.
Opening a system's API to the browser community opens it to everyone, but there are many people who still believe that applications need to run locally. Again, I think the local-execution model is ultimately terminal, but we'll need to rely on this approach until the mobile browser catches up to the desktop. Make no mistake, though, it will, as the value of Web services becomes clear and as the mobile device becomes the default vehicle for a vast array of users.
Craig J. Mathias is a principal at Farpoint Group, an advisory firm specialising in wireless networking and mobile computing. This article appeared in Computerworld.