Hubbry Logo
SymbianSymbianMain
Open search
Symbian
Community hub
Symbian
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Symbian
Symbian
from Wikipedia

Symbian
Home screen of Nokia Belle Feature Pack 2 in Romanian (last version of Symbian)
DeveloperSymbian (1998–2008)
Symbian Foundation (2008–11)
Nokia (2010–11)
Accenture on behalf of Nokia (2011–13)[1]
Written inC++[2]
OS familyEPOC (Symbian)
Working stateNo longer supported
Source modelProprietary software,[3] formerly Free software (2010–11)
Initial release5 June 1997; 28 years ago (1997-06-05) (as EPOC32)
Final releaseNokia Belle Feature Pack 2 / 2 October 2012; 13 years ago (2012-10-02)
Marketing targetSmartphones
Available in48 languages
List of languages
Arabic (Arabic, Urdu), Basque, Bulgarian, Catalan, Chinese (Traditional, Simplified), Croatian, Czech, Danish, Dutch, English (UK, US), Estonian, Finnish, French (France, Canada), Galician, German, Greek, Hebrew, Indian (Hindi, Tamil, Marathi), Hungarian, Icelandic, Indonesian, Italian, Japanese, Kazakh, Latvian, Lithuanian, Malay, Norwegian, Persian, Polish, Portuguese (Portugal, Brazil), Romanian, Russian, Serbian, Slovak, Slovene, Spanish (Spain, Latin America), Swedish, Tagalog, Thai, Turkish, Ukrainian, Vietnamese
Update methodSymbian Signed certificates
Package manager.sis, .sisx, .jad, .jar
Supported platformsARM, x86[4]
Kernel typeReal-time microkernel, EKA2
Default
user interface
S60 (from 2009)
LicenseProprietary software,[5] formerly Eclipse Public
Official websitesymbian.nokia.com (defunct as of May 2014), symbian.org (defunct as of 2009–10)
Support status
Unsupported

Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones.[6] It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium.[7] Symbian OS is a descendant of Psion's EPOC, and was released exclusively on ARM processors, although an unreleased x86 port existed. Symbian was used by many major mobile phone brands, like Samsung, Motorola, Sony Ericsson, and above all by Nokia. It was also prevalent in Japan by brands including Fujitsu, Sharp and Mitsubishi. As a pioneer that established the smartphone industry, it was the most popular smartphone OS on a worldwide average until the end of 2010, at a time when smartphones were in limited use, when it was overtaken by iOS and Android. It was notably less popular in North America.

The Symbian OS platform is formed of two components: one being the microkernel-based operating system with its associated libraries, and the other being the user interface (as middleware), which provides the graphical shell atop the OS.[8] The most prominent user interface was the S60 (formerly Series 60) platform built by Nokia, first released in 2002 and powering most Nokia Symbian devices. UIQ was a competing user interface mostly used by Motorola and Sony Ericsson that focused on pen-based devices, rather than a traditional keyboard interface from S60. Another interface was the MOAP(S) platform from carrier NTT DoCoMo in the Japanese market.[9][10] Applications for these different interfaces were not compatible with each other, despite each being built atop Symbian OS. Nokia became the largest shareholder of Symbian Ltd. in 2004 and purchased the entire company in 2008.[11] The non-profit Symbian Foundation was then created to make a royalty-free successor to Symbian OS. Seeking to unify the platform, S60 became the Foundation's favoured interface and UIQ stopped development. The touchscreen-focused Symbian^1 (or S60 5th Edition) was created as a result in 2009. Symbian^2 (based on MOAP) was used by NTT DoCoMo, one of the members of the Foundation, for the Japanese market. Symbian^3 was released in 2010 as the successor to S60 5th Edition, by which time it became fully free software. The transition from a proprietary operating system to a free software project is believed to be one of the largest in history.[12] Symbian^3 received the Anna and Belle updates in 2011.[13][14]

The Symbian Foundation disintegrated in late 2010 and Nokia took back control of the OS development.[15][16] In February 2011, Nokia, by then the only remaining company still supporting Symbian outside Japan, announced that it would use Microsoft's Windows Phone 7 as its primary smartphone platform, while Symbian would be gradually wound down.[17][18] Two months later, Nokia moved the OS to proprietary licensing, only collaborating with the Japanese OEMs[19] and later outsourced Symbian development to Accenture.[6][20] Although support was promised until 2016, including two major planned updates, by 2012 Nokia had mostly abandoned development and most Symbian developers had already left Accenture,[21] and in January 2014 Nokia stopped accepting new or changed Symbian software from developers.[22] The Nokia 808 PureView in 2012 was officially the last Symbian smartphone from Nokia.[23] NTT DoCoMo continued releasing OPP(S) (Operator Pack Symbian, successor of MOAP) devices in Japan, which still act as middleware on top of Symbian.[24] Phones running this include the F-07F [ja] from Fujitsu and SH-07F [ja] from Sharp in 2014.

History

[edit]
Logo of the Symbian Foundation

Symbian originated from EPOC32, an operating system created by Psion in the 1990s. In June 1998, Psion Software became Symbian Ltd., a major joint venture between Psion and phone manufacturers Ericsson, Motorola, and Nokia.

Afterwards, different software platforms were created for Symbian, backed by different groups of mobile phone manufacturers. They include S60 (Nokia, Samsung and LG), UIQ (Sony Ericsson and Motorola) and MOAP(S) (Japanese only such as Fujitsu, Sharp etc.).

With no major competition in the smartphone OS market (Palm OS and Windows Mobile were comparatively small players), Symbian held 67% of the global smartphone market share in 2006.[25]

Despite its sizable market share, Symbian was at various stages difficult to develop for: First (around early-to-mid-2000s) due to the complexity of the programming languages available, Open Programming Language (OPL) and Symbian C++, and of the OS; then the stubborn developer bureaucracy, along with high prices of various integrated development environments (IDEs) and software development kits (SDKs), which were prohibitive for independent or very small developers; and then the subsequent fragmentation, which was in part caused by infighting among and within manufacturers, each of which also had their own IDEs and SDKs. All of this discouraged third-party developers, and served to cause the native app ecosystem for Symbian not to evolve to a scale later reached by Apple's App Store or Android's Google Play.

By contrast, iPhone OS (renamed iOS in 2010) and Android had comparatively simpler design, provided easier and much more centralized infrastructure to create and obtain third-party apps, offered certain developer tools and programming languages with a manageable level of complexity, and having abilities such as multitasking and graphics to meet future consumer demands.

Although Symbian was difficult to program for, this issue could be worked around by creating Java Mobile Edition apps, ostensibly under a "write once, run anywhere" slogan.[26] This wasn't always the case because of fragmentation due to different device screen sizes and differences in levels of Java ME support on various devices.

In June 2008, Nokia announced the acquisition of Symbian Ltd., and a new independent non-profit organization called the Symbian Foundation was established. Symbian OS and its associated user interfaces S60, UIQ, and MOAP(S) were contributed by their owners Nokia, NTT DoCoMo, Sony Ericsson, and Symbian Ltd., to the foundation with the objective of creating the Symbian platform as a royalty-free, Free software, under the Free Software Foundation (FSF) and Open Source Initiative (OSI) approved Eclipse Public License (EPL). The platform was designated as the successor to Symbian OS, following the official launch of the Symbian Foundation in April 2009. The Symbian platform was officially made available as Free software in February 2010.[27]

Nokia became the major contributor to Symbian's code, since it then possessed the development resources for both the Symbian OS core and the user interface. Since then Nokia maintained its own code repository for the platform development, regularly releasing its development to the public repository.[28] Symbian was intended to be developed by a community led by the Symbian Foundation, which was first announced in June 2008 and which officially launched in April 2009. Its objective was to publish the source code for the entire Symbian platform under the EPL. This was accomplished on 4 February 2010; the Symbian Foundation reported this event to be the largest codebase moved to Free software in history.[27][29]

However, some important components within Symbian OS were licensed from third parties, which prevented the foundation from publishing the full source under EPL immediately; instead much of the source was published under a more restrictive Symbian Foundation License (SFL) and access to the full source code was limited to member companies only, although membership was open to any organisation.[30] Also, the Free software Qt framework was introduced to Symbian in 2010, as the primary upgrade path to MeeGo, which was to be the next mobile operating system to replace and supplant Symbian on high-end devices; Qt was by its nature free and very convenient to develop with. Several other frameworks were deployed to the platform, among them Standard C and C++, Python, Ruby, and Adobe Flash Lite. IDEs and SDKs were developed and then released for free, and application software (app) development for Symbian picked up.

In November 2010, the Symbian Foundation announced that due to changes in global economic and market conditions (and also a lack of support from members such as Samsung[31] and Sony Ericsson), it would transition to a licensing-only organisation;[30] Nokia announced it would take over the stewardship of the Symbian platform. Symbian Foundation would remain the trademark holder and licensing entity and would only have non-executive directors involved.

With market share sliding from 39% in Q32010 to 31% in Q42010,[32] Symbian was losing ground to iOS and Android quickly, eventually falling behind Android in Q42010.[33] Stephen Elop was appointed the CEO of Nokia in September 2010, and on 11 February 2011, he announced a partnership with Microsoft that would see Nokia adopt Windows Phone as its primary smartphone platform,[34] and Symbian would be gradually phased out, together with MeeGo.[18] As a consequence, Symbian's market share fell, and application developers for Symbian dropped out rapidly. Research in June 2011 indicated that over 39% of mobile developers using Symbian at the time of publication were planning to abandon the platform.[35]

By 5 April 2011, Nokia ceased to make free any portion of the Symbian software and reduced its collaboration to a small group of preselected partners in Japan.[5] Source code released under the original EPL remains available in third party repositories,[36] including a full set of all public code from the project as of 7 December 2010.[37]

On 22 June 2011, Nokia had made an agreement with Accenture for an outsourcing program. Accenture will provide Symbian-based software development and support services to Nokia through 2016.[20] The transfer of Nokia employees to Accenture was completed on 30 September 2011 and 2,800 Nokia employees became Accenture employees as of October 2011.[6]

Nokia had terminated its support of software development and maintenance for Symbian with effect from 1 January 2014, thereafter refusing to publish new or changed Symbian applications or content in the Nokia Store and terminating its 'Symbian Signed' program for software certification.[38]

Features

[edit]

User interface

[edit]

Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly known as Series 60). S60 was designed to be manipulated by a keyboard-like interface metaphor, such as the ~15-key augmented telephone keypad, or the mini-QWERTY keyboards. AVKON-based software is binary-compatible with Symbian versions up to and including Symbian^3.

Symbian^3 includes the Qt framework, which became the recommended user interface toolkit for new applications. Qt can also be installed on older Symbian devices.

Symbian^4 was planned to introduce a new GUI library framework specifically designed for a touch-based interface, known as "UI Extensions for Mobile" or UIEMO (internal project name "Orbit"), which was built on top of Qt Widget; a preview was released in January 2010, however in October 2010 Nokia announced that Orbit/UIEMO had been cancelled.

Nokia later recommended that developers use Qt Quick with QML, the new high-level declarative UI and scripting framework for creating visually rich touchscreen interfaces that allowed development for both Symbian and MeeGo; it would be delivered to existing Symbian^3 devices as a Qt update. When more applications gradually feature a user interface reworked in Qt, the legacy S60 framework (AVKON) would be deprecated and no longer included with new devices at some point, thus breaking binary compatibility with older S60 applications.[39][40]

Browser

[edit]
Symbian S60 5th edition on a Samsung Omnia HD

Symbian^3 and earlier have a built-in WebKit based browser. Symbian was the first mobile platform to make use of WebKit (in June 2005).[41] Some older Symbian models have Opera Mobile as their default browser.

Nokia released a new browser with the release of Symbian Anna with improved speed and an improved user interface.[42]

Multiple language support

[edit]

Symbian had strong localization support enabling manufacturers and 3rd party application developers to localize Symbian based products to support global distribution. Nokia made languages available in the device, in language packs: a set of languages which cover those commonly spoken in the area where a device variant is to be sold. All language packs have in common English, or a locally relevant dialect of it. The last release, Symbian Belle, supports these 48 languages, with [dialects], and (scripts):

  • Arabic (Arabic)
  • Basque (Latin)
  • Bulgarian (Cyrillic)
  • Catalan (Latin)
  • Chinese [PRC] (Simplified Chinese)
  • Chinese [Hong Kong] (Traditional Chinese)
  • Chinese [Taiwan] (Traditional Chinese)
  • Croatian (Latin)
  • Czech (Latin)
  • Danish (Latin)
  • Dutch (Latin)
  • English [UK] (Latin)
  • English [US] (Latin)
  • Estonian (Latin)
  • Finnish (Latin)
  • French (Latin)
  • French [Canadian] (Latin)
  • Galician (Latin)
  • German (Latin)
  • Greek (Greek)
  • Hebrew (Hebrew)
  • Hindi (Indian)
  • Hungarian (Latin)
  • Icelandic (Latin)
  • Indonesian [Bahasa Indonesia] (Latin)
  • Italian (Latin)
  • Japanese (Japanese script)*
  • Kazakh (Cyrillic)
  • Latvian (Latin)
  • Lithuanian (Latin)
  • Malay [Bahasa Malaysia] (Latin)
  • Marathi (India: Maharashtra)
  • Norwegian (Latin)
  • Persian [Farsi]
  • Polish (Latin)
  • Portuguese (Latin)
  • Portuguese [Brazilian] (Latin)
  • Romanian (Latin)
  • Russian (Cyrillic)
  • Serbian (Latin)
  • Slovak (Latin)
  • Slovene (Latin)
  • Spanish (Latin)
  • Spanish [Latin America] (Latin)
  • Swedish (Latin)
  • Tagalog [Filipino] (Latin)
  • Thai (Thai)
  • Tamil (India)
  • Turkish (Latin)
  • Ukrainian (Cyrillic)
  • Urdu (Arabic)
  • Vietnamese (Latin)

Symbian Belle marks the introduction of Kazakh, while Korean is no longer supported.

  • Japanese is only available on Symbian^2 devices as they are made in Japan, and on other Symbian devices Japanese is still supported with limitations.

Application development

[edit]

From 2010, Symbian switched to using standard C++ with Qt as the main SDK, which can be used with either Qt Creator or Carbide.c++. Qt supports the older Symbian/S60 3rd (starting with Feature Pack 1, a.k.a. S60 3.1) and Symbian/S60 5th Edition (a.k.a. S60 5.01b) releases, as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X.[43][44]

Alternative application development can be done using Python (see Python for S60), Adobe Flash Lite or Java ME.

Symbian OS previously used a Symbian specific C++ version, along with CodeWarrior and later Carbide.c++ integrated development environment (IDE), as the native application development environment.

Web Runtime (WRT) is a portable application framework that allows creating widgets on the S60 Platform; it is an extension to the S60 WebKit based browser that allows launching multiple browser instances as separate JavaScript applications.[45][46]

Application development

[edit]

Qt

[edit]

As of 2010, the SDK for Symbian is standard C++, using Qt. It can be used with either Qt Creator, or Carbide (the older IDE previously used for Symbian development).[43][47] A phone simulator allows testing of Qt apps. Apps compiled for the simulator are compiled to native code for the development platform, rather than having to be emulated.[48] Application development can either use C++ or QML.

Symbian C++

[edit]

As Symbian OS is written in C++ using Symbian Software's coding standards, it is possible to develop using Symbian C++, although it is not a standard implementation. Before the release of the Qt SDK, this was the standard development environment. There were multiple platforms based on Symbian OS that provided software development kits (SDKs) for application developers wishing to target Symbian OS devices, the main ones being UIQ and S60. Individual phone products, or families, often had SDKs or SDK extensions downloadable from the maker's website too.

The SDKs contain documentation, the header files and library files needed to build Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS version 8, the SDKs also included a version of the GNU Compiler Collection (GCC) compiler (a cross-compiler) needed to build software to work on the device.

Symbian OS 9 and the Symbian platform use a new application binary interface (ABI) and needed a different compiler. A choice of compilers is available including a newer version of GCC (see external links below).

Symbian C++ programming has a steep learning curve, as Symbian C++ requires the use of special techniques such as descriptors, active objects and the cleanup stack. This can make even relatively simple programs initially harder to implement than in other environments. It is possible that the techniques, developed for the much more restricted mobile hardware and compilers of the 1990s, caused extra complexity in source code because programmers are required to concentrate on low-level details instead of more application-specific features. As of 2010, these issues are no longer the case when using standard C++, with the Qt SDK.

Symbian C++ programming is commonly done with an integrated development environment (IDE). For earlier versions of Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. Carbide.c++ is offered in four different versions: Express, Developer, Professional, and OEM, with increasing levels of capability. Fully featured software can be created and released with the Express edition, which is free. Features such as UI design, crash debugging etc. are available in the other, charged-for, editions. Microsoft Visual Studio 2003 and 2005 are also supported via the Carbide.vs plugin.

Other languages

[edit]
Symbian v9.1 with a S60v3 interface, on a Nokia E61

Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and Standard C/C++.[49]

Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices.

In the past, Visual Basic, Visual Basic .NET, and C# development for Symbian were possible through AppForge Crossfire, a plug-in for Microsoft Visual Studio. On 13 March 2007 AppForge ceased operations; Oracle purchased the intellectual property, but announced that they did not plan to sell or provide support for former AppForge products. Net60, a .NET compact framework for Symbian, which is developed by redFIVElabs, is sold as a commercial product. With Net60, VB.NET, and C# (and other) source code is compiled into an intermediate language (IL) which is executed within the Symbian OS using a just-in-time compiler. (As of 18 January 2010, RedFiveLabs has ceased development of Net60 with this announcement on their landing page: "At this stage we are pursuing some options to sell the IP so that Net60 may continue to have a future.")

There is also a version of a Borland IDE for Symbian OS. Symbian development is also possible on Linux and macOS using tools and methods developed by the community, partly enabled by Symbian releasing the source code for key tools. A plug-in that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X was available.[50]

Java ME applications for Symbian OS are developed using standard techniques and tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans. Other tools include SuperWaba, which can be used to build Symbian 7.0 and 7.0s programs using Java.

Nokia S60 phones can also run Python scripts when the interpreter Python for S60 is installed, with a custom made API that allows for Bluetooth support and such. There is also an interactive console to allow the user to write Python scripts directly from the phone.

Deployment

[edit]

Once developed, Symbian applications need to find a route to customers' mobile phones. They are packaged in SIS files which may be installed over-the-air, via PC connect, Bluetooth or on a memory card. An alternative is to partner with a phone manufacturer and have the software included on the phone itself. Applications must be Symbian Signed for Symbian OS 9.x to make use of certain capabilities (system capabilities, restricted capabilities and device manufacturer capabilities).[51] Applications could be signed for free in 2010.[52]

Architecture

[edit]

Technology domains and packages

[edit]

Symbian's design is subdivided into technology domains,[53] each of which comprises a set of software packages.[54] Each technology domain has its own roadmap, and the Symbian Foundation has a team of technology managers who manage these technology domain roadmaps.

Every package is allocated to exactly one technology domain, based on the general functional area to which the package contributes and by which it may be influenced. By grouping related packages by themes, the Symbian Foundation hopes to encourage a strong community to form around them and to generate discussion and review.

The Symbian System Model[55] illustrates the scope of each of the technology domains across the platform packages.

Packages are owned and maintained by a package owner, a named individual from an organization member of the Symbian Foundation, who accepts code contributions from the wider Symbian community and is responsible for package.

Symbian kernel

[edit]

The Symbian kernel (EKA2) supports sufficiently fast real-time response to build a single-core phone around it – that is, a phone in which a single processor core executes both the user applications and the signalling stack.[56] The real-time kernel has a microkernel architecture containing only the minimum, most basic primitives and functionality, for maximum robustness, availability and responsiveness. It has been termed a nanokernel, because it needs an extended kernel to implement any other abstractions. It contains a scheduler, memory management and device drivers, with networking, telephony, and file system support services in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel.

Design

[edit]

Symbian features pre-emptive multitasking and memory protection, like other operating systems (especially those created for use on desktop computers). EPOC's approach to multitasking was inspired by VMS and is based on asynchronous server-based events.

Symbian OS was created with three systems design principles in mind:

  1. the integrity and security of user data is paramount
  2. user time must not be wasted
  3. all resources are scarce

To best follow these principles, Symbian uses a microkernel, has a request-and-callback approach to services, and maintains separation between user interface and engine. The OS is optimised for low-power battery-based devices and for read-only memory (ROM)-based systems (e.g. features like XIP and re-entrancy in shared libraries). The OS, and application software, follows an object-oriented programming design named model–view–controller (MVC).

Later OS iterations diluted this approach in response to market demands, notably with the introduction of a real-time kernel and a platform security model in versions 8 and 9.

There is a strong emphasis on conserving resources which is exemplified by Symbian-specific programming idioms like descriptors and a cleanup stack. Similar methods exist to conserve storage space. Further, all Symbian programming is event-based, and the central processing unit (CPU) is switched into a low power mode when applications are not directly dealing with an event. This is done via a programming idiom called active objects. Similarly the Symbian approach to threads and processes is driven by reducing overheads.

Software Installation Script

[edit]
Software installation script
Filename extension
.sis, .sisx
Internet media type
application/vnd.symbian.install
Developed bySymbian Ltd.
Type of formatInstallation
Container forSymbian applications
StandardSymbian

SIS is an acronym that stands for Software Installation Script, the standard software installation package format for Symbian OS. SIS files are an archive, containing installation instructions, the application file (usually an .APP or .EXE file), and its dependencies. By convention .sisx denotes a signed file.[57]

There are different ways how a SIS file can be created. The basic approach is to create a package definition file (.pkg) that contains information about the package like the vendor, package name and what files to include in the package. Then use the makesis and signsis utilities that processes the .pkg file and creates the actual SIS file.[58] Other alternatives are to use the Carbide.c++ IDE that automatically builds the SIS file as part of the build process or to graphically define and create the installation package using PackageForge.[59] The Windows utility SISContents is able to convert various file formats.

Operating system

[edit]

The All over Model contains the following layers, from top to bottom:

  • UI Framework Layer
  • Application Services Layer
  • OS Services Layer
    • generic OS services
    • communications services
    • multimedia and graphics services
    • connectivity services
  • Base Services Layer
  • Kernel Services & Hardware Interface Layer

The Base Services Layer is the lowest level reachable by user-side operations; it includes the File Server and User Library, a Plug-In Framework which manages all plug-ins, Store, Central Repository, DBMS and cryptographic services. It also includes the Text Window Server and the Text Shell: the two basic services from which a completely functional port can be created without the need for any higher layer services.

Symbian has a microkernel architecture, which means that the minimum necessary is within the kernel to maximise robustness, availability and responsiveness. It contains a scheduler, memory management and device drivers, but other services like networking, telephony and file system support are placed in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel. The EKA2 real-time kernel, which has been termed a nanokernel, contains only the most basic primitives and requires an extended kernel to implement any other abstractions.

Symbian is designed to emphasise compatibility with other devices, especially removable media file systems. Early development of EPOC led to adopting File Allocation Table (FAT) as the internal file system, and this remains, but an object-oriented persistence model was placed over the underlying FAT to provide a POSIX-style interface and a streaming model. The internal data formats rely on using the same APIs that create the data to run all file manipulations. This has resulted in data-dependence and associated difficulties with changes and data migration.

There is a large networking and communication subsystem, which has three main servers called: ETEL (EPOC telephony), ESOCK (EPOC sockets) and C32 (responsible for serial communication). Each of these has a plug-in scheme. For example, ESOCK allows different ".PRT" protocol modules to implement various networking protocol schemes. The subsystem also contains code that supports short-range communication links, such as Bluetooth, IrDA and USB.

There is also a large volume of user interface (UI) Code. Only the base classes and substructure were contained in Symbian OS, while most of the actual user interfaces were maintained by third parties. This is no longer the case. The three major UIs – S60, UIQ and MOAP – were contributed to Symbian in 2009. Symbian also contains graphics, text layout and font rendering libraries.

All native Symbian C++ applications are built up from three framework classes defined by the application architecture: an application class, a document class and an application user interface class. These classes create the fundamental application behaviour. The remaining needed functions, the application view, data model and data interface, are created independently and interact solely through their APIs with the other classes.

Many other things do not yet fit into this model – for example, SyncML, Java ME providing another set of APIs on top of most of the OS and multimedia. Many of these are frameworks, and vendors are expected to supply plug-ins to these frameworks from third parties (for example, Helix Player for multimedia codecs). This has the advantage that the APIs to such areas of functionality are the same on many phone models, and that vendors get a lot of flexibility. But it means that phone vendors needed to do a great deal of integration work to make a Symbian OS phone.

Symbian includes a reference user-interface called "TechView". It provides a basis for starting customisation and is the environment in which much Symbian test and example code runs. It is very similar to the user interface from the Psion Series 5 personal organiser and is not used for any production phone user interface.

The boot process of Symbian is started from the ROM bootloader, later the ROM bootloader load Symbian from flash.[60]

Symbian UI variants, platforms

[edit]

Symbian, as it advanced to OS version 7.0, spun off into several different graphical user interfaces, each backed by a certain company or group of companies. Unlike Android OS's cosmetic GUIs, Symbian GUIs are referred to as "platforms" due to more significant modifications and integrations. Things became more complicated when applications developed for different Symbian GUI platforms were not compatible with each other, and this led to OS fragmentation.[61]

User Interfaces platforms that run on or are based on Symbian OS include:

  • S60, Symbian, also called Series 60. It was backed mainly by Nokia. There are several editions of this platform, appearing first as S60 (1st Edition) on Nokia 7650. It was followed by S60 2nd Edition (e.g. Nokia N70), S60 3rd Edition (e.g. Nokia N73) and S60 5th Edition (which introduced touch UI e.g. Nokia N97). The name, S60, was changed to just Symbian after the formation of Symbian Foundation, and subsequently called Symbian^1, 2 and 3.
  • Series 80 used by Nokia Communicators such as Nokia 9300i.
  • Series 90 Touch and button based. The only phone using this platform is Nokia 7710.
  • UIQ backed mainly by Sony Ericsson and then Motorola. It is compatible with both buttons and touch/stylus based inputs. The last major release version is UIQ3.1 in 2008, on Sony Ericsson G900. It was discontinued after the formation of Symbian Foundation, and the decision to consolidate different Symbian UI variants into one led to the adoption of S60 as the version going forward.[62]
  • MOAP (Mobile Oriented Applications Platform) [Japan Only] used by Fujitsu, Mitsubishi, Sony Ericsson and Sharp-developed phones for NTT DoCoMo. It uses an interface developed specifically for DoCoMo's FOMA "Freedom of Mobile Access" network brand and is based on the UI from earlier Fujitsu FOMA models. The user cannot install new C++ applications. (Japan Only)
  • OPP [Japan Only], successor of MOAP, used on NTT DoCoMo's FOMA phone.

Version comparison

[edit]
Feature Symbian^3/Anna/Belle Symbian^2 Symbian^1/Series 60 5th Edition Series 60 3rd Edition UIQ (2.0) Series 80
Year released 2010 (Symbian^3), 2011 (Symbian Anna, Nokia Belle) 2010 (Japan only with MOAP/OPP middleware) 2008 2006 2002 2001
Company Symbian Foundation, later Nokia Symbian Foundation Symbian Foundation Nokia UIQ Technology Nokia
Symbian OS version 9.5 (Symbian^3/Symbian Anna), 10.1 (Nokia Belle) ? 9.4 9.3
Series 60 version 5.2 (Symbian^3/Symbian Anna),[63] 5.3 (Nokia Belle), 5.4 (Nokia Belle FP1) 5.1 5th Edition 3rd Edition Feature Pack 2 N/A N/A
Touch input support Yes Yes Yes No Yes No
Multi touch input support Yes No No No No
Number of customizable home screens Three to six (Five on Nokia E6 and Nokia 500, six on Nokia Belle) One Two One
Wi-Fi version support B, G, N B, G B, G B, G B, G
USB on the go support Yes No No
DVB-H support Yes, with extra headset[64] Unknown, but have 1seg support[65] Yes, with extra headset Yes, with extra headset
Short range FM transmitter support Yes Yes Yes No No
FM radio support Yes ? Yes Yes Yes No
External Storage Card Support MicroSD, up to 32GB MicroSD MicroSD MicroSD, MiniSD Memory Stick, MicroSD, MultiMedia Card MultiMedia Card
Adobe Flash support Yes, Flash Lite native version 4.0, upgradable Yes, Flash Lite native version 3.1, upgradable Yes, Flash Lite native version 3.1, upgradable Yes, Flash native version 6, not upgradable
Microsoft Silverlight support No[66][citation needed] Yes[67][68] No[69][citation needed] No
OpenGL ES support Yes, version 2.0 No
SQLite support Yes Yes Yes[70]
CPU architecture support ARM SH-Mobile ARM ARM ARM
Programmed in C++, Qt ? C++, Qt C++, Qt
License Eclipse Public License;
Since 31 March 2011: Nokia Symbian License 1.0
proprietary SFL license, while some portions of source code are EPL licensed.
Public issues list No more
Package manager .sis, .sisx ? .sis, .sisx .sis, .sisx .sis, .sisx .sis, .sisx
Non English languages support Yes mainly Japanese Yes Yes Yes Yes
Underlining spell checker Yes Yes[71] Yes Yes
Keeps state on shutdown or crash No No No No
Internal search Yes Yes[65] Yes Yes Yes Yes
Proxy server Yes ? Yes Yes Yes Yes
On-device encryption Yes Yes[65] Yes Yes
Cut, copy, and paste support Yes Yes[71] Yes Yes Yes Yes
Undo No No Yes Yes Yes
Default Web Browser for S60, WebKit engine version 7.2, engine version 525 (Symbian^3);[72] version 7.3, engine version 533.4 (Symbian Anna) version 7.1.4, engine version 525; version 7.3, engine version 533.4 (for 9 selected units after firmware updates released in summer 2011) engine version 413 (Nokia N79) N/A N/A
Official App Store Nokia Ovi Store i-αppli/i-Widget[71] Nokia Ovi Store, Sony Ericsson PlayNow Arena Nokia Ovi Store, Download!
Email sync protocol support POP3, IMAP i-mode mail[71] POP3, IMAP POP3, IMAP POP3, IMAP POP3, IMAP
NFC Support Yes No No No No No
Push alerts Yes Yes Yes Yes Yes
Voice recognition Yes Yes Yes Yes
Tethering USB, Bluetooth; mobile Wi-Fi hotspot, with third-party software USB, Bluetooth; mobile Wi-Fi hotspot, with third-party software USB, Bluetooth; mobile Wi-Fi hotspot, with third-party software USB, Bluetooth;
Text, document support Mobile Office Applications, PDF Mobile Office Applications, PDF Mobile Office Applications, PDF Mobile Office Applications, PDF Mobile Office Applications, PDF Mobile Office Applications, PDF
Audio playback All wma,[65] aac[citation needed] All All wav, mp3
Video playback H.263, H.264, WMV, MPEG4, MPEG4@ HD 720p 25–30 frames/s, MKV, DivX, XviD WMV,[71] MPEG4[citation needed] H.263, WMV, MPEG4, 3GPP, 3GPP2 H.263, WMV, MPEG4, 3GPP, 3GPP2 H.263, 3GPP, 3GPP2
Turn-by-turn GPS Yes, with third-party software, or Nokia Maps Yes, with monthly paid Docomo Map Navi[73] (ドコモ地図ナビ[74]) Yes, with third-party software, or Nokia Maps Yes, with third-party software, or Nokia Maps Yes, with third-party software
Video out Nokia AV (3.5mm), PAL, NTSC, HDMI, DLNA via Nokia Play To HDMI, and Nokia AV (3.5mm), PAL, NTSC Nokia AV (3.5mm), PAL, NTSC No
Multitasking Yes Yes Yes Yes Yes Yes
Desktop interactive widgets Yes Yes Yes No
Integrated hardware keyboard Yes Yes Yes Yes Yes Yes
Bluetooth keyboard Yes Yes[65] Yes Yes Yes
Video conference front video camera Yes Yes Yes Yes Yes Yes
Can share data via Bluetooth with all devices Yes Yes Yes Yes Yes Yes
Skype, third-party software Yes[75] Yes[75] Yes[75]
Facebook IM chat Yes ? Yes Yes
Secure Shell (SSH) Yes, third-party software Yes, third-party software Yes, third-party software
OpenVPN No, Nokia VPN can be used No, Nokia VPN can be used No, Nokia VPN can be used Yes, third-party software
Remote frame buffer ?
Screenshot Yes, third-party software[76] Yes, third-party software[76] Yes, third-party software[76] Yes Yes
GPU acceleration Yes No
Official SDK platform(s) Cross-platform, Windows (preferred is Qt), Carbide.c++, Java ME, Web Runtime Widgets, Flash Lite, Python for Symbian Cross-platform, Windows (preferred is Qt), Carbide.c++, Java ME, Web Runtime Widgets, Flash Lite, Python for Symbian Cross-platform, Windows (preferred is Qt), Carbide.c++, Java ME, Web Runtime Widget, Flash Lite, Python for Symbian Cross-platform, Windows (preferred is Qt), Carbide.c++, Java ME, third-party software (OPL)
Status of updates ▲ Discontinued Discontinued Discontinued Discontinued Discontinued Discontinued
First device(s) Nokia N8 (Symbian^3), Nokia C7 (Symbian^3), Nokia X7, Nokia E6 (Anna), Nokia 603, Nokia 700, Nokia 701 (Belle) NTT DOCOMO STYLE Series F-07B Nokia 5800 (2 October 2008) Nokia N96, Nokia N78, Nokia 6210 Navigator and Nokia 6220 Classic (11 February 2008) Sony Ericsson P800 Nokia 9210
Devices Nokia N8, Nokia C6-01, Nokia C7-00, Nokia E7-00, Nokia E6, Nokia X7, Nokia 500, Nokia 603, Nokia 600 (cancelled), Nokia 700, Nokia 701, Nokia 808 PureView NTT DoCoMo: F-06B*,[77] F-07B*,[77] F-08B*,[77] SH-07B†,[77] F-10B,[78] Raku-Raku Phone 7,[78] F-01C*,[79] F-02C*,[79] F-03C*,[79] F-04C*,[79] F-05C*,[79] SH-01C†,[79] SH-02C†,[79] SH-04C†,[79] SH-05C†,[79] SH-06C†,[79] Touch Wood SH-08C†[79] Nokia: 5228, 5230, 5233, 5235, 5250, 5530 XpressMusic, 5800 XpressMusic, 5800 Navigation Edition, C5-03, C6-00, N97, N97 mini, X6;

Samsung: i8910 Omnia HD,[80]

Sony Ericsson: Satio, Vivaz, Vivaz Pro

Nokia: 5320 XpressMusic, 5630 XpressMusic, 5730 XpressMusic, 6210 Navigator, 6220 Classic, 6650 fold, 6710 Navigator, 6720 Classic, 6730 Classic, 6760 Slide, 6790 Surge, E5-00, E51, E52, E55, E71, E72, E75, N78, N79, N82, N85, N86 8MP, N96, X5, C5-00;
Samsung: GT-i8510 (INNOV8), GT-i7110 (Pilot), SGH-L870, SGH-i550, SGH-G810
Sony Ericsson ...
Motorola ...
Nokia 9210, Nokia 9300, Nokia 9300i, Nokia 9500
Latest firmware name Nokia Belle Feature Pack 2/ Belle Refresh Symbian^2 Symbian^1/Series 60 5th Edition Series 60 3rd Edition Feature Pack 2 UIQ ? Series 80

* Manufactured by Fujitsu
† Manufactured by Sharp
Software update service for Nokia Belle and Symbian (S60) phones is discontinued at the end of December 2015

Market share and competition

[edit]

In Q1 2004 2.4 million Symbian phones were shipped, double the number as in Q1 2003. Symbian Ltd. was particularly impressed by progress made in Japan.[81]

3.7 million devices were shipped in Q3 2004, a growth of 201% compared to Q3 2003 and market share growing from 30.5% to 50.2%. However, in the United States it was much less popular, with a 6% market share in Q3 2004, well behind Palm OS (43%) and Windows Mobile (25%). This has been attributed to North American customers preferring wireless PDAs over smartphones, as well as Nokia's low popularity there.[82]

On 16 November 2006, the 100 millionth smartphone running the OS was shipped.[83] As of 21 July 2009, more than 250 million devices running Symbian OS had been produced.[84]

In 2006, Symbian had 73% of the smartphone market,[85] compared with 22.1% of the market in the second quarter of 2011.[86]

By the end of May 2006, 10 million Symbian-powered phones were sold in Japan, representing 11% of Symbian's total worldwide shipments of 89 million.[87] By November 2007 the figure was 30 million, achieving a market share of 65% by June 2007 in the Japanese market.[88]

Symbian has lost market share over the years as the market has dramatically grown, with new competing platforms entering the market, though its sales have increased during the same timeframe. E.g., although Symbian's share of the global smartphone market dropped from 52.4% in 2008 to 47.2% in 2009, shipments of Symbian devices grew 4.8%, from 74.9 million units to 78.5 million units.[89] From Q2 2009 to Q2 2010, shipments of Symbian devices grew 41.5%, by 8.0 million units, from 19,178,910 units to 27,129,340; compared to an increase of 9.6 million units for Android, 3.3 million units for RIM, and 3.2 million units for Apple.[90]

Prior reports on device shipments as published in February 2010 showed that the Symbian devices formed a 47.2% share of the smart mobile devices shipped in 2009, with RIM having 20.8%, Apple having 15.1% (via iOS), Microsoft having 8.8% (via Windows CE and Windows Mobile) and Android having 4.7%.[89]

In the number of "smart mobile device" sales, Symbian devices were the market leaders for 2010. Statistics showed that Symbian devices formed a 37.6% share of smart mobile devices sold, with Android having 22.7%, RIM having 16%, and Apple having 15.7% (via iOS).[91] Some estimates indicate that the number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million.[92]

Over the course of 2009–10, Motorola, Samsung, LG, and Sony Ericsson announced their withdrawal from Symbian in favour of alternative platforms including Google's Android, Microsoft's Windows Phone.[93][94][95][96]

In Q2 2012, according to IDC worldwide market share had dropped to an all-time low of 4.4%.[97]

Criticism

[edit]

The users of Symbian in the countries with non-Latin alphabets (such as Russia, Ukraine and others) have been criticizing the complicated method of language switching for many years.[98] For example, if a user wants to type a Latin letter, they must call the menu, click the languages item, use arrow keys to choose, for example, the English language from among many other languages, and then press the 'OK' button. After typing the Latin letter, the user must repeat the procedure to return to their native keyboard. This method slows down typing significantly. In touch-phones and QWERTY phones the procedure is slightly different but remains time-consuming. All other mobile operating systems, as well as Nokia's S40 phones, enable switching between two initially selected languages by one click or a single gesture.

Early versions of the firmware for the original Nokia N97, running on Symbian^1/Series 60 5th Edition have been heavily criticized as buggy (also contributed by the low amount of RAM installed in the phone).[99]

In November 2010, Smartphone blog All About Symbian criticized the performance of Symbian's default web browser and recommended the alternative browser Opera Mobile.[100] Nokia's Senior Vice President Jo Harlow promised an updated browser in the first quarter of 2011.[101]

There were many different versions and editions of Symbian, which led to fragmentation. Apps and software may be incompatible when installed across different versions of Symbian.[102]

Malware

[edit]

Symbian OS is subject to a myriad of malicious software, the best known of which is Cabir. Usually these send themselves from phone to phone by Bluetooth. So far, none have exploited any flaws in Symbian OS.[citation needed] Instead, they have all asked the user whether they want to install the software, with somewhat prominent warnings that it can't be trusted, although some rely on social engineering, often in the form of messages that come with the malware: rogue software purporting to be a utility, game, or some other application for Symbian.[citation needed]

However, with a view that the average mobile phone user shouldn't have to worry about security, Symbian OS 9.x adopted a Unix-style capability model (permissions per process, not per object). Installed software is theoretically unable to do damaging things (such as costing the user money by sending network data) without being digitally signed – thus making it traceable. Commercial developers who can afford the cost can apply to have their software signed via the Symbian Signed program. Developers also have the option of self-signing their programs. However, the set of available features does not include access to Bluetooth, IrDA, GSM CellID, voice calls, GPS and few others. Some operators opted to disable all certificates other than the Symbian Signed certificates.

Some other hostile programs are listed below, but all of them still require the input of the user to run.

  • Drever.A is a malicious SIS file trojan that attempts to disable the automatic startup from Simworks and Kaspersky Symbian Anti-Virus applications.
  • Locknut.B is a malicious SIS file trojan that pretends to be a patch for Symbian S60 mobile phones. When installed, it drops[clarification needed] a binary that will crash a critical system service component. This will prevent any application from being launched in the phone.
  • Mabir.A is basically Cabir with added MMS functionality. The two are written by the same author,[citation needed] and the code shares many similarities. It spreads using Bluetooth via the same routine as early variants of Cabir. As Mabir.A activates, it will search for the first phone it finds, and starts sending copies of itself to that phone.
  • Fontal.A is an SIS file trojan that installs a corrupted file which causes the phone to fail at reboot. If the user tries to reboot the infected phone, it will be permanently stuck on the reboot screen, and cannot be used without disinfection – that is, the use of the reformat key combination which causes the phone to lose all data. Being a trojan, Fontal cannot spread by itself – the most likely way for the user to get infected would be to acquire the file from untrusted sources, and then install it to the phone, inadvertently or otherwise.

A new form of malware threat to Symbian OS in the form of 'cooked firmware' was demonstrated at the International Malware Conference, Malcon, December 2010, by Indian hacker Atul Alex.[103][104]

Bypassing platform security

[edit]

Symbian OS 9.x devices can be hacked to remove the platform security introduced in OS 9.1 onwards, allowing users to execute unsigned code.[105] This allows altering system files, and access to previously locked areas of the OS. The hack was criticised by Nokia for potentially increasing the threat posed by mobile viruses as unsigned code can be executed.[106]

Version history

[edit]
Version Description
EPOC16 EPOC16, originally simply named EPOC, was the operating system developed by Psion in the late 1980s and early 1990s for Psion's "SIBO" (SIxteen Bit Organisers) devices. All EPOC16 devices featured an 8086-family processor and a 16-bit architecture. EPOC16 was a single-user preemptive multitasking operating system, written in Intel 8086 assembly language and C and designed to be delivered in read-only memory (ROM). It supported a simple programming language named Open Programming Language (OPL) and an integrated development environment (IDE) named OVAL. SIBO devices included the: MC200, MC400, Series 3 (1991–98), Series 3a, Series 3c, Series 3mx, Siena, Workabout, and Workabout mx. The MC400 and MC200, the first EPOC16 devices, shipped in 1989.

EPOC16 featured a primarily monochrome, keyboard-operated graphical interface[107] – the hardware for which it was designed originally had pointer input in the form of a digitiser panel.

In the late 1990s, the operating system was referred to as EPOC16 to distinguish it from Psion's then-new EPOC32 OS.

EPOC32 (releases 1 to 5) The first version of EPOC32, Release 1 appeared on the Psion Series 5 ROM v1.0 in 1997. Later, ROM v1.1 featured Release 3. (Release 2 was never publicly available.) These were followed by the Psion Series 5mx, Revo / Revo plus, Psion Series 7 / netBook and netPad (which all featured Release 5).

The EPOC32 operating system, at the time simply referred to as EPOC, was later renamed Symbian OS. Adding to the confusion with names, before the change to Symbian, EPOC16 was often referred to as SIBO to distinguish it from the "new" EPOC. Despite the similarity of the names, EPOC32 and EPOC16 were completely different operating systems, EPOC32 being written in C++ from a new codebase with development beginning during the mid-1990s.

EPOC32 was a pre-emptive multitasking, single user operating system with memory protection, which encourages the application developer to separate their program into an engine and an interface. The Psion line of PDAs come with a graphical user interface called EIKON which is specifically tailored for handheld machines with a keyboard (thus looking perhaps more similar to desktop GUIs than palmtop GUIs[108]). However, one of EPOC's characteristics is the ease with which new GUIs can be developed based on a core set of GUI classes, a feature which has been widely explored from Ericsson R380 and onwards.

EPOC32 was originally developed for the ARM family of processors, including the ARM7, ARM9, StrongARM and Intel's XScale, but can be compiled towards target devices using several other processor types.

During the development of EPOC32, Psion planned to license EPOC to third-party device manufacturers, and spin off its software division as Psion Software. One of the first licensees was the short-lived Geofox, which halted production with less than 1,000 units sold. Ericsson marketed a rebranded Psion Series 5mx called the MC218, and later created the EPOC Release 5.1 based smartphone, the R380. Oregon Scientific also released a budget EPOC device, the Osaris (notable as the only EPOC device to ship with Release 4).

Work started on the 32-bit version in late 1994.

The Series 5 device, released in June 1997, used the first iterations of the EPOC32 OS, codenamed "Protea", and the "Eikon" graphical user interface.

The Oregon Scientific Osaris was the only PDA to use the ER4.

The Psion Series 5mx, Psion Series 7, Psion Revo, Diamond Mako, Psion netBook and Ericsson MC218 were released in 1999 using ER5. A phone project was announced at CeBIT, the Phillips Illium/Accent, but did not achieve a commercial release. This release has been retrospectively dubbed Symbian OS 5.

The first phone using ER5u, the Ericsson R380 was released in November 2000. It was not an open device: software could not be installed. Notably, several never-released Psion prototypes for next generation PDAs, including a Bluetooth Revo successor codenamed Conan, were using ER5u. The 'u' in the name refers to it supporting Unicode.

In June 1998, Psion Software became Symbian Ltd., a major joint venture between Psion and phone manufacturers Ericsson, Motorola, and Nokia. As of Release 6, EPOC was renamed Symbian OS.

Symbian OS 6.0 and 6.1 The OS was renamed Symbian OS and envisioned as the base for a new range of smartphones. This release is sometimes called ER6. Psion gave 130 key staff to the new company and retained a 31% shareholding in the spin-off.

The first 'open' Symbian OS phone, the Nokia 9210 Communicator, was released in June 2001. Bluetooth support was added. Almost 500,000 Symbian phones were shipped in 2001, rising to 2.1 million the following year.

Development of different UIs was made generic with a "reference design strategy" for either 'smartphone' or 'communicator' devices, subdivided further into keyboard- or tablet-based designs. Two reference UIs (DFRDs or Device Family Reference Designs) were shipped: Quartz and Crystal. The former was merged with Ericsson's Ronneby design and became the basis for the UIQ interface; the latter reached the market as the Nokia Series 80 UI.

Later DFRDs were Sapphire, Ruby, and Emerald. Only Sapphire came to market, evolving into the Pearl DFRD and finally the Nokia Series 60 UI, a keypad-based 'square' UI for the first true smartphones. The first one of them was the Nokia 7650 smartphone (featuring Symbian OS 6.1), which was also the first with a built-in camera, with VGA (0.3 Mpx = 640×480) resolution. Other notable S60 Symbian 6.1 devices are the Nokia 3650, the short lived Sendo X and Siemens SX1, the first and the last Symbian phone from Siemens.

Despite these efforts to be generic, the UI was clearly split between competing companies: Crystal or Sapphire was Nokia, Quartz was Ericsson. DFRD was abandoned by Symbian in late 2002, as part of an active retreat from UI development in favour of headless delivery. Pearl was given to Nokia, Quartz development was spun off as UIQ Technology AB, and work with Japanese firms was quickly folded into the MOAP standard.

Symbian OS 7.0 and 7.0s First shipped in 2003. This is an important Symbian release which appeared with all contemporary user interfaces including UIQ (Sony Ericsson P800, P900, P910, Motorola A925, A1000), Series 80 (Nokia 9300, 9500), Series 90 (Nokia 7710), Series 60 (Nokia 3230, 6260, 6600, 6670, 7610) as well as several FOMA phones in Japan. It also added EDGE support and IPv6. Java support was changed from pJava and JavaPhone to one based on the Java ME standard.

One million Symbian phones were shipped in Q1 2003, with the rate increasing to one million a month by the end of 2003.

Symbian OS 7.0s was a version of 7.0 special adapted to have greater backward compatibility with Symbian OS 6.x, partly for compatibility between the Communicator 9500 and its predecessor the Communicator 9210.

In 2004, Psion sold its stake in Symbian. The same year, the first worm for mobile phones using Symbian OS, Cabir, was developed, which used Bluetooth to spread itself to nearby phones. See Cabir and Symbian OS threats.

Symbian OS 8.0 First shipped in 2004, one of its advantages would have been a choice of two different kernels (EKA1 or EKA2). However, the EKA2 kernel version did not ship until Symbian OS 8.1b. The kernels behave more or less identically from user-side, but are internally very different. EKA1 was chosen by some manufacturers to maintain compatibility with old device drivers, while EKA2 was a real-time kernel. 8.0b was deproductised in 2003.

Also included were new APIs to support CDMA, 3G, two-way data streaming, DVB-H, and OpenGL ES with vector graphics and direct screen access.

Symbian OS 8.1 An improved version of 8.0, this was available in 8.1a and 8.1b versions, with EKA1 and EKA2 kernels respectively. The 8.1b version, with EKA2's single-chip phone support but no additional security layer, was popular among Japanese phone companies desiring the real-time support but not allowing open application installation.

The first and maybe the most famous smartphone featuring Symbian OS 8.1a was Nokia N90 in 2005, Nokia's first in Nseries.

Symbian OS 9.0 Symbian OS 9.0 was used for internal Symbian purposes only. It was de-productised in 2004. 9.0 marked the end of the road for EKA1. 8.1a is the final EKA1 version of Symbian OS.

Symbian OS has generally maintained reasonable binary code compatibility. In theory the OS was BC from ER1-ER5, then from 6.0 to 8.1b. Substantial changes were needed for 9.0, related to tools and security, but this should be a one-off event. The move from requiring ARMv4 to requiring ARMv5 did not break backwards compatibility.

Symbian OS 9.1 Released early 2005. It includes many new security related features, including platform security module facilitating mandatory code signing. The new ARM EABI binary model means developers need to retool and the security changes mean they may have to recode. S60 platform 3rd Edition phones have Symbian OS 9.1. Sony Ericsson is shipping the M600 and P990 based on Symbian OS 9.1. The earlier versions had a defect where the phone hangs temporarily after the owner sent a large number of SMS'es. However, on 13 September 2006, Nokia released a small program to fix this defect.[109] Support for Bluetooth 2.0 was also added.

Symbian 9.1 introduced capabilities and a Platform Security framework. To access certain APIs, developers have to sign their application with a digital signature. Basic capabilities are user-grantable and developers can self-sign them, while more advanced capabilities require certification and signing via the Symbian Signed program, which uses independent 'test houses' and phone manufacturers for approval. For example, file writing is a user-grantable capability while access to Multimedia Device Drivers require phone manufacturer approval. A TC TrustCenter ACS Publisher ID certificate is required by the developer for signing applications.

Symbian OS 9.2 Released Q1 2006. Support for OMA Device Management 1.2 (was 1.1.2). Vietnamese language support. S60 3rd Edition Feature Pack 1 phones have Symbian OS 9.2.

Nokia phones with Symbian OS 9.2 OS include the Nokia E71, Nokia E90, Nokia N95, Nokia N82, Nokia N81 and Nokia 5700.

Symbian OS 9.3 Released on 12 July 2006. Upgrades include improved memory management and native support for Wifi 802.11, HSDPA. The Nokia E72, Nokia 5730 XpressMusic, Nokia N79, Nokia N96, Nokia E52, Nokia E75, Nokia 5320 XpressMusic, Sony Ericsson P1 and others feature Symbian OS 9.3.
Symbian OS 9.4 Announced in March 2007. Provides the concept of demand paging which is available from v9.3 onwards. Applications should launch up to 75% faster. Additionally, SQL support is provided by SQLite. Ships with the Samsung i8910 Omnia HD, Nokia N97, Nokia N97 mini, Nokia 5800 XpressMusic, Nokia 5530 XpressMusic, Nokia 5228, Nokia 5230, Nokia 5233, Nokia 5235, Nokia C5-03, Nokia C6-00, Nokia X6, Sony Ericsson Satio, Sony Ericsson Vivaz, and Sony Ericsson Vivaz Pro.

Used as the basis for Symbian^1, the first Symbian platform release. The release is also better known as S60 5th edition, as it is the bundled interface for the OS.

Symbian^2 Symbian^2 is a version of Symbian that only used by Japanese manufacturers[citation needed], started selling in Japan market since May 2010.[110] The version is not used by Nokia.[111]
Symbian^3 (Symbian OS 9.5) and Symbian Anna Symbian^3 is an improvement over previous S60 5th Edition and features single touch menus in the user interface, as well as new Symbian OS kernel with hardware-accelerated graphics; further improvements will come in the first half of 2011 including portrait qwerty keyboard, a new browser and split-screen text input. Nokia announced that updates to Symbian^3 interface will be delivered gradually, as they are available; Symbian^4, the previously planned major release, is now discontinued and some of its intended features will be incorporated into Symbian^3 in successive releases, starting with Symbian Anna.
Nokia Belle (Symbian OS 10.1) In the summer of 2011 videos showing an early leaked version of Symbian Belle (original name of Nokia Belle) running on a Nokia N8 were published on YouTube.[112]

On 24 August 2011, Nokia announced it officially for three new smartphones, the Nokia 600 (later replaced by Nokia 603), Nokia 700, and Nokia 701.[113]

Nokia officially renamed Symbian Belle to Nokia Belle in a company blog post.[114][115]

Nokia Belle adds to the Anna improvements with a pull-down status/notification bar, deeper near field communication integration, free-form re-sizable homescreen widgets, and six homescreens instead of the previous three. As of 7 February 2012, Nokia Belle update is available for most phone models through Nokia Suite, coming later to Australia. Users can check the availability at the Nokia homepage.[116]

On 1 March 2012, Nokia announced a Feature Pack 1 update for Nokia Belle which will be available as an update to Nokia 603, 700, 701 (excluding others), and for Nokia 808 PureView natively.

Symbian Carla and Donna were the planned follow-up releases to Belle, to be released in late 2012 and late 2013 respectively. However it was acknowledged in May 2012 that these had been cancelled and that the upcoming Belle Feature Pack 2 would be the last version of the operating system.[117]

The latest software release for Nokia 1st generation Symbian Belle smartphones (Nokia N8, C7, C6-01, Oro, 500, X7, E7, E6) is Nokia Belle Refresh (111.040.1511).[118]

In October 2012, the Nokia Belle Feature Pack 2, widely considered the last major update for Symbian, was released for Nokia 603, 700, 701, and 808 PureView.[119]

List of devices

[edit]

See also

[edit]

General

[edit]
[edit]

References

[edit]

Bibliography

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Symbian was a and designed primarily for smartphones, known for its efficiency on resource-constrained hardware. It originated from the EPOC32 operating system developed by Psion in the early for personal digital assistants and was rebranded and advanced as Symbian OS to support and advanced features like multitasking, playback, and networking. In June 1998, Symbian Ltd. was formed as a between Psion and mobile manufacturers , , and to commercialize the platform, initially as a closed-source system licensed to device makers. During the 2000s, Symbian dominated the market, powering over 300 million devices by 2010, with as its primary adopter through user interfaces like the S60 platform. Key features included a preemptive multitasking kernel, support for and connectivity, a file-based system for data management, and development tools in C++ alongside and Python for applications, enabling robust security through and permissions. Later versions, such as Symbian OS v9.x released in 2006, introduced enhanced multimedia capabilities and support, though the core architecture remained optimized for low-power processors with as little as 32 MB of RAM. In December 2008, Nokia acquired full ownership of Symbian Ltd. to consolidate development, leading to the creation of the in 2009, which released the platform as under the to foster broader ecosystem growth. However, intensifying competition from Apple's and Google's Android, coupled with Symbian's aging interface and slower adaptation to touch-centric designs, eroded its . In February 2011, Nokia announced a partnership with to transition to , accelerating Symbian's decline; the last Symbian-based devices shipped in 2013, with official support ending in 2014.

History

Origins in EPOC

The origins of Symbian trace back to the EPOC operating system, developed by Psion Software in the early 1990s as a foundational platform for personal digital assistants (PDAs). Initially conceived as a successor to Psion's earlier 8-bit and 16-bit systems, EPOC32 emerged as a complete rewrite in C++ starting in 1994, targeting resource-constrained handheld devices with limited power and memory. This development was driven by Psion's need to advance beyond the 16-bit architecture used in devices like the Psion Series 3, which ran the original EPOC (later retroactively called EPOC16 or SIBO) on processors. A key aspect of EPOC32's design was its introduction of advanced technical foundations suited to , including preemptive multitasking, , and a client-server . Preemptive multitasking allowed multiple applications to run concurrently without one monopolizing the CPU, enhancing responsiveness on battery-powered devices. isolated processes to prevent crashes from affecting the entire system, a critical feature for reliability in portable environments. The client-server model facilitated modular communication between applications and system services, promoting efficient resource sharing in constrained hardware. These elements marked a significant evolution from the of prior Psion OS versions, emphasizing robustness for emerging mobile use cases. The transition from 16-bit to 32-bit architecture in EPOC32 was pivotal, shifting to processors to enable greater addressable memory and performance while maintaining a focus on low-power handheld devices. This upgrade addressed the limitations of the 16-bit EPOC, which was confined to x86-compatible chips and struggled with expanding software demands. Psion optimized EPOC32 for devices with minimal resources, such as 4-8 MB of RAM, ensuring efficient operation without excessive power draw. The culmination of this effort was the release of the in June 1997, the first commercial device to run EPOC32, featuring a 18 MHz ARM710a processor, a sliding , and integrated applications like word processing and spreadsheets. This launch demonstrated EPOC32's viability for advanced PDAs and laid groundwork for its adaptation into operating systems.

Formation and Evolution of Symbian Ltd

Symbian Ltd was established on June 24, 1998, as a between Psion Software, , , and , aimed at developing and licensing a standardized operating system for mobile devices based on Psion's existing EPOC platform to address the growing convergence of personal digital assistants and mobile phones. The venture sought to create an open licensing model that would allow multiple manufacturers to adopt the OS, fostering an ecosystem for advanced while countering competition from emerging platforms like Microsoft's Windows CE. later joined as a partner in 1999, expanding the consortium's influence in . The first commercial release of Symbian OS occurred in 2000 with version based on EPOC Release 5, powering the smartphone, which introduced capabilities and marked the transition from Psion's proprietary roots to a broader mobile platform. This was followed in 2001 by Symbian OS v6 on the , the first device to fully implement the 32-bit architecture and support advanced features like full-color displays. These early releases built on EPOC's stability for resource-constrained environments, enabling reliable multitasking and connectivity in early smartphones. Throughout the early 2000s, Symbian evolved toward greater openness by emphasizing licensed adoption and integration of industry standards, including the addition of ME support in Symbian OS v6 in 2001, which allowed developers to create cross-platform applications and broadened the OS's appeal beyond native C++ programming. By the mid-2000s, the platform had expanded to include over a dozen major licensees, such as , , , Sharp, , and Ericsson, alongside the founding partners, driving widespread device adoption and ecosystem growth. This licensing model facilitated the shipment of more than 100 million Symbian-based devices by , underscoring the OS's scale in the global mobile market. Key milestones included the launch of Nokia's S60 platform in 2002 with the , a that standardized user interfaces for Symbian devices and became the basis for many subsequent models, enhancing customization and multimedia capabilities. In 2003, sold its stake in Symbian Ltd to and Psion, reducing the original consortium's diversity. Psion exited fully in 2004 by selling its 31.1% share to for approximately £135 million, allowing to assume majority control with a 63% stake and solidify its dominance in Symbian's direction and development. Under 's leadership, Symbian continued to advance, focusing on scalability for high-volume production and integration with emerging mobile technologies.

Acquisition, Decline, and End of Support

In June 2008, Nokia announced its intention to acquire the remaining 52% stake in Symbian Ltd that it did not already own, valuing the deal at €264 million, with the transaction completing on December 2, 2008. As part of this move, Nokia merged Symbian Ltd with its S60 platform team to establish the , a non-profit organization involving partners like Sony Ericsson, , and , aimed at unifying Symbian OS with various user interfaces into a single . The foundation simultaneously announced plans to transition Symbian to an open-source model under the , with full release targeted for 2010. The platform's decline accelerated following the launches of Apple's in 2007 and Google's Android in 2008, which offered more intuitive user experiences and broader developer ecosystems, eroding Symbian's dominance. Symbian's global , which stood at approximately 52% in 2008 according to , plummeted to under 1% by 2013 as Android captured over 75% and around 15%. Key milestones in this period included the release of Symbian^3 in March 2010, which introduced improved multitasking and a refreshed interface but failed to stem the tide. In June 2011, amid Nokia's strategic pivot to , the company outsourced Symbian's software development and support to , transferring around 2,300 employees and effectively dissolving the . Nokia formally ended support for Symbian on January 1, 2014, ceasing acceptance of new or updated applications for the platform and its . Following this, Symbian saw limited legacy deployment in enterprise environments and select Japanese markets, where devices like and Sharp models continued until mid-2015. The platform's , partially open-sourced under the since 2010, remains available for archival and niche research purposes but has not supported active development.

Core Features

User Interfaces and Customization

Symbian's user interfaces evolved from keyboard-centric designs in early versions to touchscreen paradigms in later releases, accommodating both non-touch and touch interactions. In versions 6 through 9, the primary UI framework, such as the S60 platform, featured an icon-based with a grid of application shortcuts accessible via physical keys and a , emphasizing efficient navigation on devices without touch capabilities. This non-touch paradigm relied on button presses for selection and scrolling, supporting multitasking through an active applications menu that displayed running processes. The introduction of touchscreen support marked a significant shift, beginning with S60 5th Edition in 2008, which added finger and input methods while retaining compatibility with non-touch devices. Later, Symbian^3 in 2010 enhanced this with gestures, including pinch-to-zoom, flicking for scrolling, and swiping between multiple home screens populated with live widgets for quick access to information like weather or calendars. These updates, including the Anna (2011) and Belle releases, further refined touchscreen interactions by introducing split-screen keyboards for faster text input and gesture-based navigation, transitioning from the scroll-and-select model of earlier versions to more intuitive touch paradigms. Key user-facing features included profile-based settings that allowed customization of ringtones, vibrations, and notifications across different modes, such as silent or general profiles, accessible via a dedicated . Widget integration in Symbian^3 and subsequent updates enabled users to personalize home screens with resizable, interactive elements that updated in real-time, enhancing without requiring app launches. Customization options were extensive, permitting users to modify layouts, icons, and color schemes through themes installed as SIS packages. These themes altered visual elements like wallpapers, menu colors, and signal bars, with third-party options distributed via downloads and installers that integrated seamlessly into the system. Users could also rearrange icons and widgets manually, fostering while maintaining core UI consistency across devices.

Browser and Connectivity Capabilities

Symbian's browser capabilities evolved significantly over its versions, transitioning from a WAP-centric approach in early releases to a more robust web rendering engine. Initial implementations in Symbian OS versions prior to 2005 relied on (WAP) for mobile-optimized content delivery, limiting users to simplified, text-based pages due to hardware constraints and bandwidth limitations. By June 2005, ported the open-source engine to the S60 platform, making Symbian the first to integrate WebKit, which enabled rendering of standard and CSS pages with improved compatibility. This integration was fully realized in Symbian^3 (released in 2010), where the built-in browser supported advanced features including elements like video and canvas, full execution via JavaScriptCore, and Lite for multimedia content playback. The browser in later Symbian versions emphasized user-friendly features to enhance web interaction on mobile devices. Users could subscribe to feeds directly from the browser by navigating to an RSS link and selecting the subscription option, allowing feeds to be aggregated and read within the native application or widget system. Offline page saving was supported, enabling users to download and store web pages for later viewing without an active connection, which was particularly useful in areas with intermittent coverage. On touch-enabled devices running Symbian^3 and subsequent updates like Anna (2011), intuitive zoom and pan gestures allowed smooth navigation, with automatic text reflow during zooming to fit content to the screen width without horizontal scrolling. Integration with core communication tools facilitated sharing, as users could copy links or text from web pages and paste them directly into compositions or messages via the system's . Connectivity features in Symbian were designed to support diverse network environments, prioritizing efficiency on resource-constrained hardware. Built-in support, introduced in S60 3rd Edition (Symbian OS v9.1, 2006), enabled 802.11b/g/n connections for high-speed , with automatic network detection and secure authentication protocols like WPA2. was a core feature from Symbian OS v6.0 (2001), supporting versions up to 2.0 with Enhanced Data Rate (EDR) for file transfers, audio streaming, and device pairing, including profiles for hands-free calling and . Cellular data support included () from Symbian OS v7.0s (2003), allowing packet-switched data rates up to several Mbps for web browsing and downloads, while early versions optimized for GPRS/EDGE in low-bandwidth scenarios through compression and efficient protocol handling to minimize data usage and battery drain. HSDPA support was added in later versions such as Symbian OS v9.3 (2006). USB connectivity facilitated 2.0 full-speed , enabling Symbian devices to share cellular data with PCs or act as modems, with plug-and-play drivers for seamless setup. Symbian's multimedia streaming capabilities leveraged these connectivity options to deliver audio and video content over IP networks. The platform's Multimedia Framework supported progressive download and true streaming protocols like RTSP and HTTP, allowing playback of formats such as , AAC, and H.264 video in the browser or dedicated players, with buffering to handle variable bandwidth. Tools like Carbide.c++ aided in developing and testing browser enhancements, ensuring reliable rendering and streaming performance that translated to smoother user experiences, such as uninterrupted video playback during handoffs.

Multilingual and Accessibility Support

Symbian OS emphasized multilingual capabilities to enable widespread international use, with full compliance introduced in version 7.0s, allowing seamless handling of diverse character sets and scripts. This support extended to right-to-left (RTL) text rendering for languages such as and Hebrew, ensuring proper display and input in bidirectional contexts. Localization was achieved through resource files with .rss extensions, which stored translatable strings, facilitating application adaptation to different languages without code modifications. The platform incorporated dynamic font rendering to accommodate varying script requirements, alongside customizable date and time formats tailored to regional conventions, such as those defined in the Symbian developer libraries for text-based formatting. Input methods like T9 predictive text were integrated for faster entry in supported languages, particularly on numeric keypads common in early Symbian devices. In the MOAP variant developed for the Japanese market by NTT DoCoMo, specialized input handling for Hiragana, Katakana, and Kanji was provided to meet local needs. Accessibility features in Symbian focused on aiding users with visual and motor impairments. Screen readers, including Talks for Symbian from Code Factory, delivered audio descriptions of on-screen elements, enabling blind users to navigate menus, manage contacts and calendars, compose messages, and perform calls. Screen Reader (NSR), integrated in select S60 devices, similarly supported voice output for system interfaces and applications. In later releases like Symbian Belle, haptic feedback via vibration was added for touch interactions, providing tactile confirmation for users with low vision.

System Architecture

Kernel and Security Model

Symbian OS employed the EPOC Kernel Architecture (EKA) as its core operating system kernel, with EKA2 marking a pivotal introduced in version 8.0 in 2004. This architecture shifted from the earlier EKA1's monolithic design, which integrated most kernel services into a single prone to instability from faulty components, to a more modular approach. EKA2's nanokernel provides essential real-time services, including fast thread switching, semaphores for , and handling, enabling predictable response times critical for mobile devices. A key innovation in EKA2 was the relocation of device drivers to user mode, where they operate within protected processes rather than kernel space, significantly enhancing system stability by isolating potential driver failures and preventing widespread crashes. The kernel oversees through mechanisms like idle thread activation and device-specific power states, optimizing battery life while maintaining responsiveness to hardware events such as interrupts from peripherals. This supports concurrent execution of real-time tasks alongside user applications, with the full kernel building upon the nanokernel to deliver higher-level services like process creation and memory allocation. The security model of Symbian OS, particularly from version 9 onward, relies on a capability-based system to enforce access controls and mitigate risks from untrusted code. Capabilities serve as granular permissions, with 20 defined types that applications must possess to interact with sensitive resources; for instance, NetworkServices allows network connectivity operations, while ReadUserData permits reading from protected user directories. This framework adheres to the principle of least privilege, ensuring that software can only perform actions explicitly authorized, thereby preventing unauthorized access to system functions, files, or hardware. Process isolation forms a foundational element of this model, with each application executing in a dedicated protected by hardware units that block direct inter-process memory access and enforce page-level protections. Complementing this, signed code execution is mandated via the Checker (ICE), a boot-time component that cryptographically verifies executables and libraries against trusted certificates before loading, rejecting tampered or unsigned code to maintain platform integrity. These mechanisms collectively provide robust protection against malicious or erroneous software while supporting the modular extension of kernel services into higher-level domains.

Design Principles and Modularity

Symbian OS was engineered with a focus on to accommodate the constraints of early mobile devices, targeting systems with less than 8 MB of RAM and limited battery life. This design emphasized minimal and power consumption, incorporating mechanisms like the cleanup stack to prevent resource leaks even under low-memory conditions, ensuring robust operation in error-prone environments such as sudden battery drain or network interruptions. Central to its asynchronous were active objects, which enabled efficient multitasking within a single thread by encapsulating requests to asynchronous services, such as I/O operations or timers, without blocking the execution flow. This framework, integrated with the active scheduler, supported preemptive multitasking at the kernel level with cooperative scheduling within threads, allowing developers to handle concurrent events like user inputs and background tasks in a resource-constrained setting. Complementing this was the client-server model, which structured much of the system's functionality to manage shared resources securely; clients communicated with servers via sessions, promoting isolation and efficient access to services like file handling or device drivers. The architecture's modularity was achieved through a layered structure, starting from base services that provided foundational utilities and extending to specialized domains like ETel for telephony management, which handled call control and signaling via a modular interface. This layering facilitated extensibility, with plug-in support for components such as audio codecs, allowing device manufacturers to customize functionality without altering core code. Dynamic link libraries (DLLs) enabled runtime loading of modules, reducing static memory usage and supporting polymorphic interfaces for flexible implementation of services. Key to resource management was the cleanup stack, a mechanism that automatically released handles and objects upon function exit or error, mitigating leaks in leave-prone code paths typical of C++ in embedded systems. Strings were handled via descriptor-based classes rather than null-terminated C-strings, providing self-describing structures with built-in length and type information to avoid buffer overflows and simplify memory-safe operations. Over time, Symbian OS evolved to incorporate platform security in version 9, introducing capabilities-based and data caging while maintaining through EABI (Executable and Linking Format) standards, ensuring legacy applications could run without modification.

Technology Domains and Packages

Symbian OS structures its software components into technology domains, which represent logical groupings of functionality designed to promote modularity and maintainability. Each technology domain encompasses multiple software packages, where a package is a collection of related APIs and libraries that provide specific services. This organization, comprising 13 technology domains and 134 packages, enables independent development and evolution of components while ensuring coherent interactions across the system. The Kernel domain forms the foundational layer, handling essential low-level operations such as process management and , upon which all other domains rely. The Base domain delivers core services, including file systems, persistent storage, and (IPC) mechanisms, serving as the essential infrastructure for higher-level functionalities. For instance, the Base domain's IPC facilities allow other domains to exchange messages efficiently without direct coupling. The Comms domain manages connectivity features, grouping packages for networking, , and short-range communications. Key sub-packages within the OS Services Layer, such as ETel for telephony control and ESock for socket-based networking, enable applications to interface with hardware like modems and wireless protocols. These packages interact with the Base domain for IPC, allowing asynchronous request handling between client applications and server processes. The domain oversees visual rendering and user input, centered around the window server package that coordinates screen output, handling, and event processing from devices like keyboards and pointers. Complementing this, the Apps domain provides frameworks for and UI components, ensuring standardized interactions with underlying graphics services. Over 100 public APIs are organized into these packages, with examples including the Multimedia Framework (MMF) in the multimedia subdomain, which handles audio and video playback through pluggable codecs. Starting with Symbian OS version 9, the platform adopted the Executable and Linking Format (EABI), standardizing binary compatibility and simplifying cross-toolchain development across domains. Interdependencies are managed through well-defined interfaces; for example, the Comms domain leverages Base domain IPC for secure, efficient communication with the Kernel.

Software Development

Native Symbian C++ Programming

Symbian C++ is a of C++ tailored for the Symbian OS environment, incorporating specific extensions and idioms to address the constraints of resource-limited mobile devices, such as limited and the need for robust error handling. It builds on standard C++ by introducing classes and patterns that ensure deterministic behavior and prevent common pitfalls like leaks during exceptions, which are reimagined as "leaves" in Symbian . Central to Symbian C++ are descriptors, a family of classes for handling strings and more safely than standard C++ strings or char arrays. Descriptors include stack-based types like TBuf (modifiable, with a compile-time specified maximum length) and TBufC (constant), pointer descriptors like RDes and RDesC for referencing external data without copying, and heap-based types like HBufC for dynamic allocation. These classes embed length and maximum length information, enabling bounds-checked operations and automatic within the Symbian framework. The cleanup stack is a key mechanism for , implemented via CleanupStack::Push() and CleanupStack::Pop(), which ensures that objects allocated on the heap are properly destroyed if a function leaves due to an error. This stack operates on a last-in, first-out basis, automatically calling destructors or cleanup functions for pushed items during unwinding, thus preventing leaks in asynchronous or exception-prone code. Active objects extend this model by encapsulating asynchronous operations, such as I/O requests, using a CActive base class that integrates with the active scheduler for non-blocking event handling without threads. Developers issue requests via methods like IssueRequest() and handle completions in RunL(), with error cases trapped via RunError(). Two-phase construction is a mandatory pattern for CBase-derived classes to avoid partial object initialization during leaves. The first phase uses a default constructor or NewL() to allocate and push the object onto the cleanup stack, followed by ConstructL() for resource acquisition that may leave; this separates safe allocation from fallible setup, with cleanup handled automatically if ConstructL() fails. Leave handling employs TRAP macros, such as TRAPD for trapping a single function call, where a leave (via User::Leave()) propagates errors as integer codes instead of C++ exceptions, allowing precise recovery or cleanup. Resource files, defined in .rss source files and compiled to binary .rsc format, integrate with C++ code for defining UI elements, strings, and configuration data external to the executable. Developers load resources using APIs like REsRead::ReadResource() or i18n variants for localized text, enabling runtime access via IDs without hardcoding values, which supports platform-specific customization and reduces binary size. Development tools for Symbian C++ include integrated development environments like , which provided compiler, linker, and support, and later Carbide.c++, a Eclipse-based IDE from with enhanced project wizards, code analysis, and integration for building against Symbian SDKs. Debugging occurs primarily via the Epoc32 , a Windows-hosted simulator that mimics device hardware for testing without physical phones, supporting breakpoints, watches, and panic inspection. Symbian's memory model emphasizes efficiency, with processes having a default maximum user heap size of 1 MB (minimum 4 KB), though early devices' limited total RAM (often 4-16 MB) imposed practical constraints. , triggered by __ASSERT_ALWAYS or User::Panic(), halt execution with a category and reason code for runtime invariants, while assertions in debug builds (__ASSERT_DEBUG) provide compile-time configurable checks without impacting release .

Qt Framework Integration

Qt for Symbian was introduced in 2009 as a cross-platform framework to simplify application development on the Symbian platform, with initial support in Symbian^3 released the following year. This integration enabled developers to leverage QWidgets for traditional widget-based user interfaces and QML (Qt Modeling Language) for declarative, rapid UI prototyping, reducing the complexity of building touchscreen applications compared to native Symbian C++ approaches. By providing a unified API across desktop and mobile environments, Qt facilitated easier porting of applications, allowing code reuse while targeting Symbian's resource-constrained devices. A core strength of Qt in Symbian lay in its signal-slot mechanism, which decoupled event handling from UI logic, enabling efficient communication between components without tight coupling. For deeper integration with Symbian's native capabilities, developers could use the QSymbianEvent class to wrap and process Symbian-specific events, bridging Qt's event system with the underlying OS APIs for tasks like hardware interactions. This allowed Qt applications to access low-level features while maintaining portability, with the framework compiled specifically for architectures to ensure performance on Symbian hardware. Development workflows benefited from Qt Creator IDE, which provided Symbian-specific tools starting from version 1.3, including project templates, on emulators, and automated generation of SIS (Symbian Installation Source) packages for deployment. Optimizations in Qt's build process targeted processors, minimizing footprint and improving runtime efficiency through features like and reduced dependencies. Symbian's later releases enhanced Qt integration with Qt Mobility APIs, which exposed device-specific functionalities such as location services via QGeoPositionInfoSource and camera access through QCamera, abstracting Symbian's native libraries for cross-platform consistency. In Symbian Belle (2011), the platform transitioned toward for modern UIs, replacing much of the legacy AVKON framework with declarative components that supported animations, gestures, and split-view layouts, aligning Symbian apps more closely with contemporary mobile design paradigms.

Alternative Languages and Tools

Symbian OS supported several alternative programming languages and tools beyond its native C++ environment, enabling developers to create applications using interpreted or virtual machine-based approaches suitable for and cross-platform development. One prominent option was Java ME, which provided a standardized framework for mobile applications. Starting with Symbian OS version 6, the platform incorporated support for the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), powered by the K Virtual Machine (KVM) as the Java runtime environment. This allowed developers to build portable apps, such as games and utilities, that leveraged Java's object-oriented features while adhering to resource constraints of early smartphones. Additionally, Symbian's Lightweight UI (LCUI) extended the standard LCDUI (Low-Level UI) components, offering optimized graphical elements like custom canvases for more responsive interfaces in Java applications. Another key alternative was Python, particularly through the Python for Series 60 (PyS60) implementation on the S60 platform variant of Symbian. PyS60, based on Python 2.x, enabled scripting for tasks, such as device control and data processing, by integrating with native Symbian APIs via the E32 module, which facilitated direct calls to the underlying operating system services like file handling and event management. This made it ideal for quick prototyping and non-graphical scripts, reducing the need for compiled code. For user interfaces in PyS60 applications, the Appuifon module (often stylized as appuifw) provided essential widgets and canvas support, allowing developers to create simple forms, text inputs, and drawing surfaces without deep OS-level programming. For legacy development, the Open Programming Language (OPL) offered an interpreted, BASIC-like syntax tailored for Symbian devices, originating from Psion's EPOC heritage and continuing as an open-source tool. OPL was particularly useful for straightforward applications on resource-limited hardware, supporting procedural programming for tasks like database interactions and basic UI elements, though it saw declining use as Symbian evolved toward more modern frameworks. In the multimedia domain, Adobe Flash Lite enabled the creation of rich content and lightweight applications, including animations and interactive experiences, by running ActionScript-based files within a dedicated player integrated into Symbian's browser and app ecosystem. Third-party efforts also extended Python capabilities, such as experimental ports of PyGTK, which attempted to bring GTK+-style widgets to Symbian for more advanced GUI scripting, though these remained niche due to platform incompatibilities.

Application Deployment Processes

Applications on Symbian OS were deployed primarily through the Symbian Installation System (SIS), which packaged software components into signed .sis or .sisx files generated from .pkg scripts using tools like makesis included in the Symbian SDK. These files contained the application's binaries, resources, and installation instructions, enabling distribution via , USB connections, or for wired transfers to devices. To ensure security and compatibility, SIS files required digital signing with developer certificates obtained through the Symbian Signed program, which provided tiered access levels including Express Signed for basic capabilities and Certified Signed or full Symbian Signed for advanced device features like full filesystem access. Unsigned or self-signed packages were limited to user-grantable capabilities and often rejected by devices, particularly on enterprise-oriented models. Over-the-air (OTA) deployment became available for convenient distribution, utilizing WAP push notifications or integrated app stores such as the Ovi Store, which launched globally on May 26, 2009, and supported direct downloads and updates for Symbian devices. The SIS installation process incorporated dependency resolution to verify and install prerequisite components or compatible versions before proceeding, preventing incomplete setups. In case of failure, such as insufficient space or conflicts, the installer automatically rolled back changes to maintain system stability, ensuring no partial installations occurred. Additionally, SIS packages supported multi-architecture builds, bundling variants like for hardware devices and WinSCW for emulator testing, allowing a single file to target diverse environments without separate distributions.

Platform Variants

S60 Platform

The S60 platform, originally known as Series 60 User Interface, was developed by Nokia and first introduced at COMDEX in November 2001, with its initial commercial release in 2002 on the Nokia 7650 smartphone. Built on top of Symbian OS version 6.1 and later iterations, S60 served as a feature-rich graphical user interface (GUI) and software platform optimized for advanced data capabilities in smartphones. It evolved through multiple editions, starting with the 1st Edition on Symbian OS 6.1, progressing to the 2nd Edition starting on Symbian OS 7.0s in 2003 and with Feature Pack 2 on Symbian OS 8.0a in 2004, the 3rd Edition on Symbian OS 9.1 in 2006 (with Feature Packs up to FP2 on Symbian OS 9.3), the 5th Edition (also known as Symbian^1) on Symbian OS 9.4 in 2008, and culminating in the final major update, the 5th Edition Feature Pack 1, released in 2009. These versions introduced progressive enhancements in usability, multimedia support, and developer tools while maintaining backward compatibility where possible within editions. Key features of S60 included the AVKON (Application View Control) UI framework, which provided standardized widgets and controls for building intuitive applications, such as list boxes, dialogs, and status panes, ensuring a consistent across devices. The platform supported diverse form factors, notably dual-slide designs in devices like the and E75, where the keypad slid out horizontally for numeric input and vertically for multimedia controls, enhancing ergonomics for both communication and entertainment tasks. SDKs were available for both non-touch and touch-enabled variants, with the 5th Edition pioneering full support via finger gestures and virtual keyboards. Later editions incorporated hardware-accelerated UI elements through the UI Accelerator Toolkit, enabling smoother animations and 3D effects for improved responsiveness on capable hardware. S60 achieved widespread adoption, powering over 180 million devices by 2009 and becoming the dominant UI for Symbian-based , particularly in 's Nseries (multimedia-focused) and Eseries (enterprise-oriented) lines. By April 2007, cumulative shipments exceeded 100 million units across and licensees like and , rising to over 180 million by 2009. The platform's S60 3rd Edition Feature Pack 2 (FP2), based on Symbian OS 9.3, formed the foundational layer for Symbian^1 (S60 5th Edition), integrating an advanced WebKit-based browser that supported standards like and Flash Lite 3.0 for richer web experiences. This integration solidified S60's role as 's primary smartphone platform until the shift toward newer operating systems in 2011.

UIQ and Other Third-Party UIs

UIQ, developed by the Swedish company , was a prominent third-party platform built on top of Symbian OS, primarily targeted at touch-enabled smartphones from manufacturers like and . Originally stemming from Ericsson's Mobile Application Lab established in , UIQ Technology became a in 2007 when and each acquired a 50% stake, enabling broader licensing of the platform for pen-based and multimedia-focused devices. The platform emphasized intuitive touch interactions, distinguishing it from keyboard-centric alternatives through support for input and on devices such as the Sony Ericsson P800 and P990. Key features of UIQ included a for text entry, widgets for enhanced content handling, and an SDK optimized for developing applications on pen-based hardware, facilitating seamless integration of features like and drag-and-drop operations. Later iterations introduced customizable panels allowing users to rearrange interface elements and shortcuts, alongside improved connectivity support for faster data services and video calling. UIQ 3.0, released in February 2005 and based on Symbian OS v9.1, marked a significant with backward compatibility for earlier applications and enhanced operator configuration options, while UIQ 3.1 (2007) aligned with Symbian v9.2 for better security and performance. Subsequent versions, such as UIQ 3.3 on Symbian v9.4 in , further refined touch responsiveness and widget extensibility before the platform's discontinuation amid shifting market dynamics. Beyond UIQ, other third-party UIs for Symbian catered to specialized device form factors and manufacturer needs. Nokia's Series 80, derived from Symbian's reference design, was tailored for enterprise communicators with a full keyboard, high-resolution 640x200 pixel display, and business tools like SSL/TLS encryption support, powering devices such as the Nokia 9210 (Symbian v6.0) and 9500 (Symbian v7.0s). Samsung's Pearl UI, an early adaptation of the S60 framework on Symbian OS v6.1, focused on information-centric interfaces for advanced mobile phones, featuring overlay menus and streamlined navigation without a dedicated back key, as seen in initial Samsung Symbian implementations. LG's UI, building on Symbian elements, incorporated touch-friendly elements like cubic menu rotations and gesture shortcuts in devices such as the LG GD900, emphasizing transparent and multimedia integration on Symbian OS v9.3. These UIs highlighted Symbian's , allowing licensees to customize the core OS for diverse hardware while maintaining core compatibility.

MOAP and Regional Adaptations

MOAP, or Mobile Oriented Applications Platform, was a customized variant of Symbian OS developed by in partnership with and other vendors, launched in November 2004. Based on Symbian OS v8, it served as a common software platform for FOMA handsets, enabling efficient development across multiple manufacturers while optimizing for Japan's mobile ecosystem. Key features of MOAP included deep integration with NTT DoCoMo's services for packet-switched mobile internet and multimedia delivery, alongside FOMA network optimizations for high-speed data communication and video telephony. It supported Japanese-specific functionalities such as Kana-based input methods and IME for text entry, as well as carrier-exclusive applications like mobile wallet services powered by contactless technology for payments and ticketing. These adaptations ensured seamless operation on the FOMA network, with the platform provided exclusively in Japanese for development. A Symbian-focused iteration, MOAP(S), emerged later and was aligned with Symbian^3 starting around 2010, powering devices in NTT DoCoMo's lineup such as those in the summer 2010 collection. By , MOAP and related Symbian implementations had contributed to shipments exceeding 40 million units in , underscoring the platform's significant regional impact. Beyond Japan, Symbian underwent adaptations for other Asian markets, notably incorporating TD-SCDMA support for China's 3G infrastructure. This enabled compatibility with China Mobile's network, as seen in devices like the Nokia 6788, Nokia's first TD-SCDMA handset announced in 2009, which ran a customized Symbian OS to leverage the domestic standard. Symbian variants for the Korean market included built-in Hangul input support, allowing native text composition in the Korean script to meet local linguistic needs on S60-based devices.

Version History

Major Releases and Key Changes

Symbian OS v6, released in 2001, marked the first commercially available version of the operating system, introducing support for the S60 1.0 platform on devices like the Nokia 7650 and enabling early Bluetooth integration for wireless connectivity. This release built on the EPOC32 foundation, providing a rich suite of application engines for contacts, scheduling, messaging, browsing, and system utilities, while supporting features such as J2ME for Java applications and SSL/TLS for secure communications. Subsequent minor updates, including v6.1 and v6.2 in 2002, refined hardware compatibility and added support for higher-resolution screens up to 640x200 pixels. The period from v7 to v9, spanning 2003 to 2006, focused on kernel enhancements and expanded capabilities, with v8.0 introducing the EKA2 kernel for improved real-time performance and multitasking, alongside support, EDGE connectivity, and a shift to standard ME from the prior pJava implementation. v8, released in 2004 as a unification release, streamlined development across variants by reducing fragmentation in APIs and hardware abstractions. v9 series, starting in 2005 with v9.1 supporting S60 3.0, implemented platform (PlatSec) for better protection and froze public APIs to ensure ABI stability, minimizing compatibility breaks for developers; v9.4 served as the final closed-source release before the open-source transition. These versions also enhanced and networking, with v9.3 adding native 802.11 and HSDPA support. The open-source era began with Symbian^1 in 2009, establishing a public base derived from v9.4 with full source code availability under the , facilitating broader community contributions and serving as the base for S60 5th Edition. Symbian^2, released in 2010, introduced initial vector-based UI elements for scalable graphics and early Qt framework integration to ease cross-platform development. Symbian^3, also in 2010 and serving as the base for S60 ^3, expanded Qt support for native applications and refined the vector UI for smoother animations on touch devices. In 2011, the Anna update to Symbian^3 added NFC capabilities for contactless interactions, improved browser rendering with faster , and enhanced text input via portrait keyboards and split-screen layouts. Belle, released later that year, brought significant UI overhauls including resizable widgets, a more customizable homescreen supporting up to six, and deeper integrations like direct and access from contacts. Belle Feature Pack 2 (FP2) in 2012 served as the final major update, adding enhancements and video call support while maintaining ABI compatibility with prior releases.

Version Comparison

Symbian OS versions evolved significantly in terms of kernel architecture, security features, and hardware demands, with major shifts occurring around version 9 and the later Symbian^ series. Early versions like v6 and v7 relied on the EKA1 kernel, which provided basic real-time capabilities but lacked advanced support. Starting with v8, the EKA2 kernel was introduced, offering improved nanokernel design for better handling and real-time performance, becoming mandatory from v9 onward. The following table summarizes key differences across major Symbian versions, focusing on kernel, primary UI support (primarily S60 for Nokia devices), notable feature additions, and typical hardware requirements based on contemporary device implementations.
VersionKernelUI SupportKey AdditionsHardware Requirements (Typical)
v6 (2001)EKA1S60 v1, UIQ 2.0Basic multimedia support, J2ME integration~3-4 MB RAM, 100-150 MHz ARM CPU
v7/v7.0s (2003)EKA1S60 v2, UIQ 2.1Enhanced locale support, internal RAM expansion~4-8 MB RAM, 150-200 MHz ARM CPU
v9 (2005)EKA2S60 v3Platform security model with data caging and code signing~16-32 MB RAM, 200-300 MHz ARM CPU
Symbian^1 (2009)EKA2S60 5th EditionInitial capacitive touch integration, improved graphics APIs~64-128 MB RAM, 300-600 MHz ARM CPU
Symbian^3 (2010)EKA2S60 ^3Qt 4.6 framework inclusion, WebKit-based browser~128-256 MB RAM, 600 MHz+ ARM CPU with GPU
Belle (2011)EKA2S60 BelleQt 4.7 integration, NFC support, expanded home screens~256 MB+ RAM, 800 MHz+ ARM CPU with GPU
Hardware requirements reflect optimizations over time; for instance, v9.5 introduced demand paging and RAM defragmentation, reducing memory needs by 20-30% compared to prior versions. In terms of , versions prior to v9 lacked a comprehensive platform framework, relying on basic without enforced capabilities for sensitive operations like access or handling. v9 and later implemented a robust model with data caging—isolating application file access—and an expanded set of capabilities tied to developer signing levels, significantly enhancing protection against unauthorized actions. This shift marked a departure from the more open but vulnerable pre-v9 environment. Touch support progressed from keyboard-centric interfaces in v6-v9 to basic resistive touch in S60 5th Edition (Symbian^1), but remained clunky with limited gestures. Symbian Anna (2011) and subsequent updates introduced capabilities, improved , and better capacitive screen optimization, making navigation more intuitive compared to earlier versions' reliance on or physical keys. The browser evolved similarly: pre-Symbian^3 versions used older engines like those based on , while Symbian^3 integrated for faster rendering and standards compliance, with Anna adding CSS3 and enhancements for richer web experiences. Backward compatibility was generally maintained within kernel families, but cross-version issues arose due to architectural changes. For example, v9 applications, which run as independent processes with enforced checks, often require rebuilding to function on v7's multi-threaded DLL model, as the process isolation and capability requirements prevent direct execution without modifications. Symbian^3 and Belle maintained compatibility with v9 apps, though minor breaks necessitated release note checks for full support. Specific differences between Symbian^3 and Belle include Qt framework versions—4.6 in ^3 versus 4.7 in Belle, enabling smoother cross-platform development and reduced installation overhead—and home screen limits, expanding from three pages in ^3 to six in Belle for better widget and app organization, effectively removing prior constraints on visible shortcuts.

Market Adoption

Symbian OS achieved its peak market dominance in the global sector during 2007–2008, holding approximately 63.5% share in 2007 before declining to 52.4% in 2008, largely propelled by Nokia's substantial shipments exceeding 77 million Symbian-based devices annually at the time, which accounted for the majority of the platform's volume. This era marked Symbian as the leading operating system, with total global shipments reaching 122 million units in 2007, of which Symbian captured the through Nokia's extensive device portfolio. The platform's influence was particularly pronounced in key regions during the mid-2000s. In 2006, Symbian commanded 67% of the worldwide market, with over 43 million units shipped out of 64.1 million total smartphones. Regionally, it held upwards of 78.7% share in , the , and (EMEA), while maintaining strong penetration in , where directed over 40% of its smartphone shipments; in contrast, represented a weak market with Symbian's share below 10%, limited by carrier preferences for alternatives like .
YearGlobal Smartphone Market Share (%)Approximate Shipments (millions)Source
200667.043Canalys
200763.5~77Canalys/
200852.4~73Canalys
200947.2~65Canalys
Subsequent years witnessed a sharp erosion of Symbian's position. By 2010, its global share had fallen to 37.6%, reflecting 111.2 million total shipments where Symbian units numbered around 42 million, predominantly from . This decline accelerated, with market share dropping to approximately 19% in 2011 and further to 7% by 2012 amid intensifying competition. By 2013, Symbian shipments plummeted below 5 million units globally, signaling the platform's effective end-of-life as shifted focus post-acquisition by .

Device Ecosystem and Manufacturers

Nokia dominated the Symbian ecosystem as the leading manufacturer, producing over 80% of all Symbian-based devices during the platform's peak in the mid-2000s. Other key players included Sony Ericsson, which primarily utilized the user interface, with its Pearl platform variant, and employing custom UIs tailored to their hardware. These manufacturers, along with licensees such as , , , and Sharp, contributed to a diverse range of devices that spanned from basic feature phones to advanced multimedia smartphones. The number of Symbian licensees peaked at 8 in 2007, enabling widespread adoption and hardware innovation across the industry. The , established in 2008 by and partners including Sony Ericsson, , , , and , played a crucial role in standardizing the platform through open-source initiatives and neutral governance to foster among original equipment manufacturers (OEMs). This collaboration aimed to unify development efforts and reduce fragmentation, promoting a cohesive ecosystem for device makers. Supporting the ecosystem, Nokia launched the Ovi Store in 2009 as a centralized app marketplace for Symbian devices, which grew to over 100,000 applications by 2012 before its transition to Nokia Store. Operator partnerships, notably with , facilitated customized software integrations and distribution deals, enhancing Symbian's reach through carrier-specific optimizations and bundled services. These elements collectively drove Symbian's hardware diversity and , with the platform powering devices for global operators and OEMs until its decline in the early 2010s.

Competition and Decline Factors

Symbian faced intense competition from emerging mobile operating systems that better addressed the evolving demands of consumers and developers in the late 2000s. Apple's , launched in 2007 with the , emphasized a seamless interface and the , which revolutionized app distribution and monetization by offering a centralized for third-party developers. Google's Android, introduced in 2008, provided free licensing and an open-source model that encouraged widespread adoption by device manufacturers, enabling rapid customization and market penetration without the proprietary constraints that burdened Symbian. Meanwhile, from Research In Motion maintained a strong foothold in the enterprise sector through its robust security features, capabilities, and physical keyboards, appealing to users who prioritized productivity over multimedia experiences. These competitors accelerated Symbian's decline by outpacing it in and development, leading to a sharp drop in from over 60% in 2007 to approximately 33% by the end of 2010. Symbian's evolved slowly, with updates like the introduction of touch support in Symbian^1 () lagging behind iOS's gestures and Android's fluid animations, resulting in a clunky that alienated users seeking intuitive interactions. The platform's fragmentation across multiple variants—such as S60, , and MOAP—created inconsistencies in hardware support and software compatibility, complicating development and testing for each device, which delayed product launches and deterred app creators. Nokia's strategic pivot to Microsoft's platform in February 2011, announced by CEO , further undermined Symbian by redirecting resources away from its improvement, signaling to developers and partners that the OS lacked a viable future. A critical gap emerged in the app ecosystem, where Symbian's Ovi Store struggled to match the vibrancy of rivals; by the end of 2010, Apple's App Store boasted around 300,000 applications, compared to Ovi's mere 25,000, limiting user engagement and developer investment. Hardware innovations also lagged, as Symbian devices rarely incorporated advanced features like high-resolution Retina displays—first seen on the iPhone 4 in 2010—or optimized capacitive touchscreens, leaving Nokia's flagships like the N8 (2010) feeling outdated despite solid camera technology. Despite its decline, Symbian saw residual usage in emerging markets through the mid-2010s, where affordable devices powered by the OS remained popular for basic needs until support ended in 2016.

Criticisms and Challenges

Security Vulnerabilities and Malware

Symbian OS faced several notable vulnerabilities, particularly in its earlier versions, which exposed devices to exploitation through common attack vectors like buffer overflows and messaging protocols. One significant issue was buffer overflows in the Symbian v9 kernel, which allowed attackers to execute arbitrary code by overflowing memory buffers in system components, potentially leading to or device compromise. These flaws stemmed from insufficient bounds checking in kernel-level code, a problem highlighted in presentations that demonstrated practical exploits on affected devices. The kernel's capability-based security model, designed to restrict application privileges, provided some mitigation but could not fully prevent exploitation of these low-level parsing errors in unsigned or poorly validated inputs. Malware targeting Symbian proliferated in the mid-2000s, exploiting these and other weaknesses to spread via Bluetooth and MMS. The CommWarrior worm, first detected in 2006, was a pioneering example that propagated automatically over Bluetooth connections and MMS, infecting Symbian Series 60 v2 and v3 devices by disguising itself as a system update or game; once installed, it replicated to nearby devices and attempted to send copies via MMS to contacts. Similarly, the Mabir worm, active around the same period, used SMS and Bluetooth for dissemination on Symbian platforms, appending malicious code to executable files and evading early antivirus detection through simple obfuscation techniques. The Skulls trojan, identified in 2004 but with variants persisting, masqueraded as legitimate applications like theme installers in SIS packages, replacing core system icons and executables with non-functional versions upon installation, effectively bricking affected phones while maintaining basic calling functionality. By 2010, Symbian had accumulated over 250 reported variants, reflecting the platform's widespread adoption and the increasing sophistication of threats that bypassed its platform model. advisories emphasized risks from unsigned code, which, despite requiring user approval for installation, could grant excessive capabilities if users overlooked warnings, leading to data theft or further payload drops. These threats underscored Symbian's vulnerability to social engineering and protocol weaknesses, contributing to its reputational challenges in an era of rising expectations.

Development Complexity Issues

One of the primary challenges in Symbian development stemmed from its distinctive C++ programming model, which utilized a "leave" mechanism for error handling instead of standard exceptions. This approach required developers to implement a cleanup stack to manage resources deterministically, ensuring that objects and memory allocations were properly released even if a function left due to an ; failure to do so meticulously could lead to resource leaks in the resource-constrained environment of mobile devices. The two-phase initialization process further compounded this complexity, separating object construction from its full setup to allow cleanup during the vulnerable initialization phase, but it was prone to if not handled precisely, increasing the risk of incomplete object states or leaks. Additional development hurdles included discrepancies between the emulator and real hardware behavior, where emulators often failed to replicate device-specific quirks like timing, , or peripheral interactions, necessitating frequent physical device testing that slowed iteration cycles. Compile times for large applications could extend to hours, exacerbated by the platform's intricate build system and the need for cross-compilation to architectures, while the exhibited significant bloat with thousands of classes across its layered architecture, making navigation and integration daunting for developers. Criticisms frequently highlighted the difficulty of porting code from other platforms, as Symbian's non-standard C++ extensions and idioms diverged sharply from mainstream practices, requiring substantial rewrites. Documentation gaps were particularly acute before the adoption of Qt in , leaving developers reliant on fragmented resources and community forums for guidance on advanced features. A VisionMobile survey of mobile developers revealed that 39% of those using Symbian planned to abandon the platform, largely attributing their decision to its steep and development inefficiencies.

User Experience Limitations

Symbian's multitasking system required users to press and hold the to access a task switcher for switching between applications, a method that many found cumbersome and less intuitive compared to gesture-based alternatives in competing platforms. This approach, while functional for its time, contributed to a disjointed , particularly on touch-enabled devices where screen real estate and input methods clashed with the legacy button-centric design. Additionally, times were notably slow, often exceeding those of rival operating systems, as Symbian prioritized resource conservation over rapid initialization, leading to user frustration during startup. The presence of multiple UI variants, such as S60 and , resulted in inconsistent interfaces across devices from different manufacturers, where navigation, menu layouts, and feature availability varied significantly, complicating user adaptation when switching phones. Older versions of Symbian were prone to leaks, particularly in applications and system processes, which accumulated over time and triggered frequent "low " errors, forcing users to close apps or the device to restore performance. These issues stemmed from the OS's model and tight resource constraints on early hardware, exacerbating instability during prolonged use. Battery life was another persistent concern, with always-on services like , updates, and idle connections causing substantial drain—idle alone could consume up to 40mA, far higher than equivalents, while background widgets and open apps maintained unnecessary data links that halved standby time in some cases. Criticisms of Symbian's often centered on its limited support for touch gestures before the Anna update in 2011, which introduced basic swipe actions but still relied heavily on or inputs, making interactions feel archaic amid the rise of paradigms. App integration suffered similarly, lacking seamless features like universal search until the Belle release later that year, which added a dedicated search capable of querying contacts, calendars, and web history in one interface—prior versions required navigating separate menus, hindering efficient content discovery. User communities, including discussions on AllAboutSymbian, voiced ongoing complaints about version 9 fragmentation, where divergent platform implementations (e.g., S60 3rd Edition variants) created compatibility gaps and uneven feature support across devices. Compounding this, update delays such as the six-month postponement of Symbian^3 from 2010 fueled perceptions of sluggish evolution, leaving users with outdated software amid rapidly advancing competitors.

Legacy and Devices

Notable Supported Devices

Symbian OS powered over 300 mobile device models released between 2000 and 2013, with accounting for the majority and achieving peak annual shipments of 77.3 million units in 2007 alone. These devices spanned various form factors and innovations, from slider phones to early touchscreens, establishing Symbian as a dominant platform in the pre-smartphone era. 's flagship devices exemplified Symbian's evolution and multimedia capabilities. The , launched in 2007 on Symbian OS v9.2 with the S60 3rd Edition UI, introduced integrated GPS navigation and a 5-megapixel camera with optics, making it a in a compact slider design that sold over 7 million units. The , released in 2010 running Symbian^3, featured the first output on a for TV connectivity, a 12-megapixel camera, and recording, positioning it as a premium imaging device with approximately 4 million units shipped. Later, the in 2012 on Symbian Belle delivered groundbreaking 41-megapixel imaging with lossless zoom, underscoring Symbian's late-stage push into professional photography before the platform's phase-out. Beyond Nokia, other manufacturers contributed notable Symbian devices that highlighted platform versatility. The Sony Ericsson P990i, introduced in 2005 with 3.0, combined a full keyboard, , and camera branding, serving as an early hybrid communicator for business and media users. Samsung's SGH-i550, launched in 2007 on S60 3rd Edition, offered a side-sliding keyboard and support, targeting productivity-focused consumers in emerging markets. Symbian also supported specialized categories like enterprise communicators and early touch devices. The (2007, Series 80 on Symbian v9.2) revived the with a large internal QVGA screen, , and GPS, appealing to professionals as a PDA-phone hybrid. Touch pioneers included the (2009, Symbian^1), which featured a tilting 3.5-inch and full keyboard, pioneering slide-out displays for touch interaction despite mixed reception for its software lag. These devices collectively drove Symbian's adoption across nearly 450 million units worldwide by 2010.

Post-Discontinuation Impact and Open Source

Following the discontinuation of official Symbian development in 2014, the operating system's legacy persisted through its open-source components and community-driven initiatives. The Symbian platform's core code, including the kernel and base services, had been released under the (EPL) in February 2010, marking one of the largest codebases transitioned to at the time. This release encompassed Symbian^3 and subsequent versions, enabling developers to access and modify foundational elements without proprietary restrictions on the OS kernel. In 2011, Nokia outsourced Symbian's software development and support to Accenture, transferring approximately 2,800 employees to handle ongoing maintenance through 2016. By 2012, as Accenture wound down its role, the project was effectively handed over to the open-source community, with former developers departing en masse to pursue independent efforts. The source code repositories, hosted on under the SymbianSource organization, provide public access to key modules such as the OS kernel hardware server (oss.FCL.sf.os.kernelhwsrv) and base services, though the collection remains incomplete, excluding proprietary user interfaces like S60. Post-2014, without official updates from or , community contributions sustained limited relevance. Emulators emerged as a primary tool for preserving and testing legacy applications; for instance, the open-source EKA2L1 emulator reimplements Symbian's kernel and critical servers, allowing users to run Symbian OS, N-Gage, and related software on modern desktops and Android devices. This has facilitated archival efforts and hobbyist development, enabling execution of classic apps without original hardware. Symbian's architecture also found niche applications in embedded systems beyond mobile phones. Prior to discontinuation, derivatives like the SYMBEOSE project adapted Symbian for and IoT environments, including modifications for routers and other resource-constrained devices by consortia of manufacturers and service providers. Community security efforts extended into the mid-2010s, with patches addressing vulnerabilities such as Java Runtime (JRT) protection domains and permission prompts, maintained informally until around 2017. Forks like OpenSymbian attempted to revive aspects of the platform, though adoption remained marginal in developing regions where legacy devices lingered into the 2020s. As of 2025, Symbian's legacy continues through enthusiast communities, with users running modified on legacy hardware to support modern applications such as Telegram and via ports and emulators, preserving its role in history.

References

  1. https://lpcwiki.miraheze.org/wiki/Series_60
Add your contribution
Related Hubs
User Avatar
No comments yet.