Mobile Web Challenges

The challenge for client OS providers is far greater than simply delivering a fast, fully featured web browser on a phone. The classic web browser navigation model works poorly on a phone (in fact, some would argue that it’s poor even on a desktop computer).

Mobile users are, well, mobile. They are usually in motion, walking, driving, or occupied with something other than their phones. Launching a browser each time you want something on the Web—wading through multiple pages to get to the right spot—is tedious, distracting, and slow.

Web pages have their own UI models, with navigation and controls separate from and frequently inferior to those of the device they are displayed on. Often, the only option is to walk links. Menus, selectors, text editors, and other UI tools that enable rapid user interaction in native applications on the same device can’t be used within the web browser. Launching web pages from bookmarks or moving between web pages usually involves a completely separate UI model from that used to launch native applications and generally requires invoking the browser before anything else, adding at least one extra step to most actions.

In addition, web users are forced to initiate all interactions. They must make a request and wait for it to be fulfilled. It is clearly more effective for applications to monitor external events and prompt the user only when something of interest occurs. Ajax and web applications have made a big improvement by handling user input on the client and providing some level of dynamic user interface, but even these applications can’t employ commonly used techniques such as background execution, user alerts, and notifications.

The truth is that despite the hype, a phone with just a fast web browser is still not a truly smart phone.

To fully realize the mobile Web, a new application model is needed, one that retains the strengths of web development, but with the type of access and power that has been available to native, mobile applications for years.

Palm webOS

Palm addresses these challenges with its next generation operating system, Palm webOS. Palm webOS is based upon an innovative design that integrates a window-based modern operating system with a web technology runtime that allows you to build applications using common web languages and tools, without the restriction of working within a web browser. The application model is based on an integrated web runtime and the Mojo framework, a JavaScript framework with powerful UI services, local storage, and methods to access application, cloud, and system services.

Applications are built using JavaScript, HTML, and CSS, and while similar to web applications, webOS applications are actually native applications. This application model allows you to use the same languages and tools to build powerful mobile applications that you use to build web content.

While Palm webOS is the first to provide this integrated model in a broadly available computing platform, it’s not likely to be the last. There is growing interest in supporting standard APIs within web platforms, such as those in the proposed HTML 5 standard. It seems likely that in time there will be broad support for this development paradigm across all types of hardware and systems.

Get Palm webOS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.