|
» New Java features of 3rd Ed. fp 2 » Control your access point or grant access for a Java application » I am NOT famous |
|
» 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 |
We've announced already the new flexible UI toolkit eSWT in our previous post. eSWT is definitely the most biggest new feature in S60 Java Platform for developers in 3rd Edition Feature Pack 2.
But there's a lot more in the new S60 Java Platform. We have both, new API features and under-the-hood functionality. Below I'll try to list most of the nitty-gritty features. We'll be providing more information on how to use these via Forum Nokia Wiki site, and perhaps cover some in more details in future posts here too. They will also be covered in our reference documentation in Java ME Developer's Library when a 3rd Ed FP 2 version will be available.
New APIs available:
IAPInfo API allows to access device's Internet Access Points configuration and allows to specific explicitly for General Connection Framework network connections (http etc.) which IAP should be used.
New other functionality:
New architecture
Regarding under-the-hood functionality, the S60 Java Platform has gone through a big architectural change. We've changed the VM from a monolithic architecture to more flexible one. Prior to 3rd Ed fp 2, S60 Java had traditional CLDC VM architecture where all API code (class files) were compiled into the virtual machine executable. Now the Java API implementation code is no longer in the VM executable but will be dynamically loaded when needed.
The new architecture allows us to dynamically extend the virtual machine with new APIs. Which is exactly what is used e.g. in our eSWT implementation. When there will be new releases available from us for eSWT, we'll release that directly to developers. Anyone can install that upgrade package to 3rd ed FP 2 devices. Another result of the new architecture is of course memory saving: applications not needing some of the optional APIs wont have them in memory.
We also have changed the threading implementation. Now Java Threads are native. Each Java Thread has a native thread counterpart. Prior to 3rd FP2 the Java threads used so called light-weight threading (sometimes referred to as "green threads" which is a small misnomer) where Java VM had it's own thread implementation and scheduling. Now Java threads are scheduled by OS.
Runtime performance
On MMAPI we have done performance improvements. In overall the mixing of audio content now works lot better and playback latency is smaller. This means improvements to Java gaming experience. The media deallocation now properly frees the memory and concurrent number of players being in pre-fetch state is increased.
One smaller, but rather dramatic change has been implemented on LCDUI Canvas class. Previously each Canvas instance contained it's own double buffer for graphics contents. The size of the buffer image is the size of the screen so it consumes quite much runtime memory. Double buffering for Canvas is nowadays required feature by MIDP specification 2.1. If a MIDlet has multiple Canvas instances the memory may easily run out. On other platforms e.g. Nokia Series 40 had implemented different double buffering scheme: each Canvas instance simply shared the same double buffer. We at S60 Java decided to implement the same scheme and as a result we are behaving the same with Series 40 devices.
Many Java applications are showing all sorts of user prompts during runtime. There's Internet Access Point prompts and different Access prompts for sensitive features (aka Security Prompts). These prompts allow flexibility and security for the user but when an application is used more and more they start to be just plain irritating. Luckily there's a feature in S60 devices to configure these prompts to be asked either less frequently or not at all (depending on the feature).

On S60 devices users may access Java application specific settings via Application Installer menu item. In the list showing installed applications there's an options menu item "Suite settings" (on 3rd ed FP 1 it's just "Open" menu item).
On 3rd ed FP 1 devices you will be able to configure a default Internet Access Point for that particular Java application. If you set it the application won't never prompt you for the access point but automatically uses the specified IAP when connecting to network.
The device access settings are also configurable via the same view but mostly this only makes sense for signed applications as the available settings for unsigned (aka unidentified) 3rd party applications are forced to be more prompting as defined by Java specifications (MIDP, JTWI and MSA security recommendations).
We are also working on improving this functionality even more on S60 3rd ed fp 2 devices (read: getting rid of those annoying prompts). But more out of that later when details are more solid.
Btw: The Internet Access Point prompts are S60 specific feature which isn't available in other platforms, at least to my knowledge. Many other Java devices simply use the same access point as configured for Browser. S60 is more flexible as you can use a specific access point for each Java application. For example, Browser may be configured to operator's "WAP access point" and a certain Java application to more free "Internet" access point.
A colleague has brought this posting to my attention that I am not famous. Although this did not come as a surprise, it did encourage me to do a posting to tell more about myself. So here it goes.
I am working as part of the organization that develops the Java platform for S60. Like most of the Java platform team, I am based in Tampere, which is located in Finland. On my daily work, I work with a group of talented people to create advanced stuff for the Java platform. Some of our publicly available work is eSWT UI toolkit for S60, which we had a posting about in this blog sometime ago and also the open source eRCP runtime. I also run a second blog that has more regular postings about eSWT and eRCP. Hmm... what else, I am a dog person, meaning I have a dog. I have joined Nokia because it would give me access to the cool devices and now it is addictive. And my star sign is Leo.