Saturday, May 19, 2007

Series 60 v3

Series 60 Platform 3rd Edition (Series 60 3.x) builds on Series 60 Platform 2nd Edition (Series 60 2.x), extending existing technologies and capabilities plus providing access to many new ones. Series 60 3.x is built on top of Symbian OS v9.1, which provides some new challenges for Series 60 developers- partially because it is not backwards compatible with earlier versions of the platform.

Symbian OS v9.1
The core changes in Series 60 3.x arising from the introduction of Symbian OS v9.1 as the base platform are:

Introduction of the Real-Time Kernel with predictable execution times for many kernel services and reduced latency times. This change may have significant impact for licensees as it enables the introduction of single-chip phone solutions. As a side-effect of this, the quality of the emulator has improved as it now shares the same core kernel as the target version and so correctly mimics the threadprocess model of a hardware device.

Amongst the issues this creates for developers are the numerous APIs that have changed from Client-Server interactions upwards, which causes both binary and source compatibility to be broken in many areas. However, it also introduces the capability to produce true real-time applications and enhanced application performance.

Platform Security - the introduction of Data Caging and the Capability Model means that applications have restricted access to the data storage of other applications and must request permission to use various system APIs.

This will cause some compatibility issues for developers porting their applications to the new platform and in many cases will require applications to be Symbian Signed to gain access to some APIs and ensure the best user experience.


The development tool chain now uses ARM ABI (Application Binary Interface)-based compilers for target builds-for example the ARM RealView® RVCT compiler or a customised version of the GCC compiler. These provide support for the ARM v5 processor instruction set, but will make little direct difference to developers in coding terms.

Many new APIs are provided as part of Symbian OS v9.1 including USB support, OMA Device Management 1.1.2, Over-The-Air OMA Client Provisioning v1.1, RTP (Real-Time Transport Protocol) stack and a new Bluetooth (1.2) stack with support for Bluetooth eSCO (extended Synchronous Connection-Oriented link)-which provides more robustness for voice data in a crowded frequency band-and Bluetooth Stereo headset profiles.

Updates to existing APIs, such as PIM changes to support group scheduling and an expanded Java solution including CLDC 1.1 (JSR 139), Mobile Media API (JSR 135), Java API for Bluetooth (JSR 082), Wireless Messaging (JSR 120), Mobile 3D Graphics API (JSR 184) and the Personal Information Management and File Server APIs (JSR 075), also provide many new opportunities for developers.

Series 60 3.x
As well as the many changes introduced by Symbian OS v9.1, Series 60 Platform 3rd Edition has various changes of its own. Series 60 3.x focuses on enhanced mobile Multimedia and Enterprise functionality while retaining all of the features of Series 60 Platform 2nd Edition. It also provides improved platform architecture and customisation enablers.


Some of the main categories of change are summarised below.

Enterprise
Many Messaging, PIM and Synchronisation improvements have been made including support for Synchronised/Always-On/Push Email, with potential for handling of Meeting Requests in a unified Group Scheduling solution.

Instant Messaging (IM) APIs allow developers to use and launch IM services via an ECom interface.

A SyncML API supporting OMA Device Synchronisation v1.2 allows developers to call on functions to carry out synchronization tasks from inside their applications. SyncML features for this release include:
Backward compatibility with SyncML v1.0.1.
Compatibility with extensions for SyncML Email.
Compatibility with current and future servers such as IBM WebSphere and Oracle Collaboration Suite SyncML server.

Complementary offerings in the Enterprise space include MS Office viewer applications for Microsoft Word, PowerPoint and Excel files, with Adobe PDF viewing also planned.

Multimedia

Multimedia provides support for version 2 of the OMA DRM API and a stand-alone music player with equalisation, audio visualisation and Active Idle plugin support. This improves the usability as well as the security of protected content and the music player makes access to online music content much easier.

An FM Radio API can be used to control hardware where available.

Support for SD card and Mini SD card is provided and music and other content can be more easily transferred between PC and mobile devices as connectivity adds USB Mass Storage Device Class support, such that a mobile device can be connected to any PC via USB and be seen as an external disk for easy data transfer without the need to install new device drivers.

The EXIF (Exchangeable Image File) API supports EXIF headers for compressed JPEG (Joint Photographic Experts Group) files intended to enhance interoperability between imaging devices- especially digital cameras-many of which use this format.

Complementary offerings in the Multimedia space include a Macromedia Flash Lite 1.1 player.

UI

Scalable UI support continues with 176x208 + landscape, QVGA + landscape and 352x416 + landscape support in Series 60 3.0, with more configurations to come. Side or bottom soft keys are handled by the Rotation Framework, which enables developers to create smarter applications for a better user experience, and the Thin Status Pane enables a 3x4 icon Application Menu.

Active Idle support is expanded to allow licensee plug-ins and configurable positioning, with a News Ticker provided for Cell Broadcast or UDP-borne data.

QWERTY keyboard support is added to the platform alongside the standard ITU-T (numeric) keyboard support and many look-and-feel changes such as 3D menu animations and transition effects will start to filter into the platform.

Java

New Java APIs include the following:
Scalable 2D Vector Graphics (JSR 226)-rendering of scalable 2-D vector graphics, including image files in the World Wide Web Consortium (W3C) Scalable Vector Graphics (SVG) format. Applications could include map visualisation, scalable icons, and other advanced graphics manipulation.
Security and Trust Services (JSR 177)-extending the security features of Java™ 2 Platform, Micro Edition (J2ME™) through the addition of cryptographic APIs, digital signature service, and user credential management.
QWERTY mode key mapping-as well as the standard ITU-T keyboard support.
Location API (JSR 179)-providing GPS and landmark information.
SIP API (JSR 180)- the Session Initiation Protocol (SIP) is a signalling protocol that is used to establish and control multimedia communication sessions on networks that use the Internet Protocol (IP). Applications can range from two-way phone calls with dynamic addressing to Push-To-Talk and video conferencing.
Wireless Messaging API (WMA) 2.0 (JSR 205)-providing access to MMS, allowing Java developers to create messages that contain images and sounds as well as text.

Miscellaneous

Location APIs provide basic GPS information with landmark support. This offers developers the option to produce applications that can respond to a user's current location and use location-related information-which has huge potential for a vast range of services, such as locality-based data queries-for example, finding the nearest restaurant or cinema.

Telephony adds support for VoIP (Voice over IP) and PoC (Push-To-Talk over Cellular). Networking sees the addition of IPv6 and WLAN support, with WLAN Voice over Internet Protocol (WLAN VoIP) allowing the user to make calls over the Internet using wireless local area networks.

The Find Item API provides a common enabler for searching for data in a string-such as phone numbers, Email addresses, and URLs-and for providing common context-dependent actions after the search such as adding a number or address to Contacts, calling, sending a message, copying and pasting, going to a given URL, saving as bookmark, and so on. Series 60 Platform 3rd Edition implements a 3GPP standard public SIP API and SDK for SIP application development.

An API that controls the turning on and off of the backlight is now available. This removes the need to monitor inactivity time when the user wants to keep the backlight on.

Web Services Basic Profile support-XML 1.0, HTTP 1.1 and SOAP 1.1 are provided through both C++ and Java APIs. These APIs offer ways to establish connections and to store, retrieve, and manage service information.

Some restructuring of Internationalisation support has been made to allow for easier implementation of region/country language variants. Dynamic language switching will be available in later releases without a binary break.

No comments: