mobile tools for java - current project status
DESCRIPTION
EclipseCon 2008 presentationTRANSCRIPT
© 2008 by Motorola Inc.; made available under the EPL v1.0 | March 18th, 2008
Mobile Tools for Java - Current Project Status
Christian Kurzke
Craig Setera
Gustavo de Paula
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
A Brief MTJ History
• MTJ Project was submitted by Nokia in 2005 Main project sponsors were Nokia and IBM
• Mobile application development environment CLDC and CDC based devices Deploy and Execute an application Sign / Obfuscate the application Device Fragmentation
• Focus was on providing a framework that other vendors can extend to create their own JavaME tools
• Release 1.0 was planned to September 2007• MTJ current release is 0.7 from November 2006
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
A Brief MTJ History… during 2007
• Nokia and IBM could not continue the support on the Project
• MTJ 0.7 was “too much” framework
• There were few companies interested in developing their own tools on top of the MTJ framework
No developer community Small user community
• Currently renewed discussions about focus of MTJ, new potential contributors, Motorola, RIM
MTJ Reboot Evaluate other option to MTJ, such as EclipseME
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
EclipseME – Current Option in Eclipse World
• EclipseME is an Eclipse plug-in for JavaME development Focus on CLDC/MIDP (other profiles could be supported) Provides all basic services (build, sign, obfuscate, etc.) Provide some extensibility, but it is not its main focus
• First public releases on 2003• Current version is 1.7.8
Almost 500.000 downloads• Created and maintained by Craig Setera
• Used by all major mobile device manufactures Nokia, Motorola, Sony Ericsson, etc.
• EclipseME focus is the opposite of current MTJ focus Framework vs. tool
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
Framework vs. Tool
• Who is the main target user of MTJ? Tool Developer: needs a mobile development framework JavaME Developer: need a mobile development tool
• Current MTJ Approach seems to be good for Tools developer, but not for JavaME developers
• EclipseME is pragmatic, targets JavaME developers at the expense of some flexibility
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
MTJ vs. EclipseME
User Experience MTJ EclipseME
Scan file system for SDK OK OK
Sing MIDlet suite OK OK
New MIDlet project wizard OK OK
New MIDlet wizard OK OK
Build MIDlet Suite OK OK
Run MIDlet suite via JAD OK OK
MIDlet templates OK NOK
Run MIDlet directly NOK OK
Run MIDlet Suite OTA NOK OK
Set different runtime platforms (device) per project
NOK OK
Specify project folder (resources and deployment)
NOK OK
Features MTJ EclipseME
Support different signing providers OK NOK
Framework ready for on device debugging OK NOK
Framework ready for deployment on target device
OK NOK
Framework that support different build processes
OK NOK
Framework that support manufacture specific UEI fields
OK NOK
CDC / FP/ PP Support OK NOK
Obfuscator NOK OK
Preprocessing NOK OK
User Experience Features
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
MTJ Reboot Proposed Plan Objectives
• Eclipse projects are all about creating communities Developer and user communities
• Eclipse project are also about creating frameworks
• Final MTJ must be “Framework enough” that a company can extend to create
its own tool “Tool enough” that can be used by a mobile application
developer as it is
• Create a community around it
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
MTJ Reboot Proposed Plan
• Use EclipseME 1.7.8 as a base for the MTJ 1.0 development Less risk Large user community Easier to create a developer community
• Re-structure EclipseME code to make it more flexible Deployment Signing Packing
• Port all interesting features that are already implemented on current MTJ 0.7 into MTJ 1.0
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
Initial MTJ Feature PlanEclipseME 1.7.8
MTJ 0.7
MTJ 0.10 MTJ 0.11 MTJ 1.0
• EclipseME Code• Re-organize code withEclipse code standards• Setup build environment
• Re-structure code(increase flexibility)
• Adapt code from MTJ 0.7• Signing• Deployment• Packing• Import netbeans• Import carbideJ• MIDlet templates
Q2/2008 Q3/2008 Q4/2008
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
Initial MTJ Feature PlanMTJ 0.7 - Current MTJ Code
MTJ 0.10 - Move EclipseME to MTJ repository- Re-organize EclipseME code to follow Eclipse standards- Setup build environment- Eclipse Foundation Intellectual Property review on new code
MTJ 0.11 - Re-structure code to make it more flexible and usable to different vendors- Define a plugin model to support more flexibility. Focus on:
- Pre-verify
- Signing
- Packaging
- Deploying
- Device Manager
- Obfuscation
- Preprocessing
- Include an API layer between UI and Core (possibly with code from current MTJ 0.7)- Define Extension Points to implement the API layer
MTJ 1.0 - Include deployment support (re-use MTJ 0.7 solution)- Include key store UI (re-use MTJ 0.7 solution)- Include import net beans project wizard (re-use MTJ 0.7 solution)- Include import carbideJ project wizard (re-use MTJ 0.7 solution)- MIDlets templates feature (re-use MTJ 0.7 solution)- Improve antenna support
Others (not yet committed)
- Include MIDP 3.0 support- Device Fragmentation support- Enhance documentation (context sensitive help and cheat sheets)- LCDUI and/or SVG UI Editor- Mobile JUnit- Enhance Device Editor UI
Mobile Tools for Java - Current Project Status | © 2008 by Motorola Inc.; made available under the EPL v1.0
JavaME tooling for the Eclipse Platform: what we can expect? BOF
• Comes to MTJ BOF Room 203/204 on Tuesday March 18th, 2008 8:45pm
• Discuss the proposed plan with the Eclipse community• Framework vs. Tool discussion: what we want from
MTJ?• Which flexibility should be included on MTJ?