First look at the Nokia N97 SDK

Published by Richard Bloor at 8:31 UTC, April 28th 2009

The Nokia N97 SDK is the first device specific S60 SDK released by Nokia. While the additions are not numerous, it offers some interesting new APIs for both C++ and Java technology. In addition, the emulator enables testing of the new home screen features for C++ application and WRT widgets.

The Nokia N97 SDK represents something of a stepping stone from the old S60 world into the new Symbian Foundation environment. As such the new APIs offered are more of an evolution than revolution, with two new APIs for C++ and two for Java. However, it’s not about the number of APIs, it’s about what they can be used to achieve. From this perspective the Nokia N97 offers some exciting new possibilities.

Let’s kick off with C++. The two new APIs are the home screen publishing, and out-of-memory monitor APIs.

You may already be aware that the Nokia N97 introduces a new home screen, which replaces the active idle screen seen on earlier S60 devices. Using this home screen widget developers have the ability to create a ‘mini’, display only, view of their widgets that users can choose to add to the home screen. This enables, for example, an instant view of local weather, sports results, or whatever the widget’s content provides. 

The home screen publishing API extends this capability to C++ applications, enabling a similar display only view of the content of a native S60 application. The API enables developers to create a home screen view, publish it (so users can select it in the home screen’s ‘edit content’ option), and then update the views content.

The emulator in the Nokia N97 SDK provides an implementation of the home screen. This allows applications (and widgets) that have home screen views to be tested. 

Nokia N97 SDK emulator

Sample C++ home screen widget and the Stew WRT widget in the Nokia N97 emulator’s home screen.

By contrast, the out-of-memory monitor API provides entirely ‘under the hood’ functionality. 

S60 devices include a mechanism for guarding against low memory situations interfering with the user’s experience by closing low priority, less used applications. While this optimises the user experience in one direction (minimising the need to manually close applications) it does mean that applications waiting in the background for an infrequent trigger could be closed when the available memory gets low. If the user is relying on such an application to provide some alert, having it closed may be undesirable. The out-of-memory monitor API provides developers with control over this automatic closure by allowing them to give their application a higher priority, thus reducing the likelihood of it being closed in a low memory situation.

For Java developers, the Nokia N97 SDK includes the JRT for S60 1.4 that provides the Sensor API (JSR-256) and an updated version of the Nokia UI API (now at version 1.3). Of these, the Sensor API will be of most interest, providing Java developers with the ability to read data from the accelerometer, battery charge sensor, charger state sensor, and network field intensity sensor on the Nokia N97. The ability to gain information from the accelerometer is likely to be the most heavily exploited feature, as it will allow motion based control to be added to Java games and other applications.

As you may have spotted from the emulator screenshot provided earlier, the emulator offers a N97 facia and two orientations – the illustrated landscape format with keyboard and the keyboardless portrait orientation. 

This is an early release of the SDK, versioned at 0.5. If the versioning can be taken at face value then this is one of the earliest publicly released SDKs from Nokia for some time. However, given that most of the functionality is drawn from the S60 5th Edition SDK, it should be quite stable. Certainly building and running the example applications was straightforward and issue free.

The modest number of new APIs and features in the Nokia N97 SDK belies a significant opportunity for developers. The ability to place application and widget information on the Nokia N97's home screen provides an exciting opportunity to integrate applications and widgets more closely into the overall device experience. But developers will need to be inventive, as the home screen can only accommodate a handful of views. 

The SDK can be downloaded from Forum Nokia here.


 

Filed: Home > News > First look at the Nokia N97 SDK

Platforms: Series 60

Categories: Developer

News Discussion

Tzer2
Interesting that this is the first device-specific SDK. Are Nokia trying to emphasise a few key "flagship" models as examples of S60, or will this become a common way of doing things across their Symbian range?
N/A
One could argue that the original S60 v0.9 SDK for the only S60 v0.9 phone, the Nokia 7650 was the first device-specific S60 SDK.

The next S60 phone(s) were based on S60 v1.2 and the next SDK was v1.2 and there was a bunch of those v1.2 phones (and nowadays v1.2 and the related SDK is called "S60 1st Edition").
Unregistered
So will Nokia release a different version of the system for every new phone? That will be fun for the developers. Meanwhile iPhone developers can be sure that their apps run on every iPhones and iPod Touches becuse Apple is updating the system for every device. I'm not sure that this is good idea for Nokia.
Tzer2
Quote:
So will Nokia release a different version of the system for every new phone?
No. It means that they will help developers with the slightly different hardware and bundled software on each model, differences which would exist anyway.

The OS would be the same on all S60 models with that OS version.


Quote:
Meanwhile iPhone developers can be sure that their apps run on every iPhones
Every iPhone as in one current model and one discontinued model.

What if I want an iPhone with a 5 megapixel camera? Oh that's right, it doesn't exist.

What about a cheap budget iPhone? Oh no, they don't make any.

How about a sturdy tough-as-nails model? Nope, sorry you're out of luck.

What about getting the same OS but on a different manufacturer's hardware? No, Apple refuses to let anyone else use their OS.

Symbian's sales strength comes from its diversity, it's available on very cheap models (130 euros) and very expensive models (650 euros), in sliders and monoblocks, and it's available on hardware from different manufacturers (Nokia, Samsung, Sony Ericsson and LG). You can get ones with Blackberry-style QWERTY, or sidesliding QWERTY, or half-QWERTY, or standard keypads, or resistive touchscreens, or capacitive touchscreens.

With Apple you either buy their one single model or you don't. There's no choice or diversity at all, they expect everyone's needs to be the same.
Unregistered
Hi guys,

I see from the API documents, that the N97 SDK has ctrl- key functionality for cutting, copying, etc. However, I cannot find the actual ctrl- key. Anyone yet worked out how to do this?

Full thread: 5 Comments / Post New Comment

Search

Navigation

Social

Advert

Translate

Also All About