August 12, 2009

Palm's Mojo SDK for the Pre mixes simplicity, rough edges

With Palm's WebOS and development tools, Web programming ascends to the throne and powers the app layer, but Palm's platform is clearly a work in progress

Bottom Line
Palm Mojo SDK 1.1 feels unfinished, but has enormous potential. Palm's new webOS places classic JavaScript, HTML, and CSS in the driver's seat for the apps for the Palm Pre. Borrowing the tools from browsers makes it easy for talented JavaScript programmers (but not Web designers) and opens the possibility for many ideas from the Web to flow smoothly to Palm Pre users.

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
ProsWeb-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.
ConsRough edges everywhere in the documentation and the functionality. Game programmers can't get at OpenGL or the lowest layers easily.
CostFree download
PlatformsSDK installs on Mac OS X, Linux, or Windows (requires Java); the Palm Emulator requires VirtualBox. 

Read more about mobilize in InfoWorld's Mobilize Channel.

Close

On Twitter now

Mobile applications

Powered by Twitter

On Twitter now

additional resources
White Paper - How to Improve Delivery of Advanced Web Applications

White Paper

Virtual Workforce: The Key to Expanding The Business While Cutting Costs

Get the independent advice and expertise you need to support a virtual workforce.

Go inside:
The three-step approach to making a virtual workforce a reality.
The four flavors of client virtualization technologies.
The three key initiatives that solve IT challenges.
Download now »
White Paper: Successfully Secure Your Wireless LAN With Wi-Fi firewalls.

White Paper

Addressing Linux Threats Leveraging Fewer Resources

The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.

Download now »
White Paper - The 2009 Handbook of Application Delivery

White Paper

The 2009 Handbook of Application Delivery

Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.

Download now »
White Paper - Is Your Backup System Outdated?

White Paper

Mid-range Storage Considerations

A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.

Download now »
beluga 12-Aug-09 5:56pm
As a developer I would like to use the 'phone home' capabilities that Palm is using to track users locations. Will I be able to do that without hacking or will I have to use some sort of jailbreak to do that? It is very important for my application to track where the user is at the time so I need that info. I hope Palm are not restricting access to the full OS and hardware capabilities...

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Mobilize Newsletter

Receive the latest news, reviews and discussions on everything mobile.

©1994-2010 Infoworld, Inc.