HomeAppsBlogForum
10 comments

Discussion for Nokia Java Runtime 2.0 for S60

NinjaCyborg Wed, 2009-07-01 15:42

Feedback on Java Runtime 2 preview release

Tested on N97 with v10 firmware.

* Using C: drive on N97 is unacceptable, following installation of this and Nokia Messaging (which despite being installed on D: drive still fills C: drive up with junk), am left with only 1.7MB of C:drive space left - not enough to be able to do a firmware update today.

* Application icons are still borked - whatever algorithm is being used to scale them is horrible. Start with trying to scale the Gmail MIDlet icon correctly and you'll be off to a good start. And it would be helpful if after all these years Nokia published definitive icon sizes and filename syntax for providing larger icons, instead of relying on developers to guess that we need to put extra icons in for S60 with names like mymidletMIDlet32x32.png

* After installation, Launcher folder locations for MIDlets was lost, and all MIDlets were dumped back in Applications folder rather than the games and other folders I had created to keep things tidy.

* The please wait screen used for this and throughout S60 5th edition is fugly as hell, and still drops back to the launcher before the app screen shows. Can't keep the spinner up until the first setDisplay call? It's not hard to do a nice 'busy' screen, a little alpha blended spinner would be nice, or do what Psiloc World Traveller does please.

* OpenGL performance in MIDlets is just as bad as it was with the previous runtime.

* MIDlets that are hardcoded to screensizes less than 320x240 are still origin in top left, when it would make lots more sense to centre each display in the available space for any display with a width < screen width

* Fullscreen mode finally works properly in Gmail MIDlet

* Noticeable performance improvement in 2D graphics and animation e.g. bejewled, gmail

* Games which ask "Enable Sound" when they start, don't play sound even if you select yes, even in General Profile mode.

* In Guitar Hero midlet included with N97, performance of 'Cover Flow' song selector is worse than with built in runtime. In game performance seems same or slightly faster, but game is still unplayable.

* IAP settings under Suite Settings still does not allow selection of Destinations rather than IAP

* Promised new more relaxed permissions for Untrusted and Trusted 3rd Party security domains still not in place. E.g. no Always Allow option for connection to network for Untrusted MIDlets like Gmail.

· Sign in to post comments.
#1 malbry Sat, 2009-07-04 10:29

Hi, I tried the new Java

Hi,

I tried the new Java runtime with some of my own Java apps. First of all, it would be good to understand what is happening behind the scenes when all Java applications are being 'converted' immediately after the JRT has been installed. All my apps store data locally in Java recordstores - are these being converted to a new format?

Anyway, I did not see any noticeable increase in speed using the new runtime. I did hit two problems. Firstly, one of my apps uses the switch 'Nokia-MIDlet-Background-Event: pause' in the jad file to detect when the app comes to foreground. This behaviour wasn't replicated with the new runtime. Secondly, another of my apps uses a large (>3 meg) recordstore. Normally this takes about 4 secs to open on my 5800. With the new runtime, it fails to open - no error message but just waits indefinitely.

Lastly, I was hoping that you might have fixed the really annoying bug in javax.microedition.lcdui.TextBox where the cursor position always defaults to the last character, instead of respecting the value of getCaretPosition(). Unfortunately, the bug is still there :-(

If you want more details of these errors then please contact me at malcolm@freepoc.org

Best regards,
Malcolm

· To top · Sign in to post comments.
#2 NinjaCyborg Mon, 2009-07-06 01:14

Further observations: *

Further observations:

* Can't see how to choose installation device for MIDlets other than default C:. Another poster says it's in the View Details view but when I selected that, installer process locked up with a black screen - could it be because I didn't have a memory card in my N97 slot? Haven't tested whether Ovi Store downloads work with silent install correctly or if they do install in Ovi store preferred drive, but please don't forget that test case.

General feedback on previous Symbian Java runtime on subtle things worth checking:

* Vector class in previous implementation was very slow/inefficient. Seemed to get better around v9 but don't know if that was because hardware was faster, or someone rewrote it.

* S60 version used to have a bug in TextField type PHONENUMBER that meant JVM would panic when selecting a number from your addressbook. This was in S60 at least up to 2.5/2FP2.

* Previous implementation didn't use ARM Jazelle library to replace core JVM/KVM code. SonyEricsson devices on the other hand do use it and you can see the difference it makes.

* Please make imei number accessible to untrusted third party midlets, and follow sonyericsson defacto convention for accessing cellid and mnc/mcc in properties.

* As the above poster suggests, please do make sure readonly and read/write TextBox forms default to cursor at start not at end. This has been an S60 implementation bug since day 1 (as with PHONENUMBER, it always worked right on UIQ). Also, earlier S60 TextBox implementations couldn't cope with large amounts of text, 500 words+, taking seconds to layout.

· To top · Sign in to post comments.
#3 princess_conzuella Tue, 2009-07-07 07:59

Awful Bugs

I find the new runtime environment a lot more stable. There are , however a few bugs which make it impossible to use on a continual basis:

* The internet connection is extremely inconsistent - not all data is received and not all is sent. This is very obvious with IM apps, which reconnects the whole time and where many messages aren't delivered. Java-based browsers also struggle to hold the internet connection.

* Most of my apps can't seem to close. Whenever I exit, they just hang - which leads to me having to restart my phone. This mostly happens because of the lost internet connection, I find.

* Personally, I found no speed difference, which isn't a good or a bad thing. The overall environment is a lot more stable - in the past many of my apps would close involuntary, now they don't close at all...

* Suggestion: ability to choose small/medium/large d-pad emulation. The current d-pad is just actually way to bulky.

Keep up the great work, though. This project certainly was long overdue.

Nokia 5800 (v21 f/w)

· To top · Sign in to post comments.
#4 Staff ErkkiS Tue, 2009-07-07 13:55

The conversion of the applications for the new runtime

I am part of the team developing the new Java runtime.

In the beta all existing Java applications are copied to a new directory. Also all data in the private directory of the Java application is copied to the new place, the application settings are copied and all RMS data is copied and converted to a new format so that it can accessed using new, faster RMS implementation.

The copying is done so that nothing that happens in the beta environment affects the original java environment. You can for example uninstall java applications in the beta environment but when you uninstall the beta, you see all original java applications and they have the original RMS data and original settings.

Unfortunately this means that each application takes twice as much disk space.

We won't use this 'copy' approach in the final Java 2.0 runtime.

· To top · Sign in to post comments.
#5 pmcquillan Tue, 2009-07-07 14:06

Only a tiny bit faster

I tried running my quite intensive number crunching midlet (and yes, I'm happy to share the midlet). On the 5800, using a test input file the 'normal' Java ran the test in 157.8 seconds (averaged over a number of runs). The new beta ran the same test in 156.1 seconds. So, a small performance increase, but nothing to really boast about I think.
This is the same midlet that I mentioned on a forum post a couple of years ago http://discussion.forum.nokia.com/forum/showthread.php?t=121101

where I pointed out that the N70 seemed to run Java much faster than the N95!

· To top · Sign in to post comments.
#6 NinjaCyborg Tue, 2009-07-07 22:20

Some more detailed

Some more detailed observations on the bugs I previously reported above.

* Icon scaling: it seems that new installations do a better job of scaling. It's just that the converted apps retain the same crappy icon. But the gmail icon, which is very small, still gets scaled badly.

* Choosing installation drive. Well, this shouldn't be in the View Details dialog, but it does seem to work more often than not. I still encounter blank (black not white) screen lockups when pressing view details sometimes though.

· To top · Sign in to post comments.
#7 Staff ErkkiS Wed, 2009-07-08 09:24

The performance of the new runtime

Nokia Java Runtime 2.0 for S60 beta uses still the same Java virtual machine as the previous Java Runtime. Some bug fixes have been made to the virtual machine but the base Java performance is about the same.
Beta contains already new implementation of the runtime environment and many rewritten JSR implementations but in some cases the performance optimization of the new implementations has not yet been done.

· To top · Sign in to post comments.
#8 NinjaCyborg Wed, 2009-07-08 15:09

ErkkiS how do I send you a

ErkkiS how do I send you a private message because the information I have regarding Jazelle is not for public?

· To top · Sign in to post comments.
#9 Staff ErkkiS Wed, 2009-07-08 15:33

Temporary contact address

NinjaCyborg: You can use this e-mail address to contact me until 2009-07-11 (when my summer vacation starts)

erkki.solala@nokia.com

· To top · Sign in to post comments.
#10 NinjaCyborg Tue, 2009-07-14 15:35

New feedback: After

New feedback:

After installer has run, it does not release locks on the jar file, or at least, does not release locks if the jar file is attached to an obex mtm message type. After installing I get an Already in use (KErrInUse?) dialog and can't delete the message until I reboot, which I guess releases the file locks.

· To top · Sign in to post comments.