sony ericsson1 tapuchin the project capuchin energizing user experience
TRANSCRIPT
Sony Ericsson 1
TThe Project Capuchinapuchin
Energizing User ExperienceEnergizing User Experience
Sony Ericsson 2
Background - Background - rich UIs needrich UIs need
• Consumers are increasingly demanding richer user experiences
• Personalization
• Customization • Operator requirements
• Usability
Sony Ericsson 3
Flash Lite - tech overview from SEMC perspective
ProsPros - Adobe Flash CS3 IDE – easy to learn and use, fast prototyping and - Adobe Flash CS3 IDE – easy to learn and use, fast prototyping and
emulationemulation
- Community – big and active, constantly growing- Community – big and active, constantly growing
- Education material – books, forums, tutorials- Education material – books, forums, tutorials
- Flash Lite Player – optimized and configured for each platform- Flash Lite Player – optimized and configured for each platform
ConsCons- Limited system services access- Limited system services access- No proper security solution- No proper security solution- Lack of distribution channels- Lack of distribution channels- Performance and memory consumption- Performance and memory consumption
Sony Ericsson 4
ConsCons- Lack of efficient, designer oriented tools- Lack of efficient, designer oriented tools
- No rich UI framework- No rich UI framework
- Difficult to keep separation between presentation and service layer - Difficult to keep separation between presentation and service layer
- Designers dependent on programmers in UI development - Designers dependent on programmers in UI development
JAVA ME - tech overview from SEMC perspective
ProsPros - Wide platform access – Java Specification Requests (JSRs)- Wide platform access – Java Specification Requests (JSRs)
- Security model – protection domains offered by MIDP- Security model – protection domains offered by MIDP
- Distribution infrastructure, using - Distribution infrastructure, using JJava ava ARARchive packagingchive packaging
- Wide adoption of language- Wide adoption of language
Sony Ericsson 5
What is Capuchin?What is Capuchin?
• a way of creating compelling UI and energizing UX
• a way to improve cooperation between UI designers and programmers
• a way to simplify and speed up mobile applications development
• a way to design UI in Flash while JAVA provides services
• an API that defines a bridge between Flash and Java
Capuchin – overview and high-level Capuchin – overview and high-level architecturearchitecture
++
Sony Ericsson 6
Capuchin – overview and high-level Capuchin – overview and high-level architecturearchitecture
Why name Capuchin?Why name Capuchin?
TamarinTamarin CapuchinCapuchin
Sony Ericsson 7
Capuchin – overview and high-level Capuchin – overview and high-level architecturearchitecture
Sony Ericsson 8
Capuchin – overview and high-level Capuchin – overview and high-level architecturearchitecture
Sony Ericsson 9
Benefits for Flash/Java developers
For Java developers:For Java developers:• New ways of building application UI using proved technologyNew ways of building application UI using proved technology• Clear separation of the presentation and service layer Clear separation of the presentation and service layer • Efficient designer oriented tools; let designers define the UIEfficient designer oriented tools; let designers define the UI• Quick test and prototypingQuick test and prototyping
For Flash developers:For Flash developers:• Extend current limited set of APIs with the use of Java JSRsExtend current limited set of APIs with the use of Java JSRs• Secure Flash applications through existing Java security Secure Flash applications through existing Java security
mechanismsmechanisms• Deploy Flash in same manner as Java games and applicationsDeploy Flash in same manner as Java games and applications
• Distribute Flash content using existing Java distribution Distribute Flash content using existing Java distribution infrastructureinfrastructure
Sony Ericsson 10
How to use Capuchin?
1. Packaging pure Flash Lite content - 1. Packaging pure Flash Lite content - full Flash UI, no Java service full Flash UI, no Java service access access
Flash games and apps encapsulated in a MIDlet suite (*.jar), using Java Flash games and apps encapsulated in a MIDlet suite (*.jar), using Java ME distribution infrastructure and security mechanisms. ME distribution infrastructure and security mechanisms.
2. Java MIDlet using Flash Lite for the UI layer - 2. Java MIDlet using Flash Lite for the UI layer - full Flash UI, Java full Flash UI, Java servicesservices
Flash Lite handles the entire presentation layer while Java ME is used as a Flash Lite handles the entire presentation layer while Java ME is used as a service provider, feeding the presentation layer with necessary data. service provider, feeding the presentation layer with necessary data.
3. Java MIDlet using Flash Lite for parts of the UI - 3. Java MIDlet using Flash Lite for parts of the UI - Java UI and Flash Java UI and Flash UI, Java servicesUI, Java services
In cases where it is not feasible to use Flash Lite as a full presentation In cases where it is not feasible to use Flash Lite as a full presentation layer, Flash Lite could be used for presentation of some UI components, layer, Flash Lite could be used for presentation of some UI components, for example menus in 3D games. for example menus in 3D games.
Sony Ericsson 11
Capuchin API
Core Class:- Flash Image This class communicates directly with the
native Flash engine.
Utility classes:- Flash Player and- Flash Canvas
These classes are used for automatically playing Flash content in a Canvas
Data Transfer Classes:- Data Request and- Flash Events
These classes provide mechanism for transfering of data between Java and Flash. Flash can send data requests to Java and/or listen events from Java.
com.sonyericsson.capuchin.*
Sony Ericsson 12
Hello Worldimport com.sonyericsson.capuchin.FlashImage;import com.sonyericsson.capuchin.FlashPlayer;
public class MyApplication extends MIDlet {
public FlashPlayer flashPlayer = null;public FlashImage flashImage = null;
public MyApplication() { InputStream in = getClass().getResourceAsStream("HelloWorld.SWF"); flashImage = FlashImage.createImage(in); flashPlayer = FlashPlayer.createFlashPlayer(flashImage); flashPlayer.setFullScreenMode(true);}
protected void startApp() { Display.getDisplay(this).setCurrent(flashPlayer.getDisplayable());}…
Sony Ericsson 13
SWF2JAR• SWF2JAR is a tool for packaging a flash file (.swf) into a MIDlet Suite (.jar)
• Enables distribution of flash games and apps through Java infrastructure
Sony Ericsson 14
mxp – development and accessibilityCapuchin service API generator - Eclipse plug-in- GUI for generating API files- Action Script functions as input- Test data for IDE simulation