The Web as a Mobile Enterprise Application Platform

In many ways the web seems like it should be the ideal development platform for mobile enterprise applications. It’s a thin client platform with a rich UI experience. There are standard development tools and with AJAX the screen refreshes can make the applications feel like a thick client environment.

And it can definitely work, as we proved back in 2000 when we developed the Sears mobile retail application. This was developed on the Symbol SPT1840 (Palm OS) with a custom, very primitive, web client. On the server side they were originally running Java 1.1 servlets on an OS/2 box (later Windows NT).

So mobile web applications are technically feasible and have a desirable thin client architecture.  Then why isn’t it the industry standard. The answer becomes more apparent as we look at some of the obstacles.

Latency – The first big obstacle was the screen refresh problem. Any time we wanted to change application state required a round trip to the server and a screen refresh. With AJAX this is better, but it does makes development more difficult.

Device Features – One of the main reason that we people use mobile devices is for all of the cool features such as barcode scanning, magnetic stripe readers, cameras, video, messaging, etc.   Not to mention a pretty powerful CPU, persistent storage, and the other features of a portable computer. With web apps, you are generally limited to the functionality of your browser. To some extent you can get around this with ActiveX controls and third party browser extensions such as Motorola’s PocketBrowser, but this is all custom.

Bells and Whistles -Audio is a critical component of Enterprise applications. For some reason Microsoft all but eliminated sound from the mobile web. Without audio cues, alerting users of errors is less effective. Again we can use third party tools for this such as PocketBrowser, but…

Web Standards Support – Here’s another big frustration area that drives developers crazy. It’s only natural that the Microsoft developers made some trade offs when they implemented the mobile browsers, but clearly they weren’t targeting it as an application platform from their choices. Take the single window limitation, i.e. no popup window for displaying error messages or alerts. Or not supporting absolute position.  While these types of limits don’t prevent development, it just makes things more difficult.

Despite these challenges, web applications will become increasingly popular because of the standards based thin client advantage.  And over time, as functionality improves, it will become an increasingly common platform.

However at this point, I still see the web as a limited platform for Enterprise Mobile Applications.  We have found that it works well for smaller applications such as price checkers, or even Gift Registry.  But as the applications increase in scale and functionality, the web environment just isn’t ready for the demands of the enterprise.

0 thoughts on “The Web as a Mobile Enterprise Application Platform

  1. Nice Post…

    You mentioned web as a limited platform for enterprise mobile applications. I agree that these applications do need some of the device features like camera etc and the web browsers are currently lagging behind.

    How about a thin client application that embeds the browser inside it. This still gives you flexibility to modify the interface from the server and the thin client can access the device features.
    On BREW, IHTMLVIEWER control is something I have used, pretty flexible.
    On most smart phones including Iphone the browser can be embedded inside the app.

    The web environment on its own will probably not be enough but if coupled with a client app, could be used to save a lot of development and maintainence effort in providing the user interface.

  2. That’s a good point. We have done applications using the Symbol/Motorola PocketBrowser which provides a lot of the missing functionality, e.g. sound, barcode scanning, persistent storage, logging, etc. It works relatively well, but still leaves me with the problem of web standards, no popups and a single instance.

    I have thought about wrapping the browser myself and doing some kind of mixed functionality, but I’m not sure how much that helps. It would be non-standard, and a lot of work for the bigger apps that we do, but might be worth thinking about as a path towards full web apps.

Leave a Reply

Your email address will not be published. Required fields are marked *