W3C "Mobile Web Initiative" Workshop
David Bosschaert and Eric Newcomer, IONA Technologies, PLC
Copyright © 2004 IONA Technologies, PLC
IONA Technologies PLC
October 15, 2004
The Mobile Web needs to work well for a variety of applications and use cases, including Web services and business oriented applications supporting mobile worker productivity. The promise of mobile devices is that they will significantly improve the productivity of mobile workers by delivering information to them wherever they work, and allow them to access and interact with that information at the point of work.
Advantages to the mobile worker include the ability to receive and transmit information on a timely basis and view computing resources (including Web based resources) not simply as something available at a particular location such as an office or fixed kiosk, but also something available as a tool to be taken with them wherever they go.
Wireless Internet and cellular telephone networks are extending their reach, but do not yet extend everywhere a mobile worker may travel. And even when a network is available, issues arise around the quality of the network connection and potential failures of devices to connect through to servers because of hardware problems, bandwidth issues, or application capacity issues.
Current Web technologies have their origins in the era of computing where computing was something that occurred in a specific place, and the connection to the network was based on a physical wire. Even in these more reliable situations, network issues are unavoidable, but if the purpose of mobile devices (or one of their purposes) is to improve mobile worker productivity, then the network issues must be resolved so that they do not interfere or detract from the productivity improvements.
Web services in particular hold promise for a technical underpinning for improving mobile worker productivity through connecting to enterprise applications. However, Web services were not designed for the mobile device world.
We feel that there is a need for improved technology to ensure that the Web helps improve mobile worker productivity, including:
The following sections explore these requirements in detail.
The Web doesn't work well enough for mobile devices. Mobile devices do not always have a connection, or do not have a steady connection, to the Internet. Mobile devices, by definition, move around while network infrastructure stays in place. That means the mobile devices may move out of range of a wireless network, or connect to the Internet through different means at different times, including dialup connections over landline and mobile phones, WiFi connections at hot spots, and wireline connections at hotels and conferences. Furthermore, connections between mobile devices and servers may take various routes, including intermediaries, caching, routing, VPNs, firewalls, etc.
At any point in the connectivity path, which can be of varying length and complexity, failures can occur for a variety of reasons, including losing a wireless signal, losing a VPN connection, bandwidth saturation, network hardware failure, or server saturation. When such a failure occurs, the user of a mobile device is left in an uncertain state. For example, if the user has logged on to a Web site and initiated a session, and the connection is lost for any reason, the user may have to log in again and begin the navigation again. If the user is in the middle of any work that requires data to be transferred from the device to the server, the data may be entirely lost and have to be keyed in again. Similarly, connection loss that interrupts data transfer may leave the data in an uncertain state. For some types of applications this may not be an issue, but for a growing number of applications looking to take advantage of the increasing power of mobile devices, it may well be a very significant issue involving lost productivity and lost data.
For example, a shipping company entering information about ship bills and labels using a mobile device might have to use multiple screens to input all the data. If the connection is lost at any time before the final screen is successfully transmitted, the entire operation may have to be started again, unless some mechanism is available to temporarily cache or persist the partial data. Similarly, if a user logs in to check email, and the connection is dropped before the email is recieved on the device, the user may have to log in again and restart the transfer of email from the beginning. Data synchronization operations that result in incomplete or partial state transfer typically require a restart since it's difficult if not impossible using current technologies to accurately exchange information between the device and the server about which bits actually arrived and which didn't.
Users of mobile devices such as PDAs and phones purchase them for those applications, which typically involve very easy to use interfaces suitable for those functions. When interacting with those devices, the users expect any other applications on them to behave in a similar fashion.
Furthermore field workers typically have short time spans with which to interact with their devices, and have to get their business done quickly. The advantage to them is the ability to bring the device with them to the point of work and have immediate access to the information they need, without worrying about connectivity of usability issues. For this new technologies are required to make the Web experience more interactive, and to better support the varying user characteristics of the devices. The mobile world is a world in which one size does not fit all. Screen size and scrolling varies widely among the devices, as do keyboards and alternative entry mechanisms such as the stylus, touch screen, and handwriting recognition. Applications designed for mobile workers need to take individual device characterstics into account as much as possible in order to preserve a good user experience. Separating the connectivity issue from the interactivity issue is one good way to accomplish this, but today the Web combines these issues into a single architecture.
Mobile users of enterprise applications are also likely to be less computer literate than their office counterparts, with less training on computers, and less ability to tolerate and work through complex navigation scenarios. In this environment hiding the complexity of interacting with the network while preserving device interactivity becomes even more important.
To adapt the Web for mobile computing, new technologies are needed for Web services to support guaranteed, reliable messaging (i.e. store and forward of Web content) to resolve the connectivity issue. When a server is down, or unreachable due to a network or capacity issue, the mobile device needs to be able to continue working. When the device detects a new connection, the device needs to be able to forward any stored messages. Similarly, when the device is unavailable to the server, the server needs to store the messages until the device is reachable.
Current tools designed to meet these requirements require user interaction, such as a manual sychronization, explicitly toggling between online and offline mode, or creating content locally in anticipation of a later connection. The data transfer needs to happen in a reliable and secure way without user interaction, and without making the network state visible to the user. Queued up messages can be stored in an encrypted format so that if the device is lost the data is still safe.
When a connection is available between the device and the server, the Web content needs to be delivered to the device in the form of messages rather than as a page. Messages can be divided into fragments and reassembled on the target, and the fragments can be identified and tracked using a series of acknowledgements to ensure delivery.
Better support is needed in Xforms and HXTML for device characteristics.
Intermediary support is needed for FTP and HTTP sessions so that even when end to end connectivity isn't available, reliability and availability can be assured through the use of intermediaries that are always available.
Given a certain environment a user may want to control what messages should be delivered and what messages should be avoided. A user may only want to send his own data out and get the most important updates when connecting from a hotel room, but that user may want to update the rest of his documents when in the office.
An efficient mechanism is needed that works over the internet for delivering messages to large numbers of clients without duplicating it for every client. Publish & Subscribe in a firewall-friendly way.
Documents or whole repositories of data can be shared in an offline fashion with others through the use of topics and catalogs.
Overall, devices and users in a mobile world have to be treated differently than devices and users in a static, or office world. When computing becomes something that's done anytime, anyplace, anywhere, the assumptions about how to deliver information for the computing environment have to change, as does the assumptions about how the user interacts with the information. It's necessary to move to a world in which interactions are viewed as local, rather than over the network, since connections are unreliable, and there is a greater need to shield the user from technical issues.