I got a WebOS version of my EveryMarathon iPhone app out the door for the HP Touchpad launch today – I’m releasing it as a free app for the Touchpad because I don’t have a tablet yet to test it on, so if it’s got a few quirks, I don’t want any disappointed customers :)

One of the things I wasn’t sure about with EveryMarathon would be what the UI patterns would be for the TouchPad – for instance, how are most people going to integrate web views into their app? This isn’t necessarily a technical problem – HP does have a nice Design Guidelines document as part of the WebOS 3.0 SDK, but just like iOS, I’d expect certain patterns to emerge as standards.

One of the fun things about the new HP Touchpad tablet is that it’s got the best web development framework I’ve ever worked with – Enyo!

I’d love to build all my web apps with Enyo on the front-end and a thin back-end like Sinatra for Ruby after working with Enyo for just a little while.

If you’ve been doing any kind of Javascript development for the web, remember when you first saw jQuery, Prototype, Dojo, or any similar framework and saw how easy that made some things with JavaScript? Enyo makes building the whole front-end that easy – no more HTML or CSS box model. Instead you get to use layout managers to write your app – similar to Android or Swing, but not exactly the same. There may be other Javascript frameworks that let you program in a similar way, but I haven’t used them – let me know if there are any!

I found that WebOS 3 is missing a lot of community support compared to iOS development – with iOS, usually if I have the problem, other people have had the problem too, so it’s easy to start tracking down a solution through GitHub, StackOverflow, or just plain Google. With WebOS, the number of developers is a lot smaller, and the only place to discuss programming for the Touchpad has been a private forum on the Palm Developer web site.

On the positive side for WebOS development – getting JSON from a web service is unbelievably easy, the UI library seems to be well thought-out, and there are no weird code-signing/certificate issues like iOS – that was a breath of fresh air! Testing an app on the emulator is as easy as running palm-package on the directory with your app in it, and then running palm-install <name-of-app>, and boom, app is running.