Monday, March 23, 2009

Just a quick callout to the budding open source Blinki project at Eclipse Foundation (formerly known as FireFly). What caught my attention:
the FireFly project will develop next-generation technologies and frameworks to support the creation of mobile web applications that look and behavior similarly to native applications and are able to interact with device services such as GPS, accelerometers and personal data.

It looks like Genuitec (of MyEclipse fame) is leading this initiative. The first thing that's they've released is an SWT browser widget that uses the WebKit rendering engine. From Wayne Parrot's blog:
The WebKit for SWT browser API provides all the basic browser use-cases that you would expect. Additionally the cool features of WebKit such as HTML5, CSS3, V8 engine, and other things are now accessible from Java.

V8 is the super-fast open source JavaScript engine that Google developed for its Chrome browser. It's worth noting that it's been optimized not just for x86 processors, but for ARM Linux. Think Android... or the Palm Pre with its webOS platform.

Last week I mentioned that Mobile OSGi (specifically the Sprint Titan platform) would be a great starting place for the open source community to create a knock-off of the Palm webOS mobile platform. Now that the bindings between a Java runtime and the WebKit HTML5 rendering engine are in place the community is quite a bit closer... and webOS isn't even in the wild yet. The beauty of the OSS version would be that developers could write code not just at the JavaScript front-end as the Mojo SDK will allow, but they could also write Java modules that run as services in the middleware tier—or even native Linux or Win32 modules encapsulated in OSGi bundles. For Palm fans who read my blog, think webOS (or something much like it) running not just on the Pre, but on the Treo Pro with Windows Mobile under the hood.

I'd like to think that developments like this will force Palm to release an SDK that opens its own middleware layer. For webOS to get the most traction in the market Palm needs to leverage the architecture's natural advantages as a service oriented mobile platform. Android's Achilles heal is the weak component model and attenuated, non-standard affordance for apps to provide services to each other (i.e. be "mashed up"). If Palm doesn't go after that weak point early in the evolution of webOS, it won't take long before others make the first move.

UPDATE: The new Blinki blog is here. Watch it.

Comments

Definitely a very interesting approach to use the browser as a front-end for an on-device OSGi backend. This is a best of breed kind of concept that marries Java's strength in business logic with the browser UI's beauty. It also turns J2SE/J2EE and Webdeveloper communities into mobile app developers with hardly any need for new learning.

Out of the Sprint Titan project an OSGi technology emerged that we call <a href="http://picisblog.blogspot.c...">Rich MobileNet Applications</a>. The RMA concept comprises three powerful features:

1. Support for w3c compatible Web Widgets: RMA extends OSGi to make it support this app model type
2. Automatic OSGi-to-WebSercice translation: Java services decorated by certain properties are automatically translated into JASON based webservices exposed by the http server contained in OSGi (sitting on your phone).
3. JavaScript convinience APIs: You can embedd this JS lib into your widget to ease finding, binding and using local RMA web services.

We're currently working on putting OSGi+RMA on WinMobile and Android devices, Nokia S60 to come. Btw, on Android we use a Android's WebView widget (contained in a separate app) to render widgets. Screenshots available on my blog.

Posted by joritter at Wednesday, April 01, 2009 03:05:38

Add Comment

Comments must be approved before being published. Thank you!