This continues my review of the HP/Palm Pre and webOS. Click here for the introduction and review of the Pre hardware.
It is difficult to ignore that the webOS user interface was pretty closely inspired by Apple’s iOS on the iPhone and other related devices. Palm was the first to directly challenge Apple’s claimed exclusivity on a multi-touch gesture based interface on a handheld, which creates some obvious similarities between the interfaces of the two phones. I’ve never owned an iPhone, but have become familiar with it because of my wife’s phone as well as some friends and co-workers that have them. HTC also tried to emulate some of the iPhone-style gesture navigation with the Touch Pro, although it was greatly affected by the limitations of a resistive touch-screen, the lack of multi-touch, and the overall non touch-friendly design of Windows Mobile.
Like the iPhone, the Pre uses a capacitive touch-screen which relies on the conductivity of human skin. This prevents it from detecting input when using a stylus or much of anything else other than a finger. This type of touchscreen allows generally accurate finger-based selection with fairly high durability and easy support for multi-touch. It also demands a user-interface that is designed for finger-based touch in essentially every aspect of its operation. The physical keyboard on the Pre allows for more traditional data entry and the webOS design makes use of the keyboard to augment the touch screen for tasks such as precise cursor positioning and text selection. I can’t fault Palm for copying Apple’s approach to touch navigation as the approach works well. Scrolling, panning, and zooming are incredibly easy and intuitive.
Directly under the screen there is a touch-sensitive “gesture area” that is used for some additional navigation. The most commonly used is a right to left swipe across this area that goes back to the previous screen. This is used so frequently that the initial device set-up process when the phone is powered up for the first time includes a short practice session for it. The other frequently used gesture is an upward swipe from the gesture area onto the screen, which opens the main application launcher, and there are a handful of other less frequently used gestures. Tapping the gesture area is used to initiate cut/paste and other special operations. The gesture area has been hailed as one of the more inventive elements of webOS, but I am actually a little torn about its value. I’ve gotten used to it, but I’m not fully convinced that “back” and “home” buttons wouldn’t be simpler and more straightforward.
I also am not 100% sold on the completely stylus-free interface as I still find occasions where I would like to be able to select items with more precision. In particular, corrections and insertions during text entry are tricky, although WebOS does alleviate this by allowing finger swipes to be used for linear cursor movement when the “orange” key on the keyboard is held down. I have also sometimes wished for a stylus (or even responsiveness to fingernails) when selecting smaller links in web pages or emails or when playing some kinds of casual games. Still, the combination of good predictive algorithms and easy to use zooming does minimize this as an issue. Of course, the lack of a stylus eliminates the possibility of handwriting recognition or freehand note taking.
Any photo can be set as the background image on the phone (I currently use a photo of Sleeping Beauty Castle at Disneyland). The photo to use can easily be selected from the Photos application. The webOS approach of hiding the launcher when not in use makes this particularly useful as the background photo frequently is fully visible instead of being hidden by icons. Even when the launcher is displayed, it is kept slightly translucent so that the background image is still slightly visible.
The main set of screens for accessing the functions and applications on the phone falls short in some key areas, but the good news is that webOS 2.0 promises to fix the biggest problems. The current design is essentially identical to the one used by Apple on the iPhone, but this is one place where Palm should have looked more closely at their own history than at what Apple had done. The menu is presented on three pages of icons, with swipes used for vertical scrolling and for moving from page to page. Icons can be moved around by holding and dragging.
This menu system works, but is pretty limiting when it comes to organization, particularly if you have added many additional apps to the phone. The launcher design for the older Palm OS was actually much better and should have been adapted for webOS. The Palm OS launcher allowed every application/function to be categorized, with each category having a separate page of icons. Common default categories (like “Main”, “Games”, “System”, etc.) were included, but users could add or remove categories at will. This design made it much easier to find what you were looking for, particularly on a fairly loaded phone/PDA.
Unofficial patches from the webOS homebrew community have already added the ability to add and remove pages from the launcher, getting past the 3 and only 3 page limitation on stock devices. webOS 2.0 will make that an official feature and will also add the ability to give each page a name, effectively restoring the categorization abilities of the old Palm OS. These are changes that are long overdue and will be very welcome.
The launcher also includes a docked set of 5 icons at the bottom of the screen. These are present whenever not in an application and the dock can be quickly brought up from within an app by pressing down on the gesture area and swiping upward. By default, the dock includes icons for calendar, phone, contacts, email, and the main menu. The first four positions can be switched to other applications if you prefer, although I’ve left them at the default as those actually are the apps that I most often want to quickly launch. The icon for opening the main menu, which can’t be changed, is actually pretty pointless, since a simple upward swipe from the gesture area does the same thing.
The question of whether or not user-controlled multitasking is necessary on a smart phone generates a fair amount of debate and controversy, although I think that is really only because Apple doesn’t fully support it, and their current limited implementation was just introduced last year. Apple’s implementation places limits on what kinds of functions can run in the background and requires that apps be specifically enabled for multi-tasking by their developers. In contrast, webOS allows any application (built-in or third party) to run in the background.
All smart phones have to be able to multitask for some functions, such as detecting incoming phone calls and text messages or playing music in the background. Only some of the current platforms allow for more than one application to run at a time fully under the user’s control. The iPhone and the older Palm OS are the most obvious examples of ones that do not. The ability for full, easily-managed multitasking is frequently touted as one of the biggest advantages that Palm webOS has over both its predecessor and the iPhone.
The most persuasive arguments against full multitasking include it being overly taxing to the limited CPU, memory, and battery life on a cell phone and that managing multiple applications at once can be a challenge with such a small screen and limited control set. Arguably, the multitasking features were one of the biggest contributors to the instability and complexity of Windows Mobile. The other side of this argument (and the view I subscribe to) is that it should ultimately be up to the end user to decide whether or not to accept the tradeoffs. To Palm’s credit, the implementation in webOS is excellent and generally does address the user interface problems, although running too many applications at once still reduces battery life.
webOS uses a deck of cards metaphor for multitasking. Within any application, pressing the small round button in the center of the gesture area reduces the current screen to a card, which is a rectangular thumbnail. You can then use horizontal touch flicks to switch to the cards of other open applications or you can bring up the main menu or quick launch bar to open other applications. Pressing and dragging a card allows the order to be re-arranged. Any open application can be closed by going to card view and simply flicking it upward off the screen. In the current version, pressing the button while already in card view makes the cards smaller (nice for when you have a lot opened), although I’ve heard that no longer works in webOS 2.0.
This interface is very intuitive and easy to use. It is certainly much more straightforward than the Windows Mobile task manager. I understand from friends with Android phones that OS also uses a similar approach to Windows Mobile. Even Apple’s limited multitasking introduced with iOS 4 has a more clunky interface involving a task bar brought up by double clicks on the home button. Closing an iOS application requires opening the task bar, pressing down on the icon for a few seconds, and then tapping an “x” that appears next to the icon. This is way more cumbersome than simply flipping a webOS card upward.
I find the multitasking on the Pre to be very useful and have a hunch that I would quickly be frustrated if I went back to a phone without such an elegant implementation. When reading through email or social networking messages (Twitter or Facebook), it is nice to be able to open up web links that I can quickly switch over to after I finish going through the messages. There have also been many cases where I have wanted to cross-reference between emails and calendar entries, sometimes including cutting and pasting of text. Finally, it certainly is nice to be able to easily pause a game or video when I need to switch over to email, calendar, etc.
Admittedly, all phones generally can handle these same types of things at least to an extent via saved application states, but true multitasking is faster and more reliably and quickly returns to exactly where you left off. Palm’s implementation of it here is the best I’ve yet seen on a mobile platform.