Dec 6, 2011

Slideset for New Features of Series 40 JavaME Platform

This is the slideset that I have used for JavaOne and the ─░stanbul developer day event. It highlights some of the major features introduced with Java Runtime 1.0 for Series 40 and Java Runtime 1.1 for Series 40.

More information including the tools and documentation for Java is available on the Nokia Java site.
Read more →

Oct 27, 2011

What Angry Birds Is Using on Series 40 Phones

Rovio's Angry Birds made their entrance to the Series 40 with the Asha lineup of devices announced on Nokia World. If you have missed it Engadget has a post and video that features the mighty eagle showing off Angry Birds on Asha 303.

Angry Birds performs so well on these so called feature phones that it got people puzzled. I guess many people do not expect much from JavaME, therefore there had been questions whether this is actually a JavaME application or did Nokia open up its C libraries, or some other secret API to Angry Birds.

It is a well developed JavaME application! It does not even need access to APIs that are available to manufacturer/operator signed MIDlets. Below is a list of usual suspect APIs that Angry Birds uses as you can see it is a list of APIs that are available to any JavaME developer that targets Series 40.


So people, there is no mystery to Angry Bird's performance on Series 40, It is just an amazingly well developed JavaME application.
Read more →

Nokia SDK 1.1 for Java available now.

At the NokiaWorld, Nokia announced Asha lineup of devices. There are extremely well built Series 40 devices that are likely to form a big market for developers quickly. Today, we are releasing the Nokia SDK Beta for Java 1.1 so that Java developers can start working on their applications right away.
Nokia SDK for Java 1.1
SDK is based on my favorite of the announced phones, Asha 303. Since the SDK is available today, you can develop and test your applications and be ready when devices are available on your target market.

Testing Support for In-App Purchase in Different Stages
As we are starting to accept applications that use the new in-app purchase functionality on Series 40 Java, we have enhanced the in-app purchase tools on the SDK. The IAP simulator, that was introduced on the earlier 1.0 release, now supports both offline and online testing for in-app purchase applications.

In the offline simulation mode, in-app purchase APIs will simply return the values that you have entered on the simulator to your application. This is particularly useful on the early stages of your development since it will allow you to start testing before even submitting the application to Nokia Store.

The online simulation and the test mode on the device is very similar. In this mode, SDK or the real device will communicate with the back-end servers. No monetary transactions will occur in this mode. It is possible to try out different scenarios such as failure of a purchase with the online simulation as well. The Nokia SDK manual that is installed together with the SDK provides more information on how to enable these modes.

This new emulator also significantly improves the system properties that you can access and simulate during development. All the Nokia system properties that were opened are now available on the SDK. In addition, you can simulate different values for the com.nokia.mid.batterylevel sysyem property and the com.nokia.mid.mnc and com.nokia.mid.countrycode values from the preferences.

The improvements and features are not limited to these, you can find the gory details on the Nokia SDK project. I have been using the SDK for my daily development for a while and it is already good for daily use. and available for download .

Read more →

Sep 25, 2011

Speaking at JavaOne 2011

This year, I will be hosting a session in JavaOne titled "Getting the Most Out of the Series 40 Java Platform". As the title suggests, The talk is about the Java platfrom on Series 40 devices. I will be focusing around three topics that I believe will be interesting to JavaME developers. (1) Series 40 APIs for creating superior apps. for Touch & Type style devices. (2) Location features on Series 40 devices. (3) Monetization opportunities with the Nokia Store.

My talk takes place on Wednesday (Oct. 5) at 11:30 AM. It is at the Powell I/II room on Parc 55.


If JavaME solutions, such as the Series 40 platform enables, is in your interest, I recommend the following sessions.
  • Small Screens Playing a Big Boys' Game: A Playbook for Java ME in Emerging Markets (24101)
    Time and Venue: Tuesday 06:30 PM, Parc 55 - Cyril Magnin I/II/III
  • Java Moving Out of the Box in Emerging Markets (22700)
    Time and Venue: Tuesday, 07:30 PM, Parc 55 - Mission-
  • Open Discussion on Emerging Markets (22721)
    Time and Venue: Tuesday, 03:00 PM, Parc 55 - Mission-

For those interested on the quality of the JavaME applications, my colleague Risto Helin is hosting a session together with a bunch of quality enthusiasts called Unified Testing Initiative (JavaVerified for you and me).
  • Why Operators and Manufacturers Are Passionate About Application Quality (25021)
    Time and Venue: Thursday, 11:00 AM, Parc 55 - Mission-

Have a nice JavaOne and see you there.
Read more →

Sep 5, 2011

Time To Renew Your Midlet's Icon


All Nokia platforms have received updates to its launcher icons recently. The common element introduced with the new iconography is the surround background shape. That means that the new icons for Nokia provided applications do not have pointy corners anymore. I guess the sharp pointy corners do reach out to human psyche and remind us of sharp dangerous objects, thus they feel unfriendly to many. If you have applications that are published on Ovi Store, I think this may just be a good time to renew them. Otherwise, the pointy corners of your icon may just stand out.

To make it as easy as possible for you, the good folks in Nokia design have prepared detailed guidelines for creating icons that matches the new surround iconography. I strongly recommend reading through the material. It covers Series 40, Symbian and MeeGo devices and also provides Adobe Illustrator (AI) and Adobe Photoshop (PSD) templates to get you started.

You will quickly notice that the guidelines recommend using 43x43 PNG images on Series 40 and 96x96 SVGT images for Symbian phones. One may think that two different icons would require two versions of the Java application. Thanks to some magic with JAD attributes, you can bundle multiple icons into a single application JAR file.

Java applications on Symbian have supported SVGT icons for a long time, you can read from the Scalable icon support document the details of how this works.  In short, in your JAD file you specify the Symbian SVGT icon name in Nokia-Scalable-Icon-MIDlet-1 attribute whereas the Series 40 PNG icon is defined in MIDlet-1 attribute. On Symbian devices where Nokia-Scalable-Icon-Midlet- attribute is supported, the SVGT icon will be used. Since Series 40 does not support the Nokia-Scalable-Icon-Midlet-  attribute, it will be ignored and the PNG icon specified on the standard Midlet- attribute will be used

The resulting JAD file should have entries similiar to these.

MIDlet-1: HelloWorldMIDlet, /series40_icon_43_43.png, example.hello.HelloWorldMIDlet Nokia-Scalable-Icon-MIDlet-1: /symbian_icon_96_96.svg

If you lack the Adobe photoshop/illustrator skills, there is also an online tool that you can use to convert your existing icon. Tool generates a SVG file which you can use directly on Symbian devices . Using a tool like the inkscape, you can convert the same SVG file to PNG for Series 40 devices. Although the resulting icon is OK for Series 40 use, the result may not be as favorable for Symbian devices. This is because the tool embeds our original icon into the SVG file, which may be somewhat unscallable.  For best results using a pure SVG icon is recommended.
Read more →