Palm's WebOS lives up to hype, early developers say

Developers say the WebOS offers a user-friendly mobile service that is highly integrated with Web-based services

Underneath the sleek exterior, the multi-touch display and the sliding keyboard of the upcoming Palm Pre smartphone is the real innovation: a new kind of operating system designed with the mobile Web in mind.

Slideshow: How the Palm Pre stacks up against the Apple iPhone

[ InfoWorld's bloggers discuss the new Palm WebOS and Pre: Neil McAllister offers early praise in his Fatal Exception post: Palm charges back with WebOS | Amber Bouman casts an appreciative eye over the hardware: With the Palm Pre, is Palm back in the game? ]

For the mobile enterprise, Palm's WebOS and companion Mojo software development kit offer a dramatically simpler way to build sophisticated mobile applications that are highly integrated with Web-based content and services, according to several developers working with these tools since early this year.

"It's a completely new way of thinking about an OS on mobile devices," says Christian Sepulveda, vice president of business development at Pivotal Labs. The San Francisco software development shop is building its own WebOS application as well as several for third parties.

The potential power of WebOS lies in three capabilities that Palm has brought together into a coherent whole. First, mobile applications are written entirely in JavaScript, HTML, and Cascading Style Sheets, which are technologies that an army of Web developers has been using for years. Second, WebOS was designed from the outset to run multiple applications at once and, these developers say, to minimize the well-known potential problems that arise when doing so. Third, the application model is designed in turn to fully exploit both these features, creating, these developers say, a simpler, far more intuitive user experience.

It's the combination of these kinds of capabilities that excites developers. "Palm started with a clean sheet of paper," says Tom Conrad, CTO for Pandora, an Oakland, Calif., company that offers a personalized Internet radio service, widely used on iPhones. Pandora just introduced a version for BlackBerry and in December started working with Palm on a WebOS version. "Everything about the Pre feels like it's 'future-oriented,' not an iPhone-inspired knockoff."

The Pre (pronounced "pree") smartphone, unveiled in January and due out by June 30, is only the first product that will run Palm's WebOS, though Palm so far hasn't announced any other devices nor said much publicly about the OS. (O'Reilly Media is publishing "Palm WebOS, 1st Edition," by Palm Software CTO Mitch Allen.) Developers are restricted in what they can say by nondisclosure agreements, but they were able to confirm many of Palm's claims for the OS, and to talk about building applications for it.

Starting fresh

What's known is that Palm's new platform is based on the Linux 2.6 kernel, with some added open source and custom subsystems, such as telephony, touch-screen input, power management, and so on. The kernel hosts what Palm calls the User Interface System Manager, which handles features such as navigation, application launching and notifications.

The key part of the UI System Manager is an embedded version of the open source WebKit engine, first launched by Apple, which handles HTML rendering and JavaScript execution for popular Web browsers like Apple Safari and Google Chrome. Palm modified it to use as the runtime environment for applications created with basic Web technologies (there's a separate Web browser for conventional browsing).

The platform has a set of core applications, including contacts, calendar, phone, e-mail and messaging; services APIs to device features such as phone and camera; the Prototype JavaScript framework; and widgets, all tied in with event handling and notification services, and all accessible to developers.

Some developers have argued that because JavaScript is not a compiled language and there's no conventional object code, then WebOS programs are not true executables and therefore not "real" applications. But these early webOS developers disagree. "The application has native support in the OS and it runs on the device," says Ian McFarland, Pivotal's vice president of technology.

In that sense, WebOS applications are like native applications. But they differ by running in the WebKit engine instead of interacting directly with an underlying OS.

"Your application is running as though it were a kind of series of dynamic Web pages in an embedded browser," says Pandora's Conrad. "It's not compiled into 'non-Web code.' It executes within a true Web environment."

One potential problem with this approach is anemic application performance. But Palm made performance a top priority and exploited a lot of recent work in this area. "They've really moved the state of the art along in terms of browser and JavaScript technologies," says Conrad. "I think everyone's [performance] concerns are going to be answered. It feels just like using a set of native [compiled] applications, from a performance or any other standpoint."

Multitasking to the max

Multitasking -- being able to run several applications at once on a mobile device -- isn't unique. RIM's BlackBerry OS supports it, as does Microsoft's Windows Mobile. Even Apple's iPhone OS supports it, though Apple restricts third-party use of this capability.

But multitasking often is limited and hard to exploit in conventional platforms, according to Pivotal's McFarland. "If you're composing an e-mail on the iPhone, you can't check other e-mails in the same thread, or check a Web site to add a link to the e-mail, or copy-and-paste something," McFarland says. "You can't do these kinds of things on most mobile platforms."

By contrast, "WebOS has fully embraced the notion of applications running at the same time, as PCs do," Sepulveda says. "You can now write applications that are more complex."

That ability raises the potential for problems, however. Apple restricts multitasking on the iPhone in part to prevent applications from interfering with each other or hogging limited memory, battery and CPU resources. The WebOS developers wouldn't go into details, but they say Palm has addressed those issues.

"I think you always run the risk of a programmer running amuck," says Eric Marthinsen, a partner at Agile Commerce, a Lexington, Mass., development shop that specializes in building custom, Web-based systems for start-ups. Agile has been working with WebOS and Mojo since early January. "But the way Palm has approached multitasking is very smart. It really mitigates that risk."

Leveraging Web development standards

Marthinsen and others see Palm's decision to base webOS on Web standards as a development watershed, because it leverages mature, well-documented, widely used technologies. Agile had little mobile development experience before it started working with WebOS. "With Mojo, we were up to speed in weeks," says Marthinsen. "The barriers for entry for developing on Mojo are very low."

Agile was able to quickly build a mobile version of FlightView's real-time airline flight tracking service (see a short demo). The Pre displays a real-time map of the flight, while the application continually monitors the flight in the background, and alerts you to any changes in flight status.

But the application also interacts directly with other parts of the phone. A click will add a flight to your calendar, for example, or launch a phone call to the airline's reservation service. By comparison, says Marthinsen, who uses an iPhone, "the iPhone is known for being fairly closed. With an [iPhone] app, you're very separated from the other applications."

"Palm has all kinds of great APIs to talk with the rest of the Pre architecture, to get location data, for example," says Pandora's Conrad.

(Apple is dramatically expanding the APIs available to iPhone developers, with 1,000 new ones in the 3.0 version of the iPhone OS, due out this summer.)

Palm Synergy is an example of how these elements can come together to create a new user experience. Synergy creates a unified logical view of different data sources and applications, such as contacts or calendar data, drawn from the phone, a corporate Exchange server and various Web accounts such as Google or Facebook.

"What's exciting about Synergy is that today I have to think about where to go to get all these bits of information," Conrad says. "What Palm has done is unified all this from the perspective of the user experience, by understanding there are certain kinds of online systems that share common semantics, which we can merge at the UI layer."

This story, "Palm's WebOS lives up to hype, early developers say" was originally published by Network World.

Copyright © 2009 IDG Communications, Inc.

How to choose a low-code development platform