April 30, 2008
Sony Ericsson's new Project Capuchin bridges Java ME and Flash Lite
On April 30, 2008 Sony Ericsson announced its new Project Capuchin technology which is a Java ME API that defines a bridge between the Java ME and Adobe Flash Lite programming environments. This API makes it possible to use Flash Lite as the front end and Java ME as the back end of applications, meaning that Flash tools can be used for UI design while still having access to all the phone services available to Java ME.
Below you will find an overview of this new bridging technology, a summary of how it works and usage examples.
Sony Ericsson's Project Capuchin overview
Project Capuchin allows developers to combine the richness of both Java ME and Flash Lite by encapsulating Flash Lite content in Java ME applications making content created by Adobe Flash technology appear as Java ME applications. Project Capuchin empowers these two distinct developer communities to leverage their respective expertise to quickly and securely create highly engaging mobile content.
Project Capuchin is a bridging technology between Java ME and Flash Lite making it possible to take advantage of Flash's strengths in fast UI deployment and well established designer tools, meanwhile Java's strengths are in services, security and a well developed distribution infrastructure. Project Capuchin makes it possible to create Java applications where some or all UI components are defined in Flash Lite and where all services can be accessed through Java.
Project Capuchin is proprietary Sony Ericsson technology and will be made available for developers to use for free during the second of half of 2008.
How does Project Capuchin work?
Project Capuchin is a Java ME API which makes it possible for Java to run a Flash Lite content file (*.swf) that is shown on the display. All system events (e.g. key events) are forwarded from Java to Flash Lite and the Flash Lite player has a choice of listening to these events. In case Flash Lite wants to access some information then it is done through Java. Communication between Flash Lite and JSRs are handled through an intermediate class that works as a translator. This class listens to Flash Lite requests, transfers these to JSR calls, and sends response back to Flash Lite. Communication between Flash Lite and Java is bi-directional meaning that Flash Lite can send requests to and receive events from Java. Requests send from Flash Lite are made in an asynchronous manner.
Project Capuchin model.
Different approaches to using Project Capuchin
Project Capuchin can be used in different ways to create innovative content and here are some examples:
- Pure Flash Lite Content (Full Flash UI and services, no Java ME access):
The simplest form of using this technology is to take pure Flash Lite content (e.g. already existing games and apps developed in Flash) and encapsulate it in MIDlet suites (*.jar) using Sony Ericsson's soon-to-be-available packaging tools. The benefit of this approach is that this Flash Lite content will be treated in the same manner as Java content, thus will use the same distribution infrastructure and system capabilities as Java ME content.
- Java MIDlet using Project Capuchin as UI presentation layer (full Flash UI, Java Services):
More advanced use of Project Capuchin is to let Flash Lite handle the entire presentation layer and use Java as a service provider which feeds the presentation layer with necessary data.
- Java MIDlet using Project Capuchin for some UI components (Java UI and Flash UI, Java Services):
In some cases such as 3D games, it is not feasible to use Flash Lite as a full presentation layer yet this should be handled using suitable Java technology (e.g. Mascot API, JSR 184 or JSR 239). In these cases, Project Capuchin could be used for presentation of some UI components, for example menus in 3D games.
More information, documentation and tools support will be made available on Developer World over the next few months.