I make apps for other people

Mobile HTTP clients

Posted by Chris Jones
On December 30th, 2007 at 11:59

Permalink | Trackback | Links In |

Comments Off on Mobile HTTP clients
Posted in Design Journal

Mobile clients have several limitations:

  • small screen size
  • network latency
  • poor, limited, and unreliable connectivity
  • severe memory and script execution speed or time restrictions
  • input restricted to (slow) text entry and click-only (no drag, no mouseover)

…in addition to browser limitations. The best browser for mobile web applications at the time of this writing is Safari on the iPhone.

Some of these can be addressed through careful design of the user interface.

A map and tabbed client
Demo in progressA small screen size means updates can also be small. Differences and state transitions can be communicated for a small region of the game rather than over the entire zone or map. Because of message size limitations, regional map updates may be restricted (skipping intermediate states for final states), and out of date messages that wouldn’t appear in the message log may also be culled. Ideally, however, this won’t need to happen: small region sizes mean many more messages that would have been visible in a traditional MMO client will simply be culled because their originators were out of the region. The maximum update size can be determined by identifying the browser and associating the browser ID with a capabilities configuration.

The mobile HTTP client uses the same server and most of the same AJAX libraries as the large screen version of the web application. The mobile version may have limited AJAX libraries, with code tuned for the platform (where necessary — Safari generally requires tweaked DOM and Javascript), and because of the limited memory per page and limited execution time, the mobile application will require size and execution optimized library code. Traditional PC-based browsers don’t need code written that carefully.

Tabs can be used to organize information: chats, inventory, and actions. Tabs can be implemented as layers, the active tag occluding the others.

Click interface
The web application interface must be click-driver. The application cannot rely on dragging, hovering, or right-clicking.

Click to inspect

Icons are better for an iPhone. They’ll be easier to select and are more compact than a line of text.

Attacks are two step: target, then select attack, to prevent unintentional attacks. This also can let other players know that the target has been selected for attack, allowing social conventions to limit kill stealing through latency (ideally) to begin.

Click to attack confirmation

Finally, icons are helpful for internationalization. They represent fewer string resources to be translated.

Icons should, if possible, make use of Javascript animation images to help draw attention and make them distinctive.

Small screens mean little real estate for advertisements. One-liners in the tradition of Google Ads may be appropriate but they require a sacrifice of some part of the application’s functionality. If the text is too small, people won’t be able to click on the words, while if it’s too large the application may suffer from losing needed screen real estate, or may require scrolling. Appropriate solutions include interstitial advertisements at the beginning of the application session (after log in), during game state transitions (zoning, major mode changes), or by using a subscription or micro-payment model.

As an alternative, the mobile version of the application may support limited functionality (it already supports limited screen real estate, chatting, etc.) and be a free but limited version of the larger web application, supported by the full screen web app and included as a convenience to the users or players.

Releasing an iPhone version of the application capitalizes on the iPhone cachet. It’ll be easy to identify iPhone users and release those statistics to potential advertisers. Finally, but targeting iPhone users, we can characterize users of the application:

  • they’re early adopters
  • who have disposable income
  • and are interested in interactive entertainment,

making iPhone users a valuable demographic.

Comments are closed.