I'm currently working as a Product Manager for Symbian Devices Java Runtime. I've had different roles in my past career doing Java UI team leading and architecture work for Java. I've also participated Java API design both in Eclipse (eSWT) and JCP (MIDP 1 & 2, PDAP), as well as design of the Nokia Java APIs like Nokia UI API.
Aleksi | 02 November, 2009 18:37
I participated Symbian Exchange in London last week. We had a small Birds of Feather session there about Runtimes on Symbian. For that I prepared a small roadmap presentation giving out information of what new features our future Java Runtime releases will contain for developers. It's a roadmap and work in progress so any changes should be expected.
At the BOF I also discussed of our contribution of our runtime code to Symbian Foundation. Basically the idea is that for Symbian^3 we plan to get all of our libraries code (except Web Services as it's not Nokia owned code). Ken Walker from IBM talked of what they will provide on VM and core libraries level. They will provide J9 VM+CLDC/CDC/FP libraries in the binary release under an RND license. This means that developers will have a fully functional runtime from Symbian Foundation for java me applications as it appears in current S60 devices. Nokia plans to utlise EPL license for our contribution. Since many of the core libraries are already available in Apache Harmony there's pretty good open source mobile java library set then available with business friendly OS licenses. We are planning that the first contributed release would be made out of our JRT 2.0/2.1 release. A beta release of that for S60 5.0 devices is already available via beta labs.
It should be noted that the library set and runtime, java app installer of Java Runtime are all implemented also in cross-platform manner. So most of the implementation modules are not tied to Symbian specific APIs or programming constructs. We've used as much as possible Java and then basic C/C++ APIs and refrained from using Symbian specific constructs where not necessary. When they have been necessary they are isolated clearly from the rest of the code. Our team ensures that the code works perfect on Symbian devices, so we integrate it closely to the platform services but at the same time it would be possible to take the code and integrate it to other platforms by others. If this would happen it would make less fragmentation as same implementation would be used in other devices too.
In JRT 2.0 the UI is still Symbian/Avkon based but we have already started Qt migration for UI too. The Qt based UI implementation is still on going (and it the main part of our JRT 3.0 release). That will then make LCDUI and eSWT tookits to be also cross-platform and easily portable to other platforms too. In JRT 2/3 the MMAPI is still based on MMF (Symbian multimedia FW), but there's also standard cross-platform Khronos API coming called OpenMAX that may allow us to make cross-platform MMAPI in future. Well, Qt is adding open source Phonon multimedia API too which currently lacks features for MMAPI but perhaps it will be better in future too, so let's see.
We also have smaller enhancements in process for example, we have very good VM technology in S60 devices from IBM which allos full JNI access. However, due to security issues we haven't opened JNI access to public (available for partners currently). We are working on a mechanism to allow native access with JNI for java apps. The idea is that apps would packaged as SIS files and thus behave like native apps. We would provide native launcher stub for which native capabilities could be defined for the java/native app hybrid. The idea is that generally one could use Java but then only access native in those parts Java Runtime lacks some API set. If you are interested in this let us know.
Another small thing we are working is a way to launch native applications from Java, and allowing native applications to launch Java applications with launch parameters passed to Java. The parameters would be passed as Java system properties and platform request would be used to launch native apps. There's already now localapp: URI scheme in our Java Runtime so this would enhance it.
Business Opportunities/Services, Event, Java, S60 |
Permalink |
Comments (6) |
Trackbacks (0)
Aleksi | 02 November, 2009 18:32
We are moving our Java Runtime blog to Forum Nokia as the S60.com site has been closed for new posts. Our old Java Runtime blog is still readable from blogs.nokia.com.
Java, S60 |
Permalink |
Comments (1) |
Trackbacks (0)