S60 3rd Edition
Posted: 04-07-2006, 08:23 AM
Member
Join Date: Aug 2005
Location: India
Posts: 1,114
Join Date: Aug 2005
Location: India
Posts: 1,114
From 3rd Edition onwards there will be a new compiler embedded into the platform that is based on ARM’s Embedded Application Binary Interface (EABI) standard. One of the immediate downsides of adopting a new compiler based on this standard is that it will cause a binary break with all previous versions of the S60 platform. Additionally, developers will have to acquire new tools (these costs are relatively minimal). However, major gains have been achieved for all platform stakeholders with the advent of this new compiler; it produces applications with a smaller ROM footprint and enhanced performance for S60 software. There will also be some improvement in third-party application performance. So in return to the break, devices based on the S60 platform will become faster and cheaper, and more applications can be stored in ROM giving better performance. Anticipated higher sales volumes of these devices will generate additional revenue for all parties.
S60 3rd Edition includes mandatory .sis file signing, which means that all .sis files must be signed before installing them to the device. The “Capability Model” means that for third-party applications certain APIs are restricted and that specific capabilities must be granted before an application can utilize the desired features. Capabilities are defined only for signed applications; unsigned applications have no capability defined. There are two certifications for signing that developers will need to gain access to restricted APIs — “Symbian Signed” certification will be needed to allow the release version of a suitably complex application to run on devices based on the 3rd Edition (and later), and “Symbian Developer Certificate” will be required to allow developers to test the application on a real device while in development. It is important to note that these certification requirements will allow Nokia to publish many APIs that were previously private, thereby allowing more exciting application development. More detailed information concerning the capabilities can be found from SDK documentation and from the Symbian Security Model And Certification document.
Other new features available in S60 3rd Edition include, for example, the following:
Real-time kernel
C++ Landmarks APIs
C++ SIP Stack and APIs
Java SIP API, JSR-180
Java Scalable 2D Vector Graphics API, JSR-226
Java Location API, JSR-179
Java Security and Trust Services API, JSR-177
Java Wireless Messaging API (WMA) 2.0, JSR-205
New audio formats and APIs
Besides the totally new features, there are many new features introduced already on top of the 2nd Edition as lead features with the Feature Packs, but which will now become part of the core software of S60 3rd Edition. Probably the most significant of those is the support for Scalable UI introduced with the 2nd Edition Feature Pack 3.
S60 Platform Evolution
According to the Nokia Platform compatibility promise, all devices based on a certain platform edition are compatible with the core software of that edition. On top of that, later platform versions may introduce new functionality as lead features (Feature Packs), but they are not allowed to introduce breaks or incompatibilities to the core software of that edition. Typically most lead features introduced with the feature packs on top of the core software of the current edition will later become part of the core software of the next edition. Also individual devices may introduce lead features, but again are not allowed to introduce any breaks or incompatibilities to the core software of that edition. In practice, some small and very minor breaks may still occur, which are then documented and communicated.
Breaks and incompatibilities are only allowed when introducing a new core edition of the platform, but not preferred with those either. When going from S60 1st Edition to the 2nd Edition, there were only a limited number of breaks and migration was fairly easy. In addition, making the same application run on both of those editions, and thereby on all devices currently compliant with the S60 platform, is fairly easy. Now when going from 2nd Edition to 3rd Edition, which are not binary compatible, there are more breaks on source code level, and therefore migration from 2nd Edition to 3rd Edition is less trivial. Typically at least some level of rework is needed to make existing S60 applications run on devices based on S60 3rd Edition. However, compatibility will be maintained after that between the future releases. Figure 1 illustrates the evolution of the S60 platform.
Figure 1: S60 platform evolution with possible break points

Figure 2: S60 platform evolution from the 2nd Edition to the 3rd Edition with key feature additions listed for each of the releases

New APIs and functions in 3rd Edition
Installation - despite the .SIS file extension is preserved, only SISX applications can be installed (that is an extended format of installation files).
Light API - allows control over the keypad and screen backlighting from applications.
Vibra API - expanded control over a vibracall, during games and application work. It replaces Vibra Control API. Also Vibra Settings API which allows change settings present.
HWRM Power State API - information about the battery level and current status. It allows creating a corresponding function in applications easily, for instance, in shell analogs widely available for Windows Mobile devices.
Profiles Engine Active Profile Settings API - contains data about an active profile (for example, sound level, and call type selected for voice calls or SMS alert).
Find Item API - allows marking out numbers, e-mail addresses and links in text.
Startup List Management API - is a capability for developers to add their applications to the list of programs automatically starting up with the device.
PtiEngine API - low-level access to text input functions, using predictive input. In perspective, that means that third-party applications support the same input methods that the original shipment applies.
Common Audio Enhancements API - defines an interface used by audio applications.
OMA DRM v2.0 - the passage to the second version of control over digital rights for content, brings strengthening of the control, fully compatible with the first version.
DRM Audio Player API - allows playing protected content in applications equipped with a DRM functionality, only files saved on the device can be played (no capability to play threads).
Exif API - represents information about the headings of JPEG files (time of creation, change, and reading).
MIDI client API - integrates work with MIDI into third party applications (Symbian version 8.0).
Audio Effects API - allows access to equalizer settings, selecting them, access to various sound effects, including Stereo Widening. Audio Effects Preset API is responsible for setting of effects and equalizer.
Network Status API - shows data about the current network condition.
Location API is a set of 7 various APIs which allows working with GPS-devices (both external receivers and integrated ones). Routes and anchor points are supported.
Scalable 2D Vector Graphics API (JSR-226) - view SVG-files, which is a 2D vector graphics, can be used in various applications, for instance, showing cartographic information.
Qwerty keypad support - Qwerty keypad is supported, but the actual availability is hardware-dependent.
Flash Lite 1.1 Viewer - Easy content authoring and deployment. The Flash Lite 1.1 Viewer may already be available with some S60 2nd Edition, Feature Pack 3 devices.





Linear Mode


Join Date: Oct 2006
Posts: 18