mobile tools for java - current project status

11
© 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

Upload: gustavoeliano

Post on 15-Jun-2015

387 views

Category:

Documents


0 download

DESCRIPTION

EclipseCon 2008 presentation

TRANSCRIPT

Page 1: Mobile Tools for Java - Current Project Status

© 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

Page 2: Mobile Tools for Java - Current Project Status

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

Page 3: Mobile Tools for Java - Current Project Status

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

Page 4: Mobile Tools for Java - Current Project Status

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

Page 5: Mobile Tools for Java - Current Project Status

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

Page 6: Mobile Tools for Java - Current Project Status

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

Page 7: Mobile Tools for Java - Current Project Status

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

Page 8: Mobile Tools for Java - Current Project Status

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

Page 9: Mobile Tools for Java - Current Project Status

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

Page 10: Mobile Tools for Java - Current Project Status

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

Page 11: Mobile Tools for Java - Current Project Status

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?