I am a bit of a mobile nut. First I had an iPhone, and quickly expanded from a single “daily driver” to a selection of fashionable smartphones for all occasions. These include the 3GS, Bold 2, Nexus One, and the latest addition, the HP Palm Pre 2. However I haven’t used a Palm device since a late ’90s Pilot, I can already begin to draft Palm’s obituary after two weeks on the Pre 2. Perhaps the biggest shock was how quickly I was let down by webOS as a whole; I really did have high hopes for the “new” Palm with the Pre (at CES 2009) and have continued to triumph that webOS is the most-Apple non-Apple operating system. First, some background.
In 2007 Jon Rubenstein, a former Apple executive responsible for trimming the Mac line-up in the late ’90s and later developing the iPod, joined Palm. Using the invaluable experience from developing and shipping mobile devices at Apple, he was crucial to the development of Palm’s saviour movement to compete in the modern smartphone market against the iPhone, Android, and Blackberry. webOS premiered at CES 2009 and, should it have shipped the following quarter, would have given the iPhone a run for its money. From day one the Pre (the first device to run webOS) offered multitasking; background process management; cut, copy, and paste; and the entire feature set of contemporary iPhone (3.2MP camera with video, multitouch, 3.2mm headphone port, GPS, WiFi b/g, accelerometer, notifications, a WebKit browser, App Store, and 3G–albeit Sprint’s CDMA/EVDO). But it didn’t.
Eighteen months later (October 2010) came the reluctant rollout of the third-generation of webOS devices, the Pre 2 at the helm. The Pre 2 boasts a 1GHz processor, 3.1″ multitouch screen with Guerrilla glass by Corning, a sliding QWERTY keyboard, a gesture area, 512MB of RAM, 16GB of internal storage, webOS 2, 3GSM (HSPA/AT&T/Rogers) compatibility, and a $449 price tag (from Palm online store available in GSM or Verizon CDMA flavours). Compared to the 3GS (which shipped before the original Pre) this would be a reasonably comparable device with a faster processor, twice the memory, a $150 savings, Flash 10 capability, and an awesome notification and multitasking metaphor that iOS is still trying to figure out. The biggest sale was to developers: a Javascript API that devs already know!
The most compelling feature of any smartphone is app availability. I’m not a believer that the number of apps available for a platform is any kind of indicator of the success or usefulness of a platform; just that you need a core set of applications that are essential to you, like Facebook, a good Twitter client, a music player, etc. The hope with webOS was that developers would port their existing web apps (that Apple has iPhone devs craft in 2007 with their web SDK) to native webOS apps with ease. Compared to the contemporary platforms, webOS used the highest level language in place of Java (Android, Blackberry) or C (iPhone as Objective-C is a superset of C) and supported dynamic typing, automatic memory management, and other modern language features. That was the hope, at least.
- iOS has had this from the early days of native apps (2008) as Facebook launched a “web application” in 2007 and a native version a year later; Tweetie (now Twitter for iPhone) by Loren Brichter launched in November of 2008 (just five months following the release of the native SDK at WWDC).
- Android has had Facebook native since summer 2009 and numerous Twitter clients, including twidroid (now twidroyd due to legal issues) since fall 2008.
- Blackberry had Ubertwitter (now Ubersocial due to legal issues) since 2009 and an official Twitter for Blackberry client since summer spring 2010 as well as Facebook since fall 2008.
- webOS has no official Twitter client as of now, nor does it have any particularly useful ones either (I picked the so-called crème de la crème one, phnx for $2.99 and it is pretty immature so far). Facebook for webOS premiered in spring 2010.
webOS is slow (as research for this entry I stumbled upon this podcast, Hypercritical, which offers some explanation and discussion). I don’t entirely understand the reasons why it’s so slow, although the most suspect reason is that the entire native SDK is built on top of WebKit. WebKit itself is an incredibly fast layout engine complete with Javascript support that is utilized by Safari (Mac, Windows, iOS), Dashboard (Mac OS X widget host), Chrome, Android browser, webOS browser, and Blackberry OS 6 browser.
It seems to reason the use of WebKit is not the problem, but more likely in implementation. The kind of speed issues I’m facing remind me of the transition in browsers from (traditional) Javascript interpreters to Javascript compilers. The primary difference is that Javascript is first compiled to native code before being run: there is an initial performance hit as it must compile before anything can happen, but it is particularly efficient at repetitive tasks (as are found throughout modern web apps). The best case study would be the evolution from Firefox 3 to 3.5 which upgraded to a JIT compiler. The difference in speed was somewhere between 20 and 40x. Perhaps webOS isn’t capitalizing on modern innovations in WebKit such as JIT compilation.
But where would you see this? The best example of the sluggishness of webOS is in switching between chats in the built-in messaging (SMS/MMS) app (which doesn’t do any kind of character counter!). When in one chat you perform a left-slide gesture on the gesture area to return to the list of chat threads then you tap on another chat to respond. There is a noticeable time, perhaps three quarters of a second load time to show these messages and an additional half second before typed characters are registered by the text box (typically the first couple characters you type are ignored so you get partial words that you have to correct). Even the Blackberry, which may freeze for minutes at a time when performing any menu action, does this right: everything responds nearly instantly and characters may not appear immediately but are buffered and eventually appear in the right order. In other words, the Blackberry understands your intentions.
All of the problems with webOS stem from immaturity. The speed issues are reminiscent of a 1.0 software release, not a 2.0 update that should be polished. My overall judgement is that webOS has no place in the market as developers clearly aren’t adopting the “modern” API architecture and the user experience doesn’t feel competitive with iOS, Android, or Blackberry. It’s as if webOS developers are unaware of the goings-on of other platforms and have evolved in a vacuum without the influence of the industry. For example, all of the Twitter clients I tested don’t do “pull to refresh,” rather use a button or “shake to refresh.” Also, none of the clients offered to complete usernames mentions when composing a tweet, not even offering a selection panel like Twitter for Android; the best client did, however, allow you to reply (but not “reply to all”) and filled in the user name. The UI for phnx has two themes: one navy blue with white text, the other black with white text, reminiscent of the early days of iOS apps, where modern apps have become lighter. These are conventions that have been offered on most clients for the better part of a year by now but haven’t ventured to webOS. The best way I can describe the end-to-end experience is like walking into a time machine to 2009 where the Pre was released in lieu of the iPhone. The problem is that most people have experienced the responsiveness and feature sets of modern platforms by now and that cannot be ignored no matter how hard you try.
The Pre 2 hardware is perhaps the most quirky. In addition to being the thickest mobile phone I’ved used since 2000, the Pre 2 is also the best fingerprint magnet I’ve ever owned. The Guerrilla glass lacks a coating that we’ve become accustomed to since the 3GS that prevents oils from adhering to the screen. The glass itself feels grippy and almost resists your finger gliding to perform gestures. This leads to an almost “gross” experience as the screen looks, feels, and always is dirty. The soft-touch plastic Palm uses is commendable and feels like it would resist scratches, cracks, and dirt. The sliding motion of the QWERTY keyboard is excellent, except that I haven’t yet figured how to hold the phone with one hand to hit the sleep/wake button without inducing the sliding motion. The keys themselves are tricky: Palm has recessed the keys behind a bezelled lip around the keypad that makes them unusual when coming from a touchscreen or Blackberry Bold keyboard. (There is no option to use a touch screen keyboard).
Possibly the quirkiest feature is the use of autocorrect with the physical keyboard. Out-of-the-box the dictionary is very limited and doesn’t know common text slang such as “lol” or even common contractions (such as getting “don’t” from typing “dont”) and opts to replace these with seemingly random words (ex, by default it replaces “dont” with “weird”). The dictionary claims that it does learn but I have yet to witness it learning, but keeping the preference pane (“Text Assist”) to edit the dictionary quickly is easy with the card view multitasking. By far the most useful feature for typing is to set up short cuts which can be any “word” or character (but not space) that is replaced with another word, for example, by default “r” will be replaced with “are” when “r” is not connected to anything and you hit the space key. I’ve used this short cut feature to set up common contractions, “youre” → “you’re”; “arent” → “aren’t”; “ill” → “I’ll” and more.
My verdict: webOS feels like a $199 feature phone with great font rendering. The gesture area is not really intuitive and doesn’t provide any added function beyond Android’s physical “back” button or iOS’ software buttons. It simply is not possible to recommend this phone to anyone given that you can get a Blackberry Curve with a much better keyboard, a much more responsive experience, and a complete social package for $50 less (retail Curve 9300 is $399 from Rogers). That said, if HP is able to find a good dev for a Twitter client (to include/offer for free) and is able to speed up the phone to contemporary levels then this would be a different story.