Rich User Interfaces for Java ME, Project Capuchin (Sony/Erricsson), JavaFX
This session is conducted by a pair from SonyEricsson, and they're discussing Java based rich user interfaces for "mobile" devices. As always the word "mobile" is overly constrained to mean "cell phone" which is to me a misnomer because "mobile" could clearly mean other kinds of devices than cell phones. There are lots of portable electronics devices which would do well to have a light Java stack but for some reason the JavaME community focuses on cell phones only. What about digital cameras and portable game devices just to name two kinds of portable devices that are not targeted by JavaME.
Rich UI requirements:
Richer user experience is more compelling to user more likely to be bought by users. Users want their device to be theirs, their own colors, making it work the way they want. Operators need to brand the device. Usability enhancements possible with rich UI.
JavaFX is a cross platform RIA stack, JavaFX Script is the language, JavaFX Mobile is for cell phones. "All the screens of your life" are defined as "Desktop", "Mobile" and "TV" (what about digital cameras?). JavaFX Mobile runs on top of Java ME. Same language, same API, for the core profile.
Tools: Netbeans; JavaFX plugin for Illustrator and Photoshop (Production Suite)
Capuchin: Bridge between JavaME and Flash Lite. Design UI in Flash with Java providing services. Combine two well known and widely spread technologies, Flash and Java. Capuchin API presented to joint MIDlet which contains both .swf content and MIDlet class(es). Flash can request from Java class, Java class can notify flash UI. "MXP" components provide services e.g. to access native services like calendar, accelerometer, contacts, etc, these components also available through relevant JSR's.
To aid developers to expose an Java service, they have an API generator tool which helps generate MXP components. They did not create their own GUI authoring tool, because Adobe's Flash is a perfectly fine IDE. SWF2JAR. http://developer.sonyericcson.com Requires Adobe CS.
There's an interesting strategy conundrum.. would it have been better for Sun to join forces with Flash Lite? Or is it better for Sun to attempt to own the whole stack with JavaFX.
For the demo they show a "Car Shop" application developed in both JavaFX and using Capuchin. It shows you can use two different technology stacks to provide very similar applications. The reason I posed that strategy conundrum is due to the expense of developing JavaFX and to ask whether that expense was worthwhile. Why not instead collaborate with Adobe to provide rich UI experiences on mobile devices? Clearly Sun chose to develop JavaFX.
Future? Sun's direction is clearly JavaFX and they decide JavaFX's direction. For Capuchin: SonyEricsson has 12+ devices now, also Symbian phones will have Capuchin. They will continue exposure of services, apparently promise to continue developing their stack.
Their demo showed JavaFX can run on SonyEricsson phones.