Palm Pre Post-Mortem

Yesterday morning I went and picked up an HTC EVO 4G (post forthcoming). Like I did for my Iliad (inspired by Bunny’s exit reviews), here’s my (probably) last post on my Palm Pre (see earlier ones). This will be a bit long and rambly, and will be as much about the webOS platform as the device. You’ve been warned. 🙂

My Palm Pre

As you can see from the photo, physically, my Palm Pre hasn’t fared so well. I’m not gentlest owner – gadgets are meant to be used is my philosophy, but the Pre has fared much worse than my past few phones. Not only was plastic screen was a huge step back from the glass screened iPhones in terms of picking up random nicks and scratches, but in general, build quality left a a lot to be desired. Like all early Pres, mine suffered from light leakage (especially as it got warm) and a wobbly/not so nice feeling slider mechanism (the Palm Pre Plus is much better in that regard). In terms of wear and tear, the center button’s frosting/paint peeled off very early on. Hairline cracks developed at the corners seemingly of their own accord, and after flimsy USB/charger door finally snapped off, a huge crack started (continues?) growing on the side. Basically, it the hardware itself felt like it was on its last legs and over the past few months, really made me antsy about getting a new phone.

Last year, after giving up on AT&T and then spending a few weeks comparing an iPhone, Google Ion, and a Palm Pre, I went with the Palm Pre as my main phone. At the time, the Ion (HTC Sapphire) was running Cupcake, and for a variety reasons (no 3.5mm headjack, focus stealing bugs, and general UI wonkiness and incessant lag/chugging), really turned me off (I can still remember my disbelief how bad orientation changes were). In comparison, the Palm, while being the least mature, was obviously a better user experience.

Overall, I’ve continued to be a fan of Palm’s webOS, and it’s been a bit sad to see the lack of traction they’ve had in the market, especially considering how much of it they “do right.” That being said, it’s not exactly surprising. Besides some pretty huge strategic marketing and distribution missteps early on, there were/are a lot of technical/real reasons that it hasn’t been that successful.

First though, what Palm does right. I went to the Palm Developer Day for a variety of reasons: as a Pre owner/webOS developer (w/ interest in what was going on w/ the platform APIs, also a bone to pick w/ the state of their HTML5 support), a former developer event organizer (running Hack Days and such), and a long-time Palm fan (I had a USR Pilot! and I wanted to check out PalmHQ before they went out of business (or as it turns out, were acquired)). And… it turned out to be an awesome event. Just super-well done on every level.

I believe that what Ben, Dion, et al are doing w/ the Palm Developer community are spot on, and the APIs they’re rolling out are pretty exciting. As a web developer, the vision for webOS is pretty compelling, and the technology stack is pretty sweet. (The last talk of the day on the “secret” history of webOS by Rob Tsuk, was also pretty great, especially for anyone that’s poked around in the guts of webOS).

And of course, there have been plenty of people poking into the guts of webOS. One pleasant surprise, is that webOS has the cleanest/easiest to work with Linux I’ve seen on any phone (yes, it beats out OpenMoko). The second pleasant surprise is that Palm has been downright benevolent, nay, welcoming of the tinkering and hacking community (see also: WebOS Internals). There’s no “rooting” or “jailbreaking” and system modifications don’t require flashing ROMs, but rather with simple patches. In fact, since almost the beginning, there has been ipkg-based package management apps available (the current state of the art, Preware, makes all this downright civilized).

Because most of webOS is JavaScript based (basically, a WebKit/V8 instance sitting on top of Linux w/ a D-Bus service bus and some Java processes (being phased out)), there are many patches available that directly modify the system UI and included apps. I currently have almost two dozen patches, including those that change how the launcher is laid out, how the date and battery usage are displayed, text counting in the SMS app, how apps can be deleted, what the power button does. Just about any aspect of the system can be modified. (Heck, one guy, Jason Robitaille, has written tons of useful patches that have just made things so much more pleasant this past year. Thanks Jason!) The flip side, however is that the number of people that have installed these mods is almost certainly <1% of the installed base. Which isn't to say that there aren't things about the webOS that aren't inherently great. Both the notification system, and the "card" view for multitasking, are the best implementations of any mobile OS I've used. The UI is by and largely very well thought out. Unknown_2010-05-06_201514.png govnah_2010-05-06_202230.png govnah_2010-05-06_201502.png

However, even with all these pluses, there are issues that both have kept me from being very active in evangelism, and also leading to my recent switch. The rest of this post is critique. Since this is already too long, I’ll be moving to bullet points:

  • While Palm has a competitive platform, their hardware and overall rate of innovation is inadequate. At a friend’s suggestion, I loaded a CyanogenMod version of Donut on my Ion while on my Buenos Aires trip the end of last year. This was leaps and bounds better than Cupcake, and 2.1 and 2.2 are better still. What Android lacks in UI polish is made up for in performance, capabilities, and in sheer velocity, both of software and in the breakneck pace of newer and better hardware releases. Apple has been able to successfully fend off this relentless drumbeat thanks to its huge lead/install base and total UX superiority, however Palm obviously doesn’t have the former, and is hampered in the latter. Even still, come next week, Apple will have a next-generation hardware refresh that will bring it inline w/ current expectations (WVGA+ screen, HD capabilities), while Palm … just doesn’t.
  • webOS suffers doubly from not having any new hardware in sight because webOS is less optimized than Mobile OS X and Android, being both laggier and often running out of (and leaking) memory. It took probably half a year or so to get webOS to a good level. Even now, basic animations (CSS transforms) have yet to be GPU-enabled. And even after using an overclocked kernel (which clocks the OMAP3430 from 550MHz to 800MHz), my Pre suffers from enough intermittent performance issues (lag) to make me wish for something better (I actually like the keyboard and form-factor of the Pixi more than the Pre, but it’s even more under-powered)
  • Now admittedly, the worst of the issues has to do with the browser… all the WebView instances are actually shared, so when one runs out of memory, all of them end up getting kicked in the head (blanking out and reloading). Where this really hurts me is that webOS’s Google Maps app is really a WebView, not a “native” app. Beyond being grossly less featured than the Android or iPhone versions, it also inevitably loses state at the worst possible times while I’m navigating. I travel *a lot* and this has been one of the banes of my existence.
  • Speaking of the web browser, one of the other painful truths is that (ironically), webOS’s HTML5 support is worse than iPhone 3 and Android 2’s browsers. webOS is just using an ancient build of WebKit and it doesn’t have support for W3C Geolocation (good luck trying to use the NextMuni site), touch events, session storage, or web workers. ARGHULURHRHRHHH
  • There are a few other annoyances, like 2 minute boot-up times (I got an extended battery early on, which turned my Pre into a boat, but also meant that I almost never ran out of batteries unless I forgot to charge it, but I ended up rebooting a fair amount due to memory errors or other glitches – like with the radio or GPS), not being able to load things on boot (say launching the Govnah, or Brightness Unlinked, two must have homebrew apps) or not being able to upload to Flickr from the camera/gallery app (unfortunately, this couldn’t be implemented through the standard sharing framework because it required implementing account stuff through the palm bus, which won’t be available for developers until later this fall)
  • On the topic of APIs/software – having a recording API (again, coming by the fall) will open up whole classes of apps (voice recorders, Shazam/Sound Hound), but even with the APIs coming, there are still basic gaps (like a proper permissioning system, or stats/usage recording)…
  • I get it, it takes time to build – as a developer (and if I were primarily a mobile developer) this also makes it an exciting opportunity. With HP’s backing, presumably, webOS will continue to grow. However, as an end-user, it’s clear where the momentum is, and the apps/capabilities really speak for themselves. And I guess, more than any complaints about webOS specifically, it’s that it just that it just doesn’t fare well against the competition. I’m still avoiding the iPhone (mostly AT&T, a little bit customizability, a little bit principle), but even against Android… in terms of apps (now actually useful desktop widgets, offline news readers, wireless scanners, call analysis programs, SMS autoreply/scheduling, geofencing actions,, Pandor, Slacker, Rdio, and Spotify, Shazam, and a host of navigation apps (including compasses, OSM offline maps, and Google Maps)) and hardware (touch focus camera, front-facing camera, microSD storage, etc, etc) there’s just no contest.
  • Competition is a good thing and I’ll be keeping tabs of what happens in the webOS world, but for now, I’m hopping on the Android train.