Technology analysis of the latest gadgets, consoles, and computer architectures.

Saturday, February 12, 2011

Palm WebOS 3.0 vs. Google Android 3.0 (HoneyComb) and User Interfaces [Updated]

Now that WebOS 3.0 for the Palm TouchPad has been announced and a more extensive demo of Android 3.0 was shown, it is time to evaluate these tablet UIs and the advantages and disadvantages to each approach.

Before we begin, let's review the classic UI approaches of Microsoft in Windows and Apple in Mac OS (X and iOS). The original Apple Mac UI (circa 1984) only supported running one application at a time (sound familiar?), with a centralized application menu bar at the top of the screen. The Apple menu bar (still in use today) changes based on what application is currently in focus. A single application can have multiple windows in Mac OS, but there is only a title bar attached to a window. By contrast, Microsoft attaches a menu bar along with the title bar to each window, which typically represents a single application. Closing a window will terminate the application on Windows if there are no remaining windows tied to that application; closing a window on Mac OS does not terminate the application, however. Prior to the Windows taskbar and the Mac dock, a task manager or top menu drop-down was used to manage any backgrounded applications, respectively. The modern Windows 7 taskbar and Mac OS X dock both provide an indication of running applications and quick access to launching docked or pinned applications, but the menu bar remains mostly unchanged, albeit hidden at times based on user preference or full-screen mode.

The proliferation of multitouch displays has reinvigorated the UI debate. Aside from making Windows 7 more touch-friendly, Microsoft has taken a different approach with Windows Phone 7, in which applications are incorporated in panels (similar to Zune or Xbox) where only one application is in focus at a time. Microsoft, Apple, Google, Palm, and RIM follow the same trend on mobile touchscreen displays as the original Palm OS, but the degree to which applications are allowed to run in the background widely varies based on what mode the application is perceived to be in. Microsoft's Windows Phone 7 has limited multitasking to OS services similar to the approach Apple had taken in iOS until 4.x. Apple introduced limited third-party multitasking based on certain events like audio playback, but the OS can still suspend an application if more memory is needed for another application and suspends the main process of a task when it is no longer in focus. Using Spaces on Mac OS provides an environment for each running application, much like what iOS is likely to do in the next iteration of their UI when there will be a gesture to switch between backgrounded applications. Google's Android treats applications more like Microsoft's PocketPC OS of the past, allowing applications to remain running in the background but opting to suspend applications if other applications are requesting for memory.

RIM continues down the path of real-time operating systems, moving from Blackberry OS to QNX; while the UI changed drastically during the transition from one core to the other, the approach of running applications seemed to remain relatively the same. Blackberry OS provides something like a mini-taskbar and sets third-party at a lower priority than Blackberry core applications, such as phone, email and messaging, but every running application is given a guaranteed time-slice. On the Blackberry Playbook, visible applications can remain running when out-of-focus or they can be paused to conserve battery.

Palm's approach for running applications continues to be based on the PDA and smartphone revolutions that the company led with the Palm Pilot and the Handspring Treo, respectively. Therefore, the primary PIM functions are what continue to drive the interaction between applications and the core services of WebOS. The Palm SDK provides access to the central database that contains contact information and messages, and the Internet is essentially a series of databases with useful information to applications, hence why the move to web APIs made the most sense. The PDK still provides hardware access needed for audio and graphics intensive applications. The card interface provides a way not only of organizing running applications, but also a way to stack information in a way that makes it easier to organize your life on-the-go. It also makes it easier to consume information and media on a larger screen, and is poised to contend with the dominant desktop UIs of Mac and Windows. (If the web wasn't so important to WebOS, Cards would be a funny name jibe at Windows for desktops and laptops.)

Android is taking many of the UI enhancements added by Palm in WebOS (courtesy of former Palm Senior Director of Human Interface and User Experience Matias Duarte, now Google User Experience Director), but embodies a mix between Windows and Mac OS without providing a way to view multiple applications simultaneously. While WebOS has yet to introduce the ability to dock and use multiple applications simultaneously, it is much closer to providing this ability than Google is with Android 3.0. The way Android 3.0 displays multiple notifications and provides the ability to dismiss or control them is taken from WebOS 1.0, the placement of notifications and the taskbar with shortcuts or menu for running applications is very similar to the Windows 7 taskbar, and the desktop takes widgets from Windows/Android and multiple screens from KDE/Ubuntu and ties them directly to applications. In a way, Android is the closest to providing a view into multiple applications through the use of widgets, but it is quite limited and not as usable as having the application in fullscreen. Google services do add a lot to the mix though; the tablet Gmail application takes some design cues from Palm's Enyo SDK and Windows (Android fragments vs. modular regions, menu bar), the animation framework and renderscript is similar to Apple's iOS and Palm WebOS, and the notification system from WebOS. Check out the Android 3.0 demo below if you haven't seen it already.



[Updated 2/12/2011 8:48PM]
Palm WebOS brings multitasking on mobile touchscreens to the next level. PDK applications that are fullscreen have full access to hardware acceleration; when multiple card mode is initiated, PDK applications are paused but can be resumed nearly instantly once they are in fullscreen again. SDK applications are essentially browser tabs that can be running simultaneously in the background. When an SDK application has a card open, it is sharing resources with any other open cards. When an SDK application is closed, it can register to check for web updates along with other applications at a set interval, which allows it to pop-up in the notification area. It can also reside solely in the notification area to provide regular updates (such as weather or tasks to be completed). The advantage of treating the card interface as a task manager is to make it well known to the user what may currently be contending for resources, while providing an option for an application to check for updates when it has been swiped away in a controlled fashion, similar to push notifications but locally. Push notifications for these events would be nice though; that is one mark that both Google and Apple have on HP.

The niceties of WebOS 3.0 include the sharing of text messages and ability to forward phone calls from a WebOS phone to WebOS tablet, bumping an open webpage from the phone to tablet (or vice-versa), card stacking, and with the Enyo SDK improved access to shared databases and a concentric UI for multiple size screens. It was sad not to see any sort of bluetooth stylus option or the ability to use multiple cards simultaneously in a split-view fashion (as outlined in my tablet predictions), and the gesture area will certainly be missed. If you haven't seen the Think Beyond event yet, check it out below...at least the video demo in HP's event was no Lady-Killer.

Monday, February 07, 2011

Motorola Atrix

This Android phone has sparked my interest due to one notable feature: webtop mode. This would be a great feature to use as a developer and a multitasker, and although it does not function nearly as well on the latter as WebOS might on a tablet or netbook, it provides a great environment for exploring and using Android apps and browsing the web when you require something more than a single-screen Android device can provide. Anyhow, check out the entire video from Engadget to see Joshua Topolsky switch between a PC dock, a netbook dock, and a TV dock. Spoiler: the screen becomes a virtual mouse for the TV when in webtop mode.