For .NET Developers - An Introduction to Symbian OS
Benefit of Using .NET on Symbian OS
The direct benefit to .NET developers is the ability to build mobile applications using the familiar .NET suite of software development technologies whilst targeting devices powered by the high performance mobile device operating system, Symbian OS.
Symbian OS Device Prevalence
Symbian has shipped its 110th million smartphone representing over 100 different phone models. Its market share is probably larger than what is realised whilst the number of phones shipped quarterly continues to increase. The chart below indicates the relative market dominance which Symbian enjoys through the various user interfaces, namely S60, Series 80/90, UIQ and Symbian MOAP.

History of the Symbian OS
The Symbian OS has been designed from the ground up to specifically cater for the demands which resource constrained devices place on mobile application development. In the physical mobile device world constraints which are not present in the desktop environment are:
- much reduced processing power,
- limited memory resources,
- limited battery life,
- small screen displays, and
- limited user input interfaces.
Over and above the physical constraints of the device, the usability design requirements of mobile devices further add to particular requirements for mobile applications such as:
- immediate responsiveness,
- infrequent device reboots requiring robust memory management, and
- one handed use.
The Symbian OS caters for all the above mentioned mobile device demands. For this reason, most likely, the Symbian OS is the dominant smartphone operating system.
Symbian OS device User Interface SDKs
There are two predominant User Interface (UI's) SDKs for the Symbian OS, namely S60 and UIQ. The predominant feature of both User Interfaces is that the installation of third party applications is permitted.
S60 is developed and owned by Nokia, although it is also licensed to other mobile handset manufacturers. UIQ is developed by UIQ Technologies which was recently acquired by Sony Ericsson. The main difference between the two are in the user interface layer; significantly S60 is designed for one handed use and does not support touch screens whereas UIQ does.
| Symbian OS Version |
S60 Version |
Corresponding S60 SDK |
| Symbian OS 8.0a |
2nd Edition |
S60 2.6 - Feature Pack 2 |
| Symbian OS 8.1a |
2nd Edition |
S60 2.8 - Feature Pack 3 |
| Symbian OS 9.1 |
3rd Edition |
S60 3.0 |
Programming Languages for Symbian OS
Whilst it is possible for a mobile application developer to target Symbian OS devices using amongst others Java, Python, Ruby or Adobe Flash, the most powerful and likely language used is the Symbian C++ language.
Whilst Symbian C++ is powerful and fast, and arguably best suited for native application development, the language has a handful of characteristics that make it hard for software developers to easily create new mobile application. This difficulty results mostly from the design considerations catering for the particular requirements of mobile devices mentioned above. Such programmatic challenges include:
However, with the advent of Red Five Labs' .NET Compact Framework for S60, software developers can now write .NET applications targeting the Compact Framework and run these applications on S60 devices without the overhead of learning the subtleties of the Symbian OS.