View a printable version of the current page.
  Wiki > Symbian Developer Network Public Wiki > ... > Technical papers > Symbian OS System Definition
  Symbian OS System Definition
Added by rodders, last edited by Admin User on Feb 15, 2008  (view change)
Labels: 
(None)

1. Introduction

Many Symbian OS phones are coming to the market from a range of mobile phone manufacturers, and can be targeted by application developers. These phones use a variety of UI platforms providing different user interfaces. Currently the following phones are already available or have been officially announced. More information about all of these is available on www.symbian.com/phones/

Nokia 9200 Communicator Series (based on Symbian OS v6.0):

  •  Nokia 9210
  •  Nokia 9210c/9210i/9290

Series 60 Developer Platform 1.0 (based on Symbian OS v6.1):

  •  Nokia 7650
  •  Nokia 3650/3600
  •  Nokia 3660/3620
  •  Nokia N-Gage
  •  Nokia N-Gage QD
  •  Sendo X
  •  Siemens SX1

Series 60 Developer Platform 2nd Edition (based on Symbian OS v7.0s):

  •  Nokia 6600

Series 60 Developer Platform 2nd Edition with Feature Pack 1 (based on Symbian OS 7.0s enhanced)

  •  Nokia 3230
  •  Nokia 6260
  •  Nokia 6620
  •  Nokia 6670
  •  Nokia 7610
  •  Panasonic X700
  •  Samsung SGH-D710

Series 60 Developer Platform 2nd Edition with Feature Pack 2 (based on Symbian OS v8.0a)

  •  Nokia 6630
  •  Nokia 6680
  •  Nokia 6681
  •  Nokia 6682

Series 60 Developer Platform 2nd Edition with Feature Pack 3 (based on Symbian OS v8.0a)      

  •  Nokia N70
  •  Nokia N72
  •  Nokia N90

Series 80 Developer Platform 2.0 (based on Symbian OS v7.0s enhanced):

  •  Nokia 9500
  •  Nokia 9300

Series 90 Developer Platform 2.0 (based on Symbian OS v7.0s enhanced):

  •  Nokia 7710

UIQ 2.0 (based on Symbian OS v7.0):

  •  Motorola A920
  •  Motorola A925
  •  Sony Ericsson P800/P802

UIQ 2.1 (based on Symbian OS v7.0 enhanced):

  •  BenQ P30
  •  BenQ P31
  •  Motorola A1000
  •  Sony Ericsson P900/P908
  •  Sony Ericsson P910
  •  Arima U300

NTT DoCoMo Platform (based on Symbian OS v6.1):

  •  NTT DoCoMo FOMA F2051
  •  NTT DoCoMo FOMA F2102V
  •  NTT DoCoMo FOMA F900i
  •  NTT DoCoMo FOMA F900iT
  •  NTT DoCoMo FOMA F880iES
  •  NTT DoCoMo FOMA F900iC
  •  NTT DoCoMo FOMA F901iC

The phones have been grouped according to the UI platform version upon which they were based. We have also indicated the Symbian OS version upon which that was in turn based. In some cases more than one version of a UI platform has been based on the same nominal Symbian OS version. However further releases of the relevant Symbian OS version are likely to have been made between the UI platform versions. As a result there will be some enhancements and additions to the functionality delivered by the later release of that Symbian OS version. In such cases we have indicated the later release of the Symbian OS version by referring to it as "enhanced".

A concern frequently raised by independent software vendors (ISVs) developing applications for Symbian OS phones is:

If we write an application for one Symbian OS phone, how much work will be involved in getting it running on a different Symbian OS phone, running possibly on a different UI platform? The often-stated answer to this question is that about 80% of the APIs are common to all variants of Symbian OS. However that is at best only a partial answer, as there is a further question whether these "common" APIs are actually available on each of the phones being targeted. In this paper we provide some concrete information to help address this second question.

We introduce a classification of Symbian OS components into those that are common to all phones and those that are optional. Additionally, we indicate which components have APIs that must be maintained across Symbian OS and which components licensees can replace with their own implementation and/or API. We further address the question of which of the optional APIs have been used in practice on the various phones. We focus here on those phones which have already been released and are "open" in the sense that applications can be developed in C++ using Symbian OS SDKs and installed onto the phones:

  •  Nokia 9210
  •  Nokia 9210c/9210i/9290
  •  Nokia 7650
  •  Nokia 3650/3600
  •  Nokia 3660/3620
  •  Nokia N-Gage
  •  Nokia N-Gage QD
  •  Siemens SX1
  •  Sendo X
  •  Nokia 6600
  •  Nokia 6620
  •  Nokia 7610
  •  Sony Ericsson P800/P802
  •  Sony Ericsson P900/P908
  •  Motorola A920
  •  Motorola A925

The phones under the "NTT DoCoMo Platform" category above are not open phones by the above definition and for that reason are not addressed here.

Note that a UI platform, such as UIQ, may mandate other APIs which are not formally part of Symbian OS, in particular APIs relating to the UI. The details of UI platform definitions are beyond the scope of this document and would need to be ascertained from documentation provided by the relevant SDK provider.

2. Introducing the Symbian OS classification

* *The classification presented here is a simplified version of the system definition used by Symbian to indicate the functionality and APIs that licensees must include in their phones. The goal of the system definition is to enable differentiation without fragmentation of the platform, ensuring that key system services are provided to application developers under common APIs and ensuring maximum interoperability between all products containing Symbian OS.

In this paper we use four categories to classify the APIs available on phones: common Symbian, optional Symbian, common replaceable and optional replaceable. We shall now discuss each in more detail.

  • Common Symbian
    Components in this category make up the core Symbian OS. Developers can expect these components to be present in every phone, and to export a public API that is maintained (binary and source compatible) across all phones based upon the same Symbian OS version. In other words, code written for the published API should compile and run without error on all such phones. Licensees may add additional functionality, but the core API and behavior must be maintained and the implementation not changed excessively. While efforts are made to maintain binary and source compatibility between OS releases, this may be broken in exceptional cases. Such breaks usually warrant a major version number upgrade.
  • Common replaceable
    These are (with the exception of Java runtimes) low-level hardware-specific components supplied by licensees that, together with the common Symbian components, are needed to make a working system ROM. The versions of these low-level components supplied as part of Symbian OS are targeted at the reference hardware and are expected to be replaced by licensees. Customization of the Java runtimes is necessary because the standard Symbian OS Java runtimes are targeted at a test UI so need to be tailored by licensees for a specific product UI.
  • Optional Symbian
    These components are optional for all phones, although they are almost never omitted in practice (see below). However, if an optional Symbian component is present a developer can expect its public API to be maintained. An application written for the published API should compile and run without error on all phones based on the same Symbian OS version. Licensees may replace these components with their own implementation, provided the published API and behavior of the component is maintained. Again, best effort is made to maintain binary and source compatibility between OS releases.
  •  Optional replaceable
    The inclusion of these components in Symbian OS phones is optional. A licensee may provide their own implementation and there is no requirement for their public API to be maintained across phones based upon the same Symbian OS version. Licensees can (and do) introduce their own APIs, although these will often be standardized across a platform, such as with Nokia's MMS API on all their developer platforms.

3. Classification of Symbian OS components

The following tables classify the various Symbian OS components using the taxonomy introduced above.


Table 1
----We consider first the common Symbian components in Table 2. As would be expected, virtually all of these appear in every phone on every Symbian OS version from their introduction. The only exception here is in relation to ETEL. Although technically the fax client API is included within ETEL server, fax functionality has not been included in any phones based on v6.1 or v7.0. However all other public ETEL server APIs have been included in all phones. ETel 3rd Party APIs did not ship in the Nokia 6630, the first phone to be based on Symbian OS v8.0, although it is hoped they will ship in subsequent phones. TCP/IP was broken up in v8.0 into TCP/IP Core Stack, Comms Framework, Quality of Service and TCP/IP Transport Security so as to allow separate classification.

Table 2 Common Symbian
It should be mentioned in relation to UIKON that some modifications were introduced in v6.1 involving alterations rather than just extensions of generic Symbian OS APIs. These were required to open up support for a wider class of UIs such as Series 60, and have been propagated through to v7.0s and v8.0 to allow compatibility with Series 60 apps developed against a v6.1 baseline. But, since for all practical purposes all SDKs based on Symbian OS v6.1, v7.0s or v8.0 have used, or will use, this modified version of UIKON, this does not affect the basic assertion that the UIKON API is common across all phones based on any one Symbian OS version.

In Table 3 are presented the common replaceable components. Again, virtually all of these appear (subject to the necessary replacements) in every phone on every Symbian OS version. Concerning the font/bitmap server category, all components of this are included in all phones with the exception of the Freetype component, which is needed to support TrueType fonts. This has not been included with Series 60 SDKs so is not available for Series 60 programming. Nor has it been included on any Sony Ericsson UIQ phones, although it is part of the associated UIQ SDK for Symbian OS v7.0. It is none the less possible for UIQ developers to make use of this omitted component (and so TrueType fonts) by including a version of it for conditional installation with their application.  The renamed "Font and Bitmap Server and Font Store" omits the TrueType support library which becomes Optional Replaceable from v8.0. !


Table 3 Common replaceable
Table 4 lists theoptional Symbiancomponents. Although these components are deemed optional, all of them are in practice present in all phones based on all versions of Symbian OS. Concerning the "not applicable/available" omissions below, Bluetooth was added into Symbian OS v6.1 and has subsequently been included in all open Symbian OS phones. SyncML was introduced in Symbian OS v7.0, and rebadged and reclassified as Optional replaceable in v8.0.The Task scheduler in fact continues to be included from Symbian OS v7.0s; it has merely been subsumed within the messaging engine. Cryptographic Token Framework has been separated out from Security from v8.0. GSM SMS Plugin has been separated off from Messaging engine. GSM SMS Stack has moved from Optional Symbian to Common Symbian from v8.0. SyncML has moved to Optional Replaceable from v8.0. USB support appears in v8.0 but has in fact been separated off from C32 Server and expanded. Likewise ZIP Library has been separated off from Security. The story concerning the Web browser has evolved. Although Symbian provided a Web browser which was shipped on some Nokia 9200 Series Communicators, it was replaced in later models by the Opera Web browser. Work on Symbian's browser did not continue beyond v6.0 and support has now been withdrawn.

 Table 4 Optional Symbian
The final table shows the optional replaceable components. A phone manufacturer may a) omit these components, b) use Symbian's implementation, or c) provide their own implementation with no requirement for public APIs to be maintained across different Symbian OS phones. however, as can be seen, in the majority of cases, Symbian's implementation is again used.



Table 5 Optional replaceable
Here, as in previous tables, we see new technologies introduced with newer OS versions. Although Media server and On-board connectivity are marked as having been retired after v7.0, in fact they were merely re-badged, subject to some re-architecting, as Multimedia and PC Connectivity toolkit, respectively. Likewise, in v7.0s, Logging engine found a temporary home in System Agent until that component was merged with Power and Store in v8.0 to form a new enlarged Logging engine. Printer drivers has been split into Printing Services and Printing Support Library. Networking options on the other hand has been divided up among Data Link Layer Protocols, Comms File Logger and Connection Initiation , the latter moving to Common Symbian. HTTP Client and Internet Protocols were combined as Application Level Internet Protocols in v7.0s, and then separated again in v8.0, while parts of WAP-browser Engine were separated out as WAP Push Support. Browsing Framework was renamed Plugin Framework server and reclassified as Optional Symbian in v8.0, while View Server was merged with UIKON as UI Framework. Grid Layout Engine was relegated to test/reference status and Comms Database upgraded to Common Symbian at the same time. Content Handling Framework is new in v8.0.

As can be seen the only APIs which no phone has offered support for are those for FTP, Telnet. The absence of Symbian OS components in columns other than the first (which relates to 9200 Communicator Series) largely reflects their being perceived as less relevant or appropriate for phones with less communicator-style functionality. Hence the omission of the Sheet application engine ("Other app engines") and Onboard converters (between Symbian Word format and plain text) from all Series 60 and UIQ phones. Printer drivers have not been included on any phones since v6.1. However all Symbian OS phones have included the Word application engine (also part of "Other app engines"), even in the absence of a Word application. The position in relation to fax functionality is more ambivalent with its reappearance in v7.0s phones after an absence from v6.1 and v7.0 phones.

The only replacements or omissions are in relation to WAP, MMS and PC Connectivity. Under Series 60 1st Edition, Nokia replaced Symbian's WAP-browser engine, with the result that the associated APIs published in the Symbian Developer Library are not available in practice on Series 60 phones based on Symbian OS v6.1. Similarly on the Sony Ericsson UIQ phones based on Symbian OS v7.0, both the WAP stack and the WAP-browser engine implementation have been replaced, so the published APIs for neither of these are available. However, both are part of UIQ and are indeed available on all other UIQ phones. From v8.0 the WAP stack API has been relegated to Test/Reference status, so should not be relied on.

In relation to MMS, while the Motorola and BenQ UIQ phones fully support Symbian's API, Sony Ericsson have provided their own MMS implementation for their phones, but with no public API. Further, although it is not indicated on Table 5 because MMS is not part of Symbian OS v6.1, Nokia do supply a MMS implementation for all Series 60 phones, the public APIs for which are published on their Series 60 Developer Platform 1.0 SDKs. This implementation also forms part of Series 60 Developer Platform 2nd Edition based on Symbian OS v7.0s. It has indeed also been made available for use on the Sony Ericsson P910 phone based on UIQ 2.1.The GMXML component which is part of Symbian's MMS component from v7.0s and provides XML, DOM and SMIL services, is included in all Nokia SDKs based on Symbian OS v7.0s so should be available also on all associated phones.

While Symbian's PC Connectivity toolkit software was shipped on the Nokia 6600, this has been the only phone based on Symbian OS v7.0s which featured this optional component. Subsequent Nokia (and other Series 60) phones have used Nokia's OBEX-based technology instead. An important consequence of this is that these phones are not therefore compatible with Symbian's PC-side SCOM technology. The component is not supported from Symbian OS v8.0.

4. Discussion 

In summary, mobile phone manufacturers are given a large amount of leeway in relation to how much or how little of Symbian OS they incorporate into their phones. They have taken only limited advantage of this freedom, differentiating products by adding functionality rather than removing or replacing Symbian OS components. Where components have been removed this tends to be at the UI platform level, i.e. the components removed are perceived as inappropriate for the class of phone at which the UI platform (SDK) is targeted. Where components have been replaced, this is because handset manufacturers have previously developed their own versions of those components, sometimes with additional capabilities, which they prefer to use.

Symbian licenses, develops and supports Symbian OS, the platform for next-generation data-enabled mobile phones. Symbian isheadquartered in London, with offices worldwide. For more information see the Symbian website, http://www.symbian.com/.

Trademarks and copyright

'Symbian', 'Symbian OS' and other associated Symbian marks are all trademarks of Symbian Ltd. Symbian acknowledges the trademark rightsof all third parties referred to in this material. © Copyright Symbian Ltd 2003. All rights reserved. No part of this material may be reproducedwithout the express written permission of Symbian Ltd.

Interactive Services Terms & Conditions of use | Terms of use | Privacy policy | Media Center | Contact us | © 2008 Symbian