Archive | January, 2012

WebOS: please stop twitching and die already

2 Jan

I’ve read a lot of posts digesting the NYT’s article about WebOS and the HP TouchPad, In Flop of HP TouchPad, an Object Lesson for the Tech Sector. It is mostly a welcome contrast to the pro-WebOS, we-must-save-WebOS, why-is-HP-killing-such-a-great-technology writing of 2011, but it still waxes a bit poetic about its purported architectural purity. Given the small number of actual WebOS devices sold and the infinitesimally small number of developers who have written for it, the vast majority of people weighing in on the beauty and glory of WebOS are basing their opinion solely on Palm/HP marketing videos. I did development on WebOS and used the Palm Pre for almost 2 months as a secondary phone. The reality was:

  • WebOS was slow and buggy (though interestingly smoother and more thought out than Android)
  • WebOS had at best 3 interesting UI innovations (multi-tasking gestures, task/calendar integration, and address book integration)
  • developing for WebOS was slow, painful, non-intuitive, and the overall architecture was the worst of native code combined with the worst of the web

For me the resonating quote was:

After some internal debate, the company chose to have WebOS rely on WebKit … a mistake because it prevented applications from running fast enough to be on par with the iPhone. But a former member of the WebOS app development team said the core issue with WebOS was actually Palm’s inability to turn it into a platform that could capture the enthusiasm and loyalty of outside programmers. There were neither the right leaders nor the right engineers to do the job.

Through our friends at Elevation Partners (a big Palm investor at the time) senior tech and marketing folks at Palm approached us at iLike about 6 weeks prior to their launch – they wanted some kind of music-related application and promised us prominent marketing placement in their application store and presence at events. Our rapid growth and popularity (and assumed financial success – HA!) on Facebook was an oft-repeated story used by many people to validate the concept of “win-win” application ecosystems on social platforms. We also happened to be very good at integration: Orkut, Hi5, Bebo, OpenSocial, iGoogle, iPhone… every new platform player would approach us about integration, and our technical architecture was flexible enough to allow us to very rapidly launch at scale.

We had a small internal debate about spending time and energy supporting Palm, because it was not at all clear that the product would succeed against the iPhone. On the other hand, we were always interested in gaining first-mover advantage on a platform that might grow quickly and give us more users. In the end I pushed us towards building something because (a) I really like new hardware, and (b) I promised that only Todd & I would work on the project for at most 2-3 weeks.

After filling out a stupid quantity of paperwork, NDA’s, and navigating an alpha-at-best developer portal, we gained access to the SDK, tools, and simulator and started work.

Right off the bat, just reading the initial documentation and plugging through the one sample, it was clear that the sweeping overview of WebOS as “just web development” was wrong. It wasn’t standard HTML5 in terms of data, effects, offline, or styling. The Mojo “MVC” framework was bizarre, and the simulator and device development cycles were slow and lacked debugging capabilities. Literally, completely lacked the ability to do any kind of debugging of a running application. Wow. This is generally a sign that the development team has not been building applications with the thought towards anybody else building them.

After much trial and error, and borrowing heavily from the much longer design and implementation effort we had put into Local Concerts for iPhone (pulled by folks at MySpace? presumably because they can’t support it), we (and by “we” I mean perhaps 5% me and 95% Todd) quickly jacked together the Local Concerts App for WebOS.  Because we were able to reuse or slightly tweak site- and iPhone-designed web-services for geo-location, user-identity and account linking, preference storage, concert listing, notifications/calendaring, album and artist imagery, it was really just a front-end app, and so it didn’t take very long and also didn’t require a great deal of service debugging. We published the app to them for their launch event having never been able to try it on real hardware — Palm promised us hardware but never delivered. Our app hung on the new hardware, which was running a more recent build of WebOS. Palm didn’t update their developer seed before shipping, so we couldn’t simulate with the new WebOS to debug — I ended up buying two Palm Pre’s the day they came out so we could fix the hang and repost the binary to their store — as one of about 20 apps in the store, we were heavily downloaded at launch, and we were dinged in reviews for hanging.

Palm didn’t promote our app as much as they had promised, but last I checked before leaving MySpace it had something like 45,000 installs across Pre’s and Pixie’s.

I continue to receive automated email from their developer portal, asking me to please update the application to the newest APIs, or do things for the TouchPad, or letting me know that things are great with the HP acquisition. I wish people would internalize that the thing was a technical and operational disaster and stop pretending it was terrific — it wasn’t. I wish WebOS would stop twitching and die already.