Mobile applications are the fastest-growing opportunity and challenge for developers, who are finally getting both the tools they need and the consensus on good practice that liberates them to do their best work.
A mobile user should not be envisioned as merely a Wi-Fi-enabled, laptop-carrying knowledge worker in a conference room or a coffee shop.
Rather, the mobile user requires applications designed for diverse mobility demands in both internal and external respects.
Internally, the mobile application must deal gracefully with intermittent connectivity and with limited and sometimes varying bandwidth.
Externally, an application must deliver an appropriate experience when using a small screen on a handheld device or when using no screen at all with a voice-based system in a hands-free environment, such as an automobile.
Developers must therefore think in terms of loosely coupled layers of application function and user interaction, rather than starting with a user interface and designing function inward from that surface.
They must think in terms of scenarios where users in different situations will have different needs—and think about how applications will offer graceful degradation, rather than all-or-nothing access, when they have intermittent or varying connectivity.
The value of mobile access will sometimes lie in location-specific data—whether for critical applications, such as identifying the nearest trauma center, or for commercial applications, such as finding the nearest Thai restaurant after a show.
This implies transparent integration of data, such as GPS coordinates, or the use of other position estimates, such as those based on cell-site triangulation, without inadvertently compromising privacy by disclosing a users location too freely.
Next Page: Rising user expectations.
Rising User Expectations
Control of location data is just one aspect of mobile application security that may find the developer unprepared.
Mobile applications may be handling medical data or engaging in financial transactions, both of which require security measures that meet rising user expectations and stand up to growing regulatory scrutiny.
At the same time, those measures must not overwhelm the processing power of mobile devices, the bandwidth of wireless connections or the tolerance of mobile users who are probably attending to multiple tasks.
As mobile devices get smaller, they are more easily lost or stolen, making it all the more important to authenticate the user—preferably with multifactor approaches, including biometrics—rather than authenticating the device with technologies such as stored passwords or browser cookies.
Back-end costs could quickly get out of control as developers strive to support a diversity of mobile experiences, all too easily leading to multiple and largely redundant (or, worse yet, inconsistent) logic paths and data stores.
Making it easy to repurpose data requires upfront attention to data representation; making it easy to serve diverse devices requires thoughtful separation of presentation from core logic and loose coupling among the modules that deliver both basic and premium services.
These practices will maximize developers ability to take advantage of new opportunities to reach the mobile user.
Mobile applications value-adding opportunities will rapidly expand during the rest of this decade.
In June, Computer Industry Almanac Inc. projected that, by 2010, mobile PCs will represent 43 percent of all PCs in the United States—up from less than 30 percent this year—with a projected installed base five years from now of 125 million units in the United States and nearly half a billion worldwide.
The worldwide percentage of mobile PCs will be less than in the United States, according to the same forecast, most likely because other countries have moved more aggressively to adopt Web-capable handsets rather than carrying cumbersome Wi-Fi laptops.
Worldwide, 49 percent of mobile handsets are Web-capable; in North America, penetration of Web-capable handsets is only 37 percent, according to comments made by Philipp Hoschka, World Wide Web Consortium deputy director for Europe, at the W3C 10th anniversary symposium held in Boston last December.
Web-capable handsets will outnumber WAN-capable laptop PCs by a 7-to-1 ratio by no later than 2008, with an anticipated worldwide installed base on the order of 1.4 billion units, Hoschka estimated.
What holds back mobile handset acceptance in every market, Hoschka indicated, is not Internet access on the demand side but device-appropriate content on the supply side.
He painted a picture of todays smart-phone user seeing a Web address on a billboard and trying to access the site.
In his scenario, the UI on the handset is cumbersome, the graphics and other layout conventions of the site dont translate to the small screen, and the security protocols (such as support for cookies) are frustratingly inconsistent. Of such experiences, markets are not made.
The W3C issued in October a working draft of the 1.0 release of its Mobile Web Best Practices.
These provide useful guidance to developers on major topics that include application and device requirements; overall application behavior; and developer practices for site navigation, content presentation and user interaction.
One of the key points that eWEEK Labs would extract from these detailed recommendations is that a Web application should not rely on the conventions of the Web browser to handle basic tasks such as navigation among pages.
Applications should detect available resources such as the size of the screen or assume the minimal base-line client discussed in the W3C document if device parameters cannot be determined.
The application itself should then present content, offer choices and respond to user input in a way that suits that context.
Another key point that eWEEK Labs would emphasize is developers need to accept that their applications wont always work correctly.
When mobile connections arent as reliable as they are for fixed users, or when mobile users arent giving an application the same undivided attention that they might if they were in an office or other undistracted environment, its likely that there will be confusion either behind the screen or in front of it.
Developers should anticipate and forestall this problem by writing applications that devote plenty of logic to limiting user choice—for example, by using drop-down lists and auto-completion of entries instead of plain fill-in text boxes whenever possible.
Applications also should strive to detect errors at any point in the application stack; they should then give informative descriptions of what has happened and what the user can do about it.
Mobile applications must minimize the burden that they place on the user.
For example, rather than asking a user to “try again later” if a site is overloaded—a browsers-eye model of the Web—a mobile application should offer to retry access automatically and alert the user when a resource becomes available.
The mobile user is likely to be even less tolerant than a desk-bound user of Web-based interactions that require input, then a wait, then another input, then another wait.
A mobile application should do as much as possible to let a user make several choices and then dispatch the requests to the site for processing.
Rather than assuming that the mobile user will watch the screen awaiting a response, a mobile application should offer the option of having a response delivered by e-mail or some other asynchronous means that lets the user look at the results at his or her convenience.
Mobile applications should also be more discriminating than typical Web applications in offering the user access to hyperlinks.
The desk-bound user with a high-speed connection may not mind loading a sizable PDF file to answer a simple question, but the mobile user may lack the bandwidth or the screen space to use that resource.
Developers should give their applications the capability to look ahead down the links that they provide and offer the user a simple indication of whether content at that destination is suitable for retrieval and use by a mobile device.
The curves of mobile application usage are on steeply upward slopes.
An application thats begun this year, without consideration of future mobile access issues, is an application that will have to be replaced—not merely refined—before the decade is out.
Peter Coffee can be reached at firstname.lastname@example.org.
Check out eWEEK.coms for the latest news, reviews and analysis on mobile and wireless computing.