Thursday, March 26, 2009

Mobile OSGi on Android

Soon after Android was launched most of the OSGi framework developers got ambitious to port their implementations onto this platform. The world now has a number of "hey, see, OSGi runs on Android - isn't that cool?" type of demos. In my opinion noone really needs a plain OSGi framework on Android, the value add is very low.

Little thought has been spent on what OSGi on Android is actually good for, what's the value add that OSGi brings to the platform. We have spent quite some time to analyse the platform and came to the conclusion that it is not a pure OSGi port but a proper OSGi integration that enables value adding use cases. I have summarized a couple of our thoughts, find them here:

To recap the highlights of what OSGi can do for you on Android:
  • Support for Widgets (local web applications)

  • Support for enabling web apps to access phone features and custom services implemented in OSGi

  • Support for OSGi Bundles and Deployment Packages

  • Support for OSGi Applications that use the Android UI (coming soon)

  • Support for Remote Management (push/pull deployment of Android apps and OSGi content; remote configuration; remote monitoring and logging; etc.)

  • Support for eventing between OSGi and Android

Here're some screenshots on how the Widget support looks like. Widgets can be plain Opera Widgets (they comply to the w3c widget spec) or what we call RMA Widgets which are widgets that use OSGi as a local web server to access device functionality.

We'll continue to work out the value proposition so as an implementation that does all that.