Symbian
Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. Symbian was originally developed as a proprietary software OS for PDAs in 1998 by the Symbian Ltd. consortium. 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. 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. Applications of 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. 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. Symbian^3 received the Anna and Belle updates in 2011.

The Symbian Foundation disintegrated in late 2010 and Nokia took back control of the OS development. In February 2011, Nokia, by now 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. Two months later, Nokia moved the OS to proprietary licensing, only collaborating with the Japanese OEMs and later outsourced Symbian development to Accenture. 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, and in January 2014 Nokia stopped accepting new or changed Symbian software from developers. The Nokia 808 PureView in 2012 was officially the last Symbian smartphone from Nokia. NTT DoCoMo continued releasing OPP(S) (Operator Pack Symbian, successor of MOAP) devices in Japan, which still act as middleware on top of Symbian. Phones running this include the  from Fujitsu and  from Sharp in 2014.

History

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 then (Palm OS and Windows Mobile were comparatively small players), Symbian reached as high as 67% of the global smartphone market share in 2006.

Despite its sizable market share then, Symbian was at various stages difficult to develop for: First (at around early-to-mid-2000s) due to the complexity of then the only native programming languages 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. 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.

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. 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 OSI and FSF approved EPL). The code was published under EPL on 4 February 2010; Symbian Foundation reported this event to be the largest codebase moved to Free software in history.

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. 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 and Sony Ericsson), it would transition to a licensing-only organisation; 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, Symbian was losing ground to iOS and Android quickly, eventually falling behind Android in Q42010. 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, and Symbian would be gradually phased out, together with MeeGo. 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.

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. Source code released under the original EPL remains available in third party repositories, including a full set of all public code from the project as of 7 December 2010.

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

Nokia 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.

Features

User interface
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 is now 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.

Browser

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). 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.

Multiple language support
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):

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

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.

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 Run time (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.

Application development

Qt
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). 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. Application development can either use C++ or QML.

Symbian C++
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).

Unfortunately, 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

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

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 plugin 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 plugin that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X was available.

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
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). Applications could be signed for free in 2010.

Architecture

Technology domains and packages
Symbian's design is subdivided into technology domains, each of which comprises a set of software packages. 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 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
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. 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
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:

 the integrity and security of user data is paramount
 user time must not be wasted
 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.

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

 UI Framework Layer
 Application Services Layer
 Java ME
 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.

Symbian UI variants, platforms
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.

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.
 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

* 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
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.

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.

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

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

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. By November 2007 the figure was 30 million, achieving a market share of 65% by June 2007 in the Japanese market.

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. 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.

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%.

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). Some estimates indicate that the number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million.

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.

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

Criticism
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. 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).

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

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

Malware

Symbian OS is subject to a variety of viruses, 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. 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.

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 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, 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.

Bypassing platform security
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. 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.

Version history

List of devices

See also

General
 Bada
 Nokia Ovi suite
 Nokia PC Suite, software package used to establish an interface between Nokia mobile devices and computers running Microsoft Windows operating system; not limited to Symbian
 Nokia Software Updater
 Ovi store Nokia's application store on the Internet, not limited to Symbian

Development-related
 Accredited Symbian Developer
 Carbide.c++, alternative application and OS development IDE
 Cleanup stack
 P.I.P.S. Is POSIX on Symbian
 Python for S60, alternative application development language
 Qt, preferred development tool, both for the OS and applications, not limited to Symbian
 Qt Creator IDE
 Qt Quick
 QML, JavaScript based language
 MBM (file format)

References

Bibliography

External links
 Symbian foundation blog (which the homepage redirects to)
 Symbian on Ohloh

Symbian^3 EPL source
 Most complete Symbian Open Source archive
 wildducks – Beagleboard port of Symbian S^3
 Symaptic – C-Make build system Symbian Mercurial Repository (Windows platform)

Discontinued operating systems
Discontinued software
 
Accenture
ARM operating systems
Embedded operating systems
History of software
Microkernel-based operating systems
Mobile operating systems
Nokia platforms
Real-time operating systems
Smartphones
Microkernels