Jo cross-platform demo screencast up on YouTube

Twelve minutes of Jo, showing the same JavaScript web app code running on webOS, iPhone, iPad, Android, Symbian and... Dashboard widgets? Yup.

First in a series of videos, this screencast is a quick intro to the cross-platform capabilities of this JavaScript framework (both for mobile apps with PhoneGap and mobile web apps). Followup videos will cover making your first Jo app, getting it running with PhoneGap, theming it with CSS and other goodies. Enjoy!

You can also read more about this open source project at


Jo and webOS part 2: window orientation and full screen

The last post revealed how a simple call to PalmSystem from your JavaScript code opens the door for you to take a stock web app with your favorite framework and turn it into a simple webOS app without having the overhead (or the wealth of cool features, in the interest of fairness) of Mojo.

Continuing with my explorations in the webOS 1.4.5 SDK, I’ve picked out a couple of other useful calls to the PalmSystem object. Both can be added to the “hello world” example I started in part one, and they’re really quick.

Free-wheeling orientation

A common requirement for mobile apps is the ability to respond to device orientation. I’m still digging around to see where you can hook into these events, but in the meantime here’s a simple call which is quite useful:


This tells webOS to let


Jo and webOS: bypassing Mojo

One neat discovery I found in the webOS 1.4.5 SDK is that it is possible to have a simple app which doesn’t use Mojo. Why would you want to? Load time! Mojo brings a lot to the table, but if you want to use your own favorite JavaScript framework, much of that ends up being overhead and increases your app’s load time.

Step one: Make a web app and test it in Chrome or Safari.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"  
<html lang="en">  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <h1>Hello World!</h1>

Save this into a new folder


Flicking and scrolling

So, when I made Jo, many of the controls were ported over from an older library used in my webOS titles. I was never completely happy with the flicky-scrolly-control, mostly due to sorting out event annoyances, especially between mobile platforms. Now it’s even worse, and I’m tempted to have platform-specific code for certain platforms which have their own enhanced gesture systems. More code, little build complexity, but possibly a big payoff. The animation will still be CSS3-based, so really it’s a matter of sorting out gestures from tap and drag events.


Jo: a new lightweight JavaScript app framework for HTML5

Wasn’t quite ready to put this out into the wild, but then I didn’t exactly set it to “private” on GitHub, now did I?

Have fun, and remember that the framework is working, but still under development. Please send me feedback (especially bugs).

I’m also looking for collaborators (both JavaScript and CSS), so message me on GitHub if you’re interested.