About Symbian OS, S60, UIQ and FOMA
Symbian OS can be a confusing beast. It is relatively open and freely licensable, but the default product that Symbian Software Ltd. ship includes no production ready User Interface (UI). This means anyone wishing to implement Symbian OS on a production device must either develop or license a UI layer of their own.
At the time of writing, three such production UI layers exist. These are:
- S60 - The most common production UI, owned by Nokia but licensed to third parties relatively freely. In addition to devices from Nokia themselves, Sendo, Panasonic, Samsung and LG have developed phones using S60. Occasionally S60 is referred to by its old name, Series 60.
- UIQ - A user interface most commonly characterised by touchscreen devices. This user interface started life as an Ericsson development, but later UIQ became a wholly owned part of Symbian Ltd. Most recently, it has again reverted to being a part of Ericsson. UIQ is shipped on phones from Sony-Ericsson and Motorola, as well as a few other minor licensees.
- FOMA - The FOMA UI layer is developed by NTT DoCoMo, and shipped exclusively on phones in the Japanese market. A number of manufacturers have shipped phones using the FOMA UI layer, including Mitsubishi, Fujitsu, Sharp and even Sony-Ericsson. Developers tend not to be concerned with FOMA, since the platform is at present closed to third party native applications.
Some other UI layers you may hear refered to, that are either largely defunct or not for production purposes:
- S80 - Another Nokia development, S80 (or Series 80) is designed for the widescreen Nokia Communicator range of devices. The features of this UI have been largely incorporated in to S60, and once the lastest S80 device, the Nokia 9300i, ceases to be sold it seems unlikely that another S80 device will be produced. The next release in the communicator range, the Nokia E90, uses S60. By taking advantage of S60's scalable UI it offers better access to the phone's functionality on both screens.
- S90 - Nokia's touchscreen UI platform. Only one production device was ever released using S90, the Nokia 7710.
- Techview - Symbian's own UI layer, used for testing purposes. Techview harks back to Symbian OS's origins as Psion's EPOC operating system, and still bares remarkable similarity to the UI PSION shipped on its later PDA devices. This UI is not production ready, or terribly user friendly, but enables testing of UI support layer components. Symbian Platinum Partners have access to this UI.
This means that productions phones commonly have two version numbers associated with them. The version of the UI layer, and the version of the underlying Symbian Operating System. For example, Nokia's N70 uses S60 2nd Edition Feature Pack 3 running on top of Symbian OS v8.1a. To make matters even more confusing, Symbian has recently transitioned from an older kernel version to a newer, so some Symbian OS released were identifed by an 'a' variant and a 'b' variant, 'a' using the EKA1 kernel and 'b' using EKA2. This naming scheme was most prevalant around the v8 release, so you may see a device referred to as running Symbian OS v8.1b for example. This transition is now complete, and new versions of the operating system use EKA2 exclusively.
Keystone versions of Symbian OS, S60 and UIQ
For the purposes of this discussion, I will focus on the elements developers are most concerned about. This means the two common UIs for which third parties may freely deploy applications, and the underlying version of Symbian OS.
S60
S60 has had three major revisions over the years, referred to as S60 1st Edition, S60 2nd Edition and S60 3rd Edition. These editions are further subdivided in to minor revisions, called "feature packs." So, for example, the Nokia 6680 used S60 2nd Edition FP2, running on top of Symbian OS v8. The edition and feature pack very loosely correspond to the underlying version of Symbian OS, as the table below shows:
| S60 Release |
Common Symbian Vers. |
Notes |
Keystone Devices |
| S60 1st Edition |
v6.1 |
The first release of S60, then called Series 60. Initially released without many features taken for granted today, such as a camera API. |
Nokia 7650, Sendo X, N-Gage QD |
| S60 2nd Edition |
v7.0s, 8.0a, 8.1a |
The second edition of S60 saw the release of far more devices than the first. It saw a number of feature packs, and introduced device themes. |
Nokia 6680, Panasonic X700, Nokia N90 |
| S60 3rd Edition |
v9.1, v9.2 |
This release of S60 is designed exclusively for platsec versions of the Symbian OS, from version 9.1 onwards. It features such enhancements as Scalable UI and SVG vector icons. |
Nokia 3250, Nokia E90 |
UIQ
As previously mentioned, UIQ is primarily a touchsceen oriented UI, though recent developments mean that it can be operated using only a keypad and softkeys. There have been only two major, public releases of UIQ, referred to as UIQ 2 and UIQ 3. These are further subdivided in to conventional minor version numbers, for example the Sony-Ericsson P900 runs UIQ v2.1 on top of Symbian v7.0s.
| UIQ Release |
Common Symbian Vers. |
Notes |
Keystone Devices |
UIQ 2 |
v7, v7.0s |
The first public release of UIQ 2 was made in 2002, with the Sony-Ericsson P800. |
Sony-Ericsson P800, Motorola A1000 |
UIQ 3 |
v9.1, v9.2 |
UIQ's platform for platsec devices, with many enhancements over UIQ 2 in the area of single handed use. |
Sony-Ericsson W950, Motorola RIZR Z3 |
How to refer to devices, UIs and operating system versions
When you talk about developing for particular device or class of devices, especially if you are seeking help with a problem you are having, it is important to state precisely which versions you are talking about. In order of importance, these are the details you should state:
- The specific device. If you are developing for a single test device, then all the other details can be worked out simply by stating what device you are using. For example, the Nokia N91.
- The major version of the UI layer you are targetting. For example, you may say "I'm writing an application for S60 2nd edition" or "I'm writing an application for UIQ v3."
- The version number of the underlying Symbian OS, for example "I'm using a Symbian v9.1 devkit" This is largely important for UI independent code, it also tells the reader if platsec is relevant or not.
- The minor version number of the UI layer. This is largely insignificant, and is only really a small clarifying detail. For example, you may say "I'm using S60 3rd edition Feature Pack 1", or "I'm deploying the application on UIQ v2.1."
As a rule of thumb, you can get away with #1 on its own, or #2 and #3 in combination. For the most part #4 is simply an irrelevant detail.