Programming WebOS

I’ve been too busy to blog lately. No deep technical content this time, but I thought an update was in order.

A while back I decided I wanted to try my hand at mobile app development. This meant choosing an initial platform to develop on. After some deliberation I chose Palm WebOS.

Why not iPhone? All my friends – and I do mean all – use the iPhone. Why not go with the platform that has become the clear winner among techies and coders?

One reason is that to develop for the iPhone, you really need to be participating in the Apple ecosystem. You need a Mac to develop on it. It works best with other Apple devices – e.g. syncing to iTunes on a Mac. Etc.

A couple years ago I fully intended to transition at least partly to the Apple ecosystem. But I changed my mind about that, for reasons which deserve a blog post of their own. As I’m writing this we have five operational computers (and one Linksys router) in the house, all running some version of Linux. No Windows machines (at least until my stepson and I finish the gaming machine we’re building together), and no Macs.

Another reason is that I’m just late to the party, and I don’t feel like playing catch-up. The iPhone has a thriving, perhaps even glutted, market for apps right now. There are fewer and fewer categories left where a n00b developer could make a significant contribution.

The iPhone is an AT&T phone. We used to be Cellular 1/Cingular customers, and we have zero interest in going back.

And finally, I’ve always liked taking the road less traveled. I used OS/2 when everyone else was transitioning to Windows 95, and I had an Atari Lynx when my friends had Gameboys and Sega Game Gears. Here’s hoping the Pre and WebOS fare better in the market than OS/2 and the Lynx.

So why not the “gPhone”? In some way’s Google’s phone architecture is the most interesting out there. I love how the whole OS is Open Source. Until I saw the Pre launch I really thought I was going to get a gPhone. And I probably still will at some point.

But the Pre intrigued me. A few reasons:

  • The interface is gorgeous. And after several weeks of use, I can only say that it’s even nicer than it looks at first introduction. The Pre is the first device I’ve ever used with a true gestural vocabulary. Using it is intuitive, appliance-like, and efficient.
  • It’s Linux-based. I like Linux. I like a phone I can SSH into.
  • The Mojo API, with it’s strong basis on HTML5 technologies, makes for a very low barrier to entry for a new developer. I happen to like Javascript and think it’s well-suited to GUI development.
  • It has an available emulator for legacy PalmOS apps. I’ve made a significant investment in PalmOS apps for my Treo over the years, so this is a nice perk.
  • It launched on (and is therefore inexpensive from) Sprint. Our family uses Sprint and we’ve been very happy with the service.
  • I love the form factor. The Pre is the first phone I’ve had in years which is comfortable in a pants pocket.

So I’ve been busy over the last week or so outfitting my old personal laptop for WebOS development. I’ve got the emulator up and running and all the Eclipse plugins installed. I’ve started reading the official Palm WebOS book and John Resig’s “Secrets of the Javascript Ninjas“; and I have a copy of Crockford’s “Javascript: The Good Parts” in the mail.

I’m looking forward to building apps for the Pre and other WebOS devices. I’ll post more as I learn more!