Opinionated comments on mobile phone industry news
|
All entries are written by Anders Borg, CEO and Consultant of Abiro, that has a long experience in strategic planning, developing embedded and Java software, usability aspects, and the mobile phone industry in general. You can also read the latest Mobile News entries on your phone via wap.abiro.com, and we provide many News Feeds from popular news services. For advertising and contribution queries, please use the feedback form. News feed (local) |
|
Saturday, September 16, 2006
An introduction to J2ME Polish
I've briefly covered J2ME Polish before. I'm analyzing it again to see if I can use it for my own applications, as I've ran into some serious compatibility issues with the high level widgets in MIDP. It doesn't help to report such issues to the phone manufacturers, as they don't fix issues in phones that have been out on the market for a while, and consumers never upgrade the phone software anyway. I'm not pessimistic, just realistic. Interestingly I've noticed that most issues are related to features that were added to MIDP 2.0. Are the TCK tests not optimized for MIDP 2.0? Are manufacturers getting sloppy in their testing? Don't they care as "developers anyway only make Canvas-based games"? I don't have the answer.J2ME Polish consists of several different functionalities and modules, that to some degree are intertwined. This is a powerful package indeed.
* A complete UI implementation that overrides and emulates the MIDP 1.0 and 2.0 lcdui classes, and adds some classes of its own, including TabbedForm.
* An implementation of MIDP 2.0 specific UI features for MIDP 1.0 phones, including the Game API and lcdui methods not supported by MIDP 1.0.
* A CSS-based method for customising the above UI functionality, potentially creating UIs that look very different from MIDP's own implementation. Things like animation, coloring, specific fonts etc can easily be added.
* Localisation features for multiple language support.
* A database that describes the differences between mobile phones, that can be used from within applications.
* Conditional compilation to build code based on phone model and other conditions.
* Means to build several versions of applications for different phones in one build.
* A font editor for creating or modifying fonts
* etc.
(I probably forgot a few features)
The MIDP lcdui implementation has been done completely using Canvas, with a few exceptions. E.g. text input (that is hard to implement using Canvas due to the complexities and phone differences) can optionally make use of the phone's own functionality via a TextBox. That's the only way to get access to e.g. predictive and handwriting, unless you implement those features yourself. Don't try this at home...
J2ME Polish can be integrated with Eclipse, NetBeans and JBUilder, and of course uses Ant scripts. In my case I'm testing it with NetBeans.
To use it commercially, and for volume applications, you need to acquire a license for 199 Euro per application (which is not too bad) or get a one-shot/corporate license for 2990 Euro (maybe later...).
As many already know, the mobile phone database can be accessed interactively via the J2ME Polish web site, and it's easy to look up what phones support a certain JSR etc.
J2ME Polish

