webOS App by
    Example
   Hendrik Ebel - Dec. 2009
       Sorting Thoughts™
Agenda
What is webOS?

Mojo™ Framework

Software Developer Kit

Close inspection of Sorting Thoughts™ App

App Catalog

Conclusion
What is webOS?

Palm© webOS™ is Palm's next generation operating
system. Designed around an incredibly fast and
beautiful user experience and optimized for the
multi-tasking user, webOS integrates the power of a
window-based operating system with the simplicity
of a browser. Applications are built using standard
web technologies and languages, but have access to
device-based services and data. [1]
Application Model




„The webOS application model combines the ease of development
and maintenance of a web application with the deep integration
available to native applications, significantly advancing the mobile
user experience while keeping application develop- ment simple.“ [1]
webOS Architecture
               Applications




  Source [1]
It looks like a Card
      Background            Foreground




Notification Icons
                    Banner Notification   Dashboard
Stages & Scenes

Stage represent a browser tab

Apps have one or more stages

Scenes are views within a stage

Each scene has a JS assistant and a HTML view

Scenes are managed like a stack
Mojo Framework
Mojo includes:

  Application level functions

  UI widgets

  Access to local storage

  System Services

bundled with Prototyp Javascript Framework
Software Developer Kit
                                           no 64 Bit WinXP
  Mojo™ SDK for Windows, Linux and
  Mac OS X
                                                       Ubuntu
                                                 (special 64 Bit Issues)
    Inspector for DOM analysis

    Command Line Tools (Debugger, Logger, ...)

    Mojo Framework and Examples

  Sun VirtualBox
                                              Sup port
  Eclipse Plugin                 n o 3.5

           Download from http://developer.palm.com/
Sorting Thoughts                                                         ™




A simple app to collect notes and
           thoughts.
Source code is available on http://code.google.com/p/sorting-thoughts/
App Structure
     Controller   MVC
     Model              Patt
                            ern
     View

    Configuration Information


    I18N Resources

    Source Catalog

     CSS styles
Controller & Assistant
        AppController     AppAssistant



        StageController   StageAssistant



        SceneController SceneAssistant


 Assistant: setup, activate, deactivate, cleanup

 Scene Stack: pushScene, popScene, ...
Data Storage

Cookies (for preferences, max 4kB)

Depot (simple, no schema design)

HTML 5 database (SQLite)

use „ext:“ prefix to avoid 1MB limit
L10N & I18N
Use format functions like
Mojo.Format.formatNumber()

$L(„Text“) reads translated text from
strings.json

„Prelude“ font supports no Japanese or
Chinese
App Catalog
Read Checklists before submission

P. & L. (min 99¢ per App and 99$ per year)

OpenSource Apps in Catalog?

Global Store?

Vanished Apps after 1.3.1 Update in German
Catalog :-(
App Submission
App in Catalog




With hopefully many happy users...
Conclusion
webOS make it pretty simple to build an app

but the apps are also simple - maybe too simple?

JavaScript is not Java™

SDK is okay but Ares[4] make it much simpler

App Catalog is currently a little bit confuse

                                                        p le
                                                    s im
                                            It “s
Thanks!
Any Questions?
Sources
[1] „Palm webOS“ by Mitch Allen
ISBN: 0596155255

[2] „TealPoint & Normsoft on webOS: It's Great, But We Want C“
http://by.ly/hkhx5zagzv

[3] Sorting Thoughts
http://www.sortingthoughts.com

[4] „Palm Shows Ares WebOS Development Tool“
http://by.ly/8nhaxdqs5i

webOS, Mojo and Palm are among the trademarks or registered trademarks
owned by or licensed to Palm, Inc.

Sorting Thoughts is trademark by Hendrik Ebel

webOS App by Example: Sorting Thoughts

  • 1.
    webOS App by Example Hendrik Ebel - Dec. 2009 Sorting Thoughts™
  • 2.
    Agenda What is webOS? Mojo™Framework Software Developer Kit Close inspection of Sorting Thoughts™ App App Catalog Conclusion
  • 3.
    What is webOS? Palm©webOS™ is Palm's next generation operating system. Designed around an incredibly fast and beautiful user experience and optimized for the multi-tasking user, webOS integrates the power of a window-based operating system with the simplicity of a browser. Applications are built using standard web technologies and languages, but have access to device-based services and data. [1]
  • 4.
    Application Model „The webOSapplication model combines the ease of development and maintenance of a web application with the deep integration available to native applications, significantly advancing the mobile user experience while keeping application develop- ment simple.“ [1]
  • 5.
    webOS Architecture Applications Source [1]
  • 6.
    It looks likea Card Background Foreground Notification Icons Banner Notification Dashboard
  • 7.
    Stages & Scenes Stagerepresent a browser tab Apps have one or more stages Scenes are views within a stage Each scene has a JS assistant and a HTML view Scenes are managed like a stack
  • 8.
    Mojo Framework Mojo includes: Application level functions UI widgets Access to local storage System Services bundled with Prototyp Javascript Framework
  • 9.
    Software Developer Kit no 64 Bit WinXP Mojo™ SDK for Windows, Linux and Mac OS X Ubuntu (special 64 Bit Issues) Inspector for DOM analysis Command Line Tools (Debugger, Logger, ...) Mojo Framework and Examples Sun VirtualBox Sup port Eclipse Plugin n o 3.5 Download from http://developer.palm.com/
  • 10.
    Sorting Thoughts ™ A simple app to collect notes and thoughts. Source code is available on http://code.google.com/p/sorting-thoughts/
  • 11.
    App Structure Controller MVC Model Patt ern View Configuration Information I18N Resources Source Catalog CSS styles
  • 12.
    Controller & Assistant AppController AppAssistant StageController StageAssistant SceneController SceneAssistant Assistant: setup, activate, deactivate, cleanup Scene Stack: pushScene, popScene, ...
  • 13.
    Data Storage Cookies (forpreferences, max 4kB) Depot (simple, no schema design) HTML 5 database (SQLite) use „ext:“ prefix to avoid 1MB limit
  • 14.
    L10N & I18N Useformat functions like Mojo.Format.formatNumber() $L(„Text“) reads translated text from strings.json „Prelude“ font supports no Japanese or Chinese
  • 15.
    App Catalog Read Checklistsbefore submission P. & L. (min 99¢ per App and 99$ per year) OpenSource Apps in Catalog? Global Store? Vanished Apps after 1.3.1 Update in German Catalog :-(
  • 16.
  • 17.
    App in Catalog Withhopefully many happy users...
  • 18.
    Conclusion webOS make itpretty simple to build an app but the apps are also simple - maybe too simple? JavaScript is not Java™ SDK is okay but Ares[4] make it much simpler App Catalog is currently a little bit confuse p le s im It “s
  • 19.
  • 20.
    Sources [1] „Palm webOS“by Mitch Allen ISBN: 0596155255 [2] „TealPoint & Normsoft on webOS: It's Great, But We Want C“ http://by.ly/hkhx5zagzv [3] Sorting Thoughts http://www.sortingthoughts.com [4] „Palm Shows Ares WebOS Development Tool“ http://by.ly/8nhaxdqs5i webOS, Mojo and Palm are among the trademarks or registered trademarks owned by or licensed to Palm, Inc. Sorting Thoughts is trademark by Hendrik Ebel