When the Palm Pre appeared two months ago, the world took one look at the
graceful curves and immediately decided there was finally a contender that might
stand a chance of attracting some of the crowds clustered around the iPhone.
While the Palm Pre's shell may lure some buyers, the software on the inside is
just as important. After all, smartphones are just computers for our pockets,
and the depth and breadth of software available is a big selling point.
The software at the core of the Pre is even more novel than the design. Palm
calls it WebOS because the dominant programming languages are HTML, CSS, and
JavaScript, the three syntaxes that power Web sites and browsers. This combo is
dramatically simpler to use than old-school languages like Object C, so Palm has
lowered the hurdles for any new programmer. If you can build a Web site, you can
build a phone app.
To test this out, I built a few phone apps with the Palm Mojo SDK and came away
thrilled with the simplicity. The Mojo SDK doesn't have the word "beta" floating
around it, even though it's much younger than many other products that still
sport the label. I think it would be fair to apply it here. The general outline
of the system is solid and usable, but there are numerous rough edges and dark,
undocumented corners. These should be easy for Palm to fix with ample time and
attention.
Mojo rising
The SDK comes with an emulator, an inspector, a few command-line tools for
compiling the code, and some samples. Many people will probably want to get the
extensions for Eclipse that hide the command-line complexity and handle the
compilation and installation for you. Eclipse is used by most other smartphone
manufacturers as well.
The Mojo tools show flashes of genius but often reveal strange glitches. The
Inspector would often get disconnected from the Emulator, so I couldn't use it
to dig into the structure of the running application. Debugging is an exercise
in command-line fun because you ssh into the emulator to look at the processes.
I'm hoping for something like Firebug in the future.
The options are coming quickly because of the relative openness of the platform.
There are now extensive automatic completion routines for WebOS programming for
the Komodo editor from ActiveState Software. I'm sure other tool companies will
jump on board.
Palm Mojo SDK v.1.1
Pros Web-based paradigm is well understood by many developers.
Model-view-controller structure is widely embraced. Open architecture for the
tools encourages integration with Eclipse and other environments.
Cons Rough edges everywhere in the documentation and the functionality. Game
programmers can't get at OpenGL or the lowest layers easily.
Cost Free download
Platforms SDK installs on Mac OS X, Linux, or Windows (requires Java); the Palm
Emulator requires VirtualBox.