While we are still waiting for the first S60 3rd Edition, Feature Pack 1 device
to hit the street, users and developers can already start looking forward to the
next generation S60 devices. Richard takes a look at S60's new features for developers.
S60 3rd Edition, Feature Pack 2 is part of the continuing
evolution of S60. For C developers, and this time not just Symbian C++ developers,
Feature Pack 2 delivers many new APIs and with them a whole range of new opportunities.
Open C is an extension of P.I.P.S, adding several extra libraries (or at least
a good number of key functions from them.) The five additional libraries are:
- libz - compression library providing in-memory
compression and decompression functions, including integrity checks of the
uncompressed data with 100% implementation of functions.
- libcrypt - cryptography libraries with functions for
encrypting blocks of data, messages, and password hashing and 100%
implementation of functions.
- libcrypto - services used by the OpenSSL
implementations of SSL, TLS, and S/MIME, which have also been used to
implement SSH, OpenPGP, and other cryptographic standards. 77% of functions
are implemented.
- libglib - a utility library that provides many useful
data types, macros, type conversions, string utilities, file utilities, and a
main loop abstraction. It works on many UNIX-like platforms, Windows, OS/2,
and BeOS. Again 77% coverage.
- libssl - the OpenSSL Secure Sockets Layer (SSL) library implements SSL v2/v3
and Transport Layer Security (TLS v1) protocols. 86% coverage.
The good news is that Open C is not limited to Feature Pack 2. On Feature Pack
2 devices Open C will be available built-in, however for all other S60 3rd Edition
devices Open C will be available as an installable component, which should be
available from Forum Nokia around the end of February.
Open C does not eliminate Symbian C++ development, or at least only if your
application has no UI and does not need to access devices features (such as the
address book or calendar.) It is however be a boost to the P.I.P.S promise of opening Symbian OS to applications
and application components developed in standard C.
For die-hard Symbian C++ developers Feature Pack 2
should not disappoint. There are a raft of new APIs; the big three are an application
interworking API, Map framework APIs and application and network level roaming
APIs.
The application interworking (AIW) API can be loosely thought of as similar to
object link embedding from Windows. These APIs allow the functionality of one application to be embedded in another, without
the relatively complex APIs needed in earlier version of S60 to achieve the appearance
of embedding. Initially the embeddable applications are limited, being only for
dialing and map functions, but new capabilities will undoubtedly be added in future
releases of S60.
The Map Framework APIs will be of interest to any developer who wants to add
mapping and navigation features to their application. The framework allows applications
to access map, navigation and geocoding services. There is one significant limitation,
the public APIs only cover the consumption of these services, so developers will
be dependent, at least initially, on the map services being available on a device.
The likelihood is that these services will be on high end devices, but not on
mid range devices. As there are no provider APIs, developers will be reliant on
device implementations to use these APIs.
The last "big" addition is the Application and network level roaming APIs. These
will allow applications to keep their Internet connections as a device roam between different networks. While these
APIs are perhaps less exciting than those for AIW and mapping, as mixed network usage becomes the norm any self respecting
network enabled application will benefit from these APIs.
In the area of the UI there are two new APIs, the Middle Softkey API and Status
Pane API. The Middle Softkey API provide access to the new middle softkey (Series
40 style) label and associated function, while the Status Pane API provides access
to features on the improved status pane.
There are a few other API updates, including
- DRM Helper API.
- Light API.
- Platform Environment API.
- Connection Manager API (via Symbian OS).
As yet there is no public S60 3rd Edition, Feature Pack 2 SDK, however it is
expect to become available before the middle of the year. So there is plenty of
time to start planning how to map enable your application or implement that C
project which would be just killer on an S60. |