Mobile Tools for Java - Current Project Status Christian Kurzke Craig Setera Gustavo de Paula
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
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
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
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
MTJ vs. EclipseME User Experience Features NOK NOK NOK NOK OK OK OK OK OK OK OK MTJ OK Specify project folder (resources and deployment) OK Set different runtime platforms (device) per project OK Run MIDlet Suite OTA OK Run MIDlet directly NOK MIDlet templates OK Run MIDlet suite via JAD OK Build MIDlet Suite OK New MIDlet wizard OK New MIDlet project wizard OK Sing MIDlet suite Scan file system for SDK User Experience OK EclipseME NOK NOK OK OK OK OK OK OK MTJ OK Preprocessing OK Obfuscator NOK CDC / FP/ PP Support NOK Framework that support manufacture specific UEI fields NOK Framework that support different build processes NOK Framework ready for deployment on target device NOK Framework ready for on device debugging Support different signing providers Features NOK EclipseME
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
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
Initial MTJ Feature Plan EclipseME 1.7.8 MTJ 0.7 MTJ 0.10 MTJ 0.11 MTJ 1.0 EclipseME Code Re-organize code with Eclipse 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
Initial MTJ Feature Plan 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 0.11 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 Others  (not yet committed) 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 MTJ 1.0 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.10 Current MTJ Code MTJ 0.7
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?

Mobile Tools for Java - Current Project Status

  • 1.
    Mobile Tools forJava - Current Project Status Christian Kurzke Craig Setera Gustavo de Paula
  • 2.
    A Brief MTJHistory 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
  • 3.
    A Brief MTJHistory… 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
  • 4.
    EclipseME – CurrentOption 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
  • 5.
    Framework vs. ToolWho 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
  • 6.
    MTJ vs. EclipseMEUser Experience Features NOK NOK NOK NOK OK OK OK OK OK OK OK MTJ OK Specify project folder (resources and deployment) OK Set different runtime platforms (device) per project OK Run MIDlet Suite OTA OK Run MIDlet directly NOK MIDlet templates OK Run MIDlet suite via JAD OK Build MIDlet Suite OK New MIDlet wizard OK New MIDlet project wizard OK Sing MIDlet suite Scan file system for SDK User Experience OK EclipseME NOK NOK OK OK OK OK OK OK MTJ OK Preprocessing OK Obfuscator NOK CDC / FP/ PP Support NOK Framework that support manufacture specific UEI fields NOK Framework that support different build processes NOK Framework ready for deployment on target device NOK Framework ready for on device debugging Support different signing providers Features NOK EclipseME
  • 7.
    MTJ Reboot ProposedPlan 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
  • 8.
    MTJ Reboot ProposedPlan 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
  • 9.
    Initial MTJ FeaturePlan EclipseME 1.7.8 MTJ 0.7 MTJ 0.10 MTJ 0.11 MTJ 1.0 EclipseME Code Re-organize code with Eclipse 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
  • 10.
    Initial MTJ FeaturePlan 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 0.11 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 Others (not yet committed) 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 MTJ 1.0 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.10 Current MTJ Code MTJ 0.7
  • 11.
    JavaME tooling forthe 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?