Tuesday, February 17, 2009

mojo SDK for Palm WebOS - first cut

Based on my reading on Palm WebOS mojo SDK, here are some notes to help understand about new palm development -

  • Architecturally, Palm WebOS is an embedded Linux operating system that hosts a custom User Interface (UI) System Manager built on standard browser technology.
  • Palm WebOS is designed to run on a variety of hardware with different screen sizes, resolutions and orientations, with or without keyboards and works best with a touch panel though doesn’t require one.
  • One important virtue of the Palm apps built on WebOS will be “connected”
  • How WebOS SDK is used?
    o WebOS – mojo SDK works as if you have a local web server installed on your PC
    o You deploy all your app code which is java script/ CSS or HTML files onto this local server.
    o You can then access your app using a URL in the palm simulator that comes with SDK – emulator as well as device manager.
  • WebOS apps shall run on a browser that is specifically available on the device for this. The normal websites will continue to open in the palm browser but internally WebOS will decide is it is app to launch or traditional web page to launch. This means no need to “specially build” your executables to deploy!
  • Developers will build WebOS applications with common web development tools following typical design and implementation practices for Ajax applications.
  • The application framework also includes event handling, notification services and a multi-tasking model. Applications can run in the background, managing data, events and services behind the scenes while engaging the user when needed. Expected to have camera and advanced apps accessible in subsequent releases.
  • One can create and manage persistent data using HTML5 storage functions
  • WebOS apps though built using HTML/CSS and JavaScript but they don’t have the life cycle same as a web page. The Palm OS apps have their own architecture.
  • The application framework provides a specific structure for applications to follow based on the Model-View-Controller (MVC) architectural pattern
  • Palm WebOS applications are required to use directory and file structure conventions to enable the framework to run the applications without complex configuration files.
  • All palm WebOS applications will have an index.html file, an icon.png for application's Launcher icon, and an app folder, which provides a directory structure for assistants and views.
  • Palm WebOS supports the standard DOM Level 2 event model. It also gives extensive access to core apps such as contacts and calendar, location services and accelerometer data.
  • The code looks much similar to JAVA kind of packages that needs to be used such as com.palm.messaging to do stuff related to SMS and so on. The normal HTML5 tags and CSS definitions are used – support for the events, controls is also available through the common OOP like code – this.controller.listen() and so on.
  • To run the application on device you will need to sign it.
  • The Palm Developer Tools (PDT) are installed from the SDK and include targets for Linux, Windows (XP/Vista) and Mac OS X.

    Here are the Palm Developer Tools
    1. SDK Bundle Installer - Installs all WebOS tools & SDK for 3rd party editors
    2. Desktop Emulator and Device Manager
    3. Command-Line Tools - Create New Project; Install & Launch in Desktop Emulator or Device; Open Inspector/Debugger Window;Package & Sign App

Extracted from Palm WebOS rough cut - http://developer.palm.com/assets/images/book/webos_chap1.pdf