The Full Wiki

S60 (software platform): Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Screenshot of a typical Nokia S60 user interface.

The S60 Platform (formerly Series 60 User Interface) is a software platform for mobile phones that runs on Symbian OS. S60 is currently amongst the most-used smartphone platforms in the world. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Lenovo, LG Electronics, Panasonic and Samsung.[1] Sony co-created the software with Nokia. Symbian is the most popular smartphone OS on the market by 47% of the sector’s total sales, with 17.9m handsets sold in Q4 2008.[2]

In addition to the manufacturers the community includes:

S60 consists of a suite of libraries and standard applications, such as telephony, PIM tools, and Helix-based multimedia players. It is intended to power fully-featured modern phones with large colour screens, which are commonly known as smartphones.

The S60 software is a multivendor standard for smartphones that supports application development in Java MIDP, C++, Python[1] and Adobe Flash. An important feature of S60 phones is that they allow new applications to be installed after purchase. Unlike a standard desktop platform, however, the built-in apps are rarely upgraded by the vendor beyond bug fixes. New features are only added to phones while they are being developed rather than after public release.

These are a few common features in S60:

  • It supports Java (J2ME MIDP 2.0 commonly, but varies from phone to phone) applications and Symbian C++ applications.
  • Certain buttons are standardized, such as a menu key, a four way joystick or d-pad, left and right soft keys and a clear key.


S60 editions

S60 5th edition idle screen. Bottom left "button" brings up a virtual number pad, to compensate for removal of actual numerical keys.

There have been four major releases of S60: "Series 60" (2001), "Series 60 Second Edition" (2003), "Series 60 3rd Edition" (2005) and "S60 5th Edition" (2008).

In S60 1st Edition, the devices' display resolution was fixed to 176x208. Since 2nd Edition Feature Pack 3, S60 supports multiple resolutions, i.e. Basic (176x208), and Double (352x416). Nokia N90 was the first S60 device to support a higher resolution (352x416). Some devices, however, have non-standard resolutions, like the Siemens SX1, with 176x220. Nokia 5500 Sport has a 208x208 screen resolution, and the Nokia E90 with its wide 800x352 inner display.

S60 3rd Edition
(S60v3) uses a hardened version of Symbian OS (v9.1), which has mandatory code signing. In S60v3, a user may install only programs that have a certificate from a registered developer, unless the user disables that feature or modify the phone's firmware through third-party hacks that circumvent the mandatory signing restrictions. This makes software written for S60 1st Edition or 2nd Edition not binary-compatible with S60v3.
In 2006, a "Designed for S60 Devices" logo program for developers was launched. The logotype can be used with conforming programs (Symbian or Java).
S60 5th Edition
In October 2008, S60 5th Edition was launched. (Nokia decided to move from 3rd Edition directly to 5th Edition "as a polite gesture to Asian customers"[3], because the number four means bad luck in some Asian cultures). S60 5th Edition runs on Symbian OS version 9.4[4]. The major feature of 5th Edition is support for high-resolution 640x360 touchscreens; before 5th Edition, all S60 devices had a button-based user interface. S60 5th Edition also integrates standard C/C++ APIs and includes Adobe Flash Lite 3.0 with S60-specific ActionScript extensions that give Flash Lite developers access to phone features like contacts, text messaging, sensors and device location information (GPS).
The S60 5th Edition is the last edition of S60. Its assets along with Symbian OS, UIQ and MOAP(S) have been used as a base for Symbian, an open source operating system being developed by the Symbian Foundation. The first edition of Symbian, Symbian^1, uses S60 5th Edition on top of Symbian OS 9.4 as its base.

S60 versions and supported devices

Many devices are capable of running the S60 software platform with the Symbian OS. Devices ranging from the early Nokia 7650 running S60 v0.9 on Symbian OS v6.1,[5][6] to the latest Samsung i8910 Omnia HD running S60 v5.0 on Symbian OS v9.4.[7]

The table lists devices carrying each version of S60 as well as the Symbian OS version it is based on.

S60 edition S60
version number
Symbian OS
version number
S60, version 0.9 0.9 6.1
S60 1st Edition 1.2 6.1
S60 2nd Edition 2.0 7.0s
  • Nokia 6600
  • Panasonic X700
  • Panasonic X800
  • Samsung SGH-D720
  • Samsung SGH-D728
  • Samsung SGH-D730
  • Samsung SGH-Z600
S60 2nd Edition,
Feature Pack 1
2.1 7.0s
S60 2nd Edition,
Feature Pack 2
2.6 8.0a
S60 2nd Edition,
Feature Pack 3
2.8 8.1a
S60 3rd Edition 3.0 9.1
S60 3rd Edition,
Feature Pack 1
3.1 9.2
S60 3rd Edition,
Feature Pack 2
3.2 9.3
S60 5th Edition
(Corresponds to Symbian^1)
5.0 9.4

Symbian is now progressing through a period of organisational change to metamorph into an open source software platform project. As an OS, Symbian OS originally does not provide a user interface (UI), the visual layer that sits on top of the operating system. This was implemented separately. Examples of Symbian UIs are MOAP; Series 60; Series 80; Series 90 and UIQ. This separation of UI from underlying OS has created both flexibility and some confusion in the market place. The Nokia purchase of Symbian was brokered with the involvement of the other UI developers and all major user interface layers have been (or have been pledged to be) donated to the open source foundation who will independently own the Symbian operating system. The new Symbian Foundation has announced its intention to unify different Symbian UIs into a single UI based on the S60 platform. (Announcements made in March 2009 indicated this would be the S60 5th edition with feature pack 1).

See also


External links



Up to date as of January 23, 2010
(Redirected to Symbian/S60 article)

From Wikibooks, the open-content textbooks collection



This e-book is extremely incomplete.


Nokia's S60, formerly known as Series 60, is a mobile platform based on Symbian OS. S60 includes a wide range of phones with varying capabilities. Most of these phones are made by Nokia, but S60 is also licensed to some other cell phone manufacturers, like Panasonic and Samsung. For general information about S60 see the article in Wikipedia.

The platform comprises of various libraries and pre-installed applications. Platform is open (but not open source), so 3rd parties can develop applications for it. Nokia offers software development kits for S60, and a list of SDKs can be found at Forum Nokia. Especially if you plan to use the newer SDKs you'll need Carbide.vs.

Collection of tips


S60 resource definitions can sometimes be pretty tedious to write, because of the total lack of proper documentation. The best place to look for information about resource definitions is examples, found in the Series60Ex directory of the SDK, but they too are far from perfect.

  • CAknMessageQueryDialog

One control totally missing from the examples in some SDK version is CAknMessageQueryDialog, which is actually quite useful and once you know how, very easy to use. Here's how to define a working resource for this:

RESOURCE DIALOG r_messagequery_dlg
  flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
      type = EAknCtPopupHeadingPane;
      id = EAknMessageQueryHeaderId;
      control = AVKON_HEADING
        label = "The Heading";
      type = EAknCtMessageQuery;
      id = EAknMessageQueryContentId;
      control = AVKON_MESSAGE_QUERY
        message = "The Actual Text";

Note that both the header and the message text can be set dynamically from code. The following code, however, uses the values given in the resource:

CAknMessageQueryDialog* dlg = new (ELeave) CAknMessageQueryDialog;


On at least, two phones the support for the old RCameraServ has been dropped. If you link your app against cameraserver.lib it will not start on a 3230 or a 6260. Instead you should use the new CCamera class.


  • Transparency

When using newer than 6.1 SDKs (note: not sure if 9.1 still has this), loading the alpha channel (mask) of a PNG into a CFbsBitmap of color depth EGray16 doesn't work. You must use a colordepth of EGray256 for the mask, otherwise MiuoConvertComplete will always return with an error. After the conversion is complete you can convert back to EGray16.

  • DataAddress()

On the new 9.1 SDK a call to CFbsBitmap::DataAddress() causes a crash if it's not preceded by a call to LockHeap() (remember to call UnlockHeap() when you're done with the address).


Got something to say? Make a comment.
Your name
Your email address