|
» New Java Developer's Library » Open source APIs » S60.com technology update on Java |
|
» June 2008 » May 2008 » April 2008 » February 2008 » January 2008 » December 2007 » November 2007 » October 2007 » September 2007 » August 2007 |
|
|
Subscribe RSS 2.0 feed |
Subscribe Atom feed If you wish to receive email notification, please here » |
|
» All About Symbian » Symbian One » My-Symbian » Symbian.com » S60 Tips » S60 Freeware » Symbian Freak |
» Darla Mack! » Mobile Jones » MobHappy » The Mobile Weblog » Gadgets 4 Fun » Christian Lindholm |
There's a new version of our Java ME Developer's Library available at Forum Nokia. It covers the announced new features of S60 Java available for developers.
We have Javadocs for the new APIs: eSWT and IAPInfo. You can also find API overviews and examples for these from UI and graphics and Networking sections, respectively. We've put back the Nokia UI API Javadoc as it's still used by applications and since the standard MIDP 2 API doesn't have all the functionality; we'll try to aim this with MIDP 3 standard in future.
The library also has significant update on MIDP implementation notes document. There we have a table of Nokia specific JAD and JAR attributes for easy reference. There's also Scaling topic about Canvas graphics scaling and scalable MIDlet icons, and a System properties table.
Our Java Platform guys' first real experience of a open source project has been the eSWT API development. We had multiple different reasons why we ended up collaborating with the Eclipse open source community. Lately there has been other announcements for mobile Java open source projects. Even some Java Community Process JSRs are developed as open source. So to me it seems that it starts to be a defacto way to introduce new mobile Java APIs the open source way.
The primary reason for us doing open source is to improve the compatibility of our API implementation. Opening implementation code for an API will also allow other parties more easily start implementation of the same API on other platforms. Since the implementation mostly shares exactly as-is much of the code base this improves directly compatibility more than just some technology compatibility kit (a test set verifying API signature and expected API behavior). Testing never grabs all the details, similar API compatibility tests won't test everything. Sharing implementation code will ensure in a much better and simple way behavioral compatibility. Open source is thus a way to truly limit fragmentation - a too much used curse word among java apis.
However, the open source license has to be such that it allows commercial usage of the code. The API implementation code must be possible to be used as part of closed or proprietary products. Also the license must not have a viral effect on applications using the API. Open source API implementation should not mean that the applications using that API are also forced to be open source. In other words linking from code with a different license should be allowed. I personally for example would like to see much more mobile Java APIs being developed in open source style licenses.
Open source way of working is also lot more fun. You get to be more in contact with potential clients for your API as well as discussions with other implementation teams is more easy as communication can be open.
Recently we posted a short overview on M2G and eSWT APIs on s60.com:
Richer user experience with S60 Mobile Java
M2G allows to render SVG content inside Java applications, and it's already available in latest S60 and Series 40 devices out there (Nokia N95 etc.). It basically allows very easy way for reaching 2D graphics scalability. Making device resolution independent games has been hard this far and many games are simply fixed to certain resolution only. Game publishers had to do multiple variants for the same game for multiple resolutions. I'm eagerly waiting for some games to utilize this. Of course it's not just games the technology is targeted, you can use it also to create fancy looking 2D UIs.