wiki.webvm.net/ webvm/ WebVM demos

Got a fix at the Fira!

Supported by VM:

Not currently supported:

JSRs implementations vary quite a lot from device to device, platform to platform, version to version.

Native APIs

WebVM APIs

Already implemented modules that Web developers can just start using. Or vendor can start using as a template?

Constraints are mostly down to the demo platform’s browser.

Prioritising the highest demanded APIs:

  1. Location 179
  2. SMS (messaging) 120
  3. Date/Time synchronisation
  4. Image manipulation 75
  1. Native APIs
    1. WebVM APIs
  2. Demo ideas
    1. Bluetooth 82
    2. Music
    3. SMS 120
    4. Logging
    5. Camera 234
    6. Image manipulation
    7. Location 179
    8. Calendar (75 - PIM)
    9. Addressbook (75 - PIM)
    10. Offline access (75 - File)
  3. Something to please standards bodies
  4. A offline ‘turn based’ game SDK
  5. Further ideas

Demo ideas

Using REST and JS APIs with webvm.

security could feature in the demo, though I’ll keep it straight forward for now.

Device API use cases from OpenAjax

Bluetooth 82

Openid 2.0 WebVM server example

  1. User logs in as o.webvm.net from an OpenID 2.0 consumer
  2. Use redirected to OpenID 2.0 server which activates bluetooth module via WebVM to “authenticate” with a mobile device
  3. Login form is filled by authentication information (e.g. IMSI) from the mobile device
  4. Mobile user is identified and logged in to Web service

Try in an OpenID 2.0 consumer such as:

* caveats: Some sites allow you only to log in with an OpenID once you’ve associated their ID with that OpenID. In these cases the initial registration phase is very painful from a mobile device.

Music

Playing back MP3 files stored locally or stream via the Internet.

SMS 120

Logging

Sending an SMS via a Web application.

Camera 234

Use case: Upload a geotagged image to some photo service in a Web application

Image manipulation

Could implement the Google Gears Image API

Small files could be passed around with base64 data: encoding with this php upload script. This could be used to get around constraints of the browser.

Location 179

Use case: Show me on a map Requires: Internet access

Cooler demo: Marauder’s map

Emulating third party Geolocation APIs:

Fire Eagle

Google Maps

Is it worth implementing on another map site? Perhaps, just to show how easy it is to integrate WebVM.

Calendar (75 - PIM)

Use case: Export a Web calendar’s events to the local mobile event db. Wakeup and offline type scenarios can be exploited with JBlend.

Google Calendar

Addressbook (75 - PIM)

Use case: Sync up my contact list with my email account, Gmail

Missing the Java part to the puzzle.

How or where to merge the contacts. The obvious place, Google’s Contact manager doesn’t seem to have any server side merging functionality.

Yahoo!’s addressbook API is similar to Google’s, though a little bit more complicated with signing the requests. Currently Yahoo! only allow Read-Only support and Write access needs a special request. So the typical ‘use case’ would more likely to be:

Buy a new mobile. Dump contacts from Yahoo! Addressbook to mobile’s addressbook.

Yahoo! does have an interesting synchronisation API.

Offline access (75 - File)

Use case: Read some RSS feeds without Internet connectivity

Cooler demo: Puzzle

Implementing support for offline access by implementing gears.

Something to please standards bodies

Demonstrate how “standardised Location APIs of the future” can be implemented by wrapping an imaginary WebVM location interface implementation.

With a JavaScript wrapper we can show that we can implement a Google Gears or W3C Geolocation. Hence demonstrate WebVM device APIs are ‘forwards compatible’ to future API specifications.

A offline ‘turn based’ game SDK

Show how WebVM technologies can enable multiplayer Web gaming.

Further ideas