Symbian
Encyclopedia
Symbian is a mobile operating system
(OS) and computing platform designed for smartphone
s and currently maintained by Accenture
. The Symbian platform is the successor to Symbian OS
and Nokia Series 60
; unlike Symbian OS, which needed an additional user interface
system, Symbian includes a user interface component based on S60 5th Edition. The latest version, Symbian^3, was officially released in Q4 2010, first used in the Nokia N8
. In May 2011 an update, Symbian Anna, was officially announced, followed by Symbian Belle in August 2011.
Symbian OS was originally developed by Symbian Ltd.
It is a descendant of Psion's EPOC and runs exclusively on ARM
processors
, although an unreleased x86 port existed.
Some estimates indicate that the cumulative number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million.
By April 5, 2011, Nokia released Symbian under a new license and converted to a proprietary shared-source model as opposed to an open source project.
On February 11, 2011, Nokia announced that it would migrate away from Symbian to Windows Phone 7
. In June 22, 2011 Nokia has made an agreement with Accenture
as an outsourcing program. Accenture will provide Symbian based software development and support services to Nokia through 2016 and about 2,800 Nokia employees will be Accenture employees at early October 2011. The transfer was completed on September 30, 2011.
, NTT DoCoMo
, Sony Ericsson
and Symbian Ltd.
, including Symbian OS assets at its core, the S60
platform, and parts of the UIQ
and MOAP(S)
user interfaces.
In December 2008, Nokia bought Symbian Ltd.
, the company behind Symbian OS; consequently, 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 has been maintaining 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 Eclipse Public License (EPL)
. The code was published under EPL
on 4 February 2010; Symbian Foundation reported this event to be the largest codebase transitioned to Open Source 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.
In November 2010, the Symbian Foundation announced that due to a lack of support from funding members, it would transition to a licensing-only organisation; Nokia announced it would take over the stewardship of the Symbian platform. Symbian Foundation will remain the trademark holder and licensing entity and will only have non-executive directors involved.
On February 11, 2011, Nokia announced a partnership with Microsoft
which would see it adopt Windows Phone 7
for smartphones, reducing the number of devices running Symbian over the coming two years. As a consequence, the use of the Symbian platform for building mobile applications dropped rapidly. A June 2011 research indicated that over 39% of mobile developers using Symbian at the time of publication, were planning to abandon the platform.
By April 5, 2011, Nokia ceased to open source any portion of the Symbian software and reduced its collaboration to a small group of pre-selected partners in Japan. Source code released under the EPL remains available in third party repositories.
Symbian^1, being the first release, forms the basis for the platform. It incorporates Symbian OS and S60
5th Edition (which is built on Symbian OS 9.4) and thus it was not made available in open source
.
Symbian^2 was the first royalty-free version of Symbian. While portions of Symbian^2 are EPL licensed, most of the source code is under the proprietary SFL license and available only to members of the Symbian Foundation. On June 1, 2010, a number of Japanese companies including DoCoMo and Sharp announced smartphones using Symbian^2.
Symbian^3 was announced on 15 February 2010. It was designed to be a more ‘next generation’ smartphone platform. The Symbian^3 release introduced new features like a new 2D and 3D graphics architecture, UI improvements, and support for external displays via HDMI. It has single tap menus and up to three customizable homescreens. The Symbian^3 SDK (Software Development Kit) was released September 2010.
Ten smartphones with the Symbian^3 operating system (or its updated Anna and Belle variants) have been released so far; the Nokia N8
, Nokia C6-01
, Nokia E7-00
, Nokia C7-00
, Nokia E6
, Nokia X7, Nokia 500
, Nokia 603, Nokia 700
, and Nokia 701
. An eleventh (the Nokia 600) was announced but cancelled before release.
Symbian^4 was expected to be released in the first half of 2011. However, Nokia announced in October 2010 that Symbian^4 will not ship in a separate release. Instead, many of the UI enhancements planned for Symbian^4 will be released as updates to Symbian^3.
Symbian Anna is an update to Symbian^3, released by Nokia in April 2011 as part of the launch of the X7 and E6 smartphones. Symbian Anna includes such improvements as a new browser, a virtual keyboard
in portrait orientation, new icons and real-time homescreen scrolling. On August 18, 2011, Nokia made the Symbian Anna update available for owners of the N8, E7, C7 and C6-01 models as a software update (via OTA update
and the Nokia Software Updater
/Nokia Ovi Suite
PC applications).
Symbian Belle is an update to Symbian Anna. In the summer of 2011 videos showing an early leaked version of Belle running on a Nokia N8
were published on YouTube. On August 24, 2011, Nokia announced Belle officially for four new smartphones, the Nokia 600, Nokia 603, Nokia 700
, and Nokia 701
. They also announced that Belle would be coming to all existing Symbian^3 devices in the fourth quarter of 2011. Symbian 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.
In late 2011, a leaked photograph taken at the Nokia Developer Day event in Mexico purportedly revealed the next two versions of Symbian. Apparently, Nokia is to follow the alphabetical naming convention of recent Symbian releases. According to the photograph, Symbian Carla will include a new browser application, enhanced NFC features, and support for Dolby
Surround sound processing, while Symbian Donna will be the first Symbian release to support dual-core processors.
). 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; a preview was released in January 2010, however in October 2010 Nokia announced that Orbit/UIEMO has been cancelled.
Nokia currently recommends that developers use Qt Quick
with QML
, the new high-level GUI and scripting framework for creating visually rich touchscreen interfaces that allows development for both Symbian and MeeGo
; it will 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) will be deprecated and no longer included with new devices at some point, thus breaking binary compatibility with older S60 applications.
based browser; indeed, 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.
or Carbide. Qt supports the older Symbian S60 3rd and 5th editions, 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
or Java ME.
Symbian OS previously used a Symbian specific C++ version along with 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.
, 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
.
(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 harder to implement than in other environments. Moreover, it was questionable whether these techniques, such as the memory management paradigm, were actually beneficial. It is possible that the techniques, developed for the much more restricted mobile hardware of the 1990s, simply caused unnecessary complexity in source code because programmers are needed to concentrate on low-level routines 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.
, 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/1/10 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 OS development is also possible on Linux
and Mac OS X
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.
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.
) 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.
, 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:
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 ROM-based systems (e.g. features like XIP and re-entrancy in shared libraries). Applications, and the OS itself, follow an object-oriented design: 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 disk space, though disks on Symbian devices are usually flash memory
. 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.
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 filesystem
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 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 codec
s). 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.
running the OS was shipped. As of 21 July 2009, more than 250 million devices running Symbian OS had been shipped.
User interfaces that run on or are based on Symbian OS include:
Versions that are actively marketed as of September 2011 are Symbian^3 (and its updated Symbian Anna and Symbian Belle variants), Symbian^2, Symbian^1 (previously known as Series 60 5th Edition), and Series 60 3rd Edition Feature Pack 2. For features of older versions, see history of Symbian
. Note that the operating system supporting a certain feature does not imply that all devices running on it have that feature available, especially if it involves expensive hardware, such as HDMI
output.
* manufactured by Fujitsu
† manufactured by Sharp
having 16%, and Apple having 15.7% (via iOS).
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%. Other competitors include webOS, Qualcomm
's BREW, SavaJe
, Linux
and MontaVista Software.
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.
Despite this growth in shipment numbers, Symbian has lost a considerable amount of market share in recent years. It has fallen from holding as much as 73% of the smartphone market during 2006 to accounting for 22.1% of the market in the second quarter of 2011. Over the course of 2009–2011, Nokia
, Motorola
, Samsung
, LG
, and Sony Ericsson
announced their withdrawal from Symbian in favour of alternative platforms including Google's Android, Microsoft's Windows Phone
, and Samsung's bada
.
Early versions of the firmware for the original Nokia N97
, running on Symbian^1/Series 60 5th Edition have been heavily criticized.
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.
. Usually these send themselves from phone to phone by Bluetooth. So far, none have taken advantage of any flaws in Symbian OS – instead, they have all asked the user whether they would like to install the software, with somewhat prominent warnings that it can't be trusted.
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 have 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.
A new form of malware threat to Symbian OS in form of 'cooked firmware' was recently demonstrated at the International Malware Conference, MalCon
, December 2010, by Indian hacker Atul Alex.
posed by mobile viruses as unsigned code
can be executed.
Mobile operating system
A mobile operating system, also known as a mobile OS, mobile software platform or a handheld operating system, is the operating system that controls a mobile device or information appliance—similar in principle to an operating system such as Windows, Mac OS X, or Linux distributions that controls a...
(OS) and computing platform designed for smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
s and currently maintained by Accenture
Accenture
Accenture plc is a global management consulting, technology services and outsourcing company headquartered in Dublin, Republic of Ireland. It is the largest consulting firm in the world and is a Fortune Global 500 company. As of September 2011, the company had more than 236,000 employees across...
. The Symbian platform is the successor to Symbian OS
History of Symbian
Symbian OS was one of Nokia's mobile operating systems for mobile devices and smartphones, with associated libraries, user interface, frameworks and reference implementations of common tools, originally developed by Symbian Ltd...
and Nokia Series 60
S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
; unlike Symbian OS, which needed an additional user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
system, Symbian includes a user interface component based on S60 5th Edition. The latest version, Symbian^3, was officially released in Q4 2010, first used in the Nokia N8
Nokia N8
The Nokia N8 is a Symbian^3 smartphone of the Nokia Nseries and Nokia's flagship device of 2010. It was released on 23 September 2010 at the Nokia Online Store before being released in markets around the world on 1 October 2010. The N8 features a 12 megapixel camera, a pentaband 3.5G radio and...
. In May 2011 an update, Symbian Anna, was officially announced, followed by Symbian Belle in August 2011.
Symbian OS was originally developed by Symbian Ltd.
Symbian Ltd.
Symbian Ltd. was a software development and licensing company, known for the Symbian OS, a smartphone operating system, and other related technologies...
It is a descendant of Psion's EPOC and runs exclusively on ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...
processors
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
, although an unreleased x86 port existed.
Some estimates indicate that the cumulative number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million.
By April 5, 2011, Nokia released Symbian under a new license and converted to a proprietary shared-source model as opposed to an open source project.
On February 11, 2011, Nokia announced that it would migrate away from Symbian to Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
. In June 22, 2011 Nokia has made an agreement with Accenture
Accenture
Accenture plc is a global management consulting, technology services and outsourcing company headquartered in Dublin, Republic of Ireland. It is the largest consulting firm in the world and is a Fortune Global 500 company. As of September 2011, the company had more than 236,000 employees across...
as an outsourcing program. Accenture will provide Symbian based software development and support services to Nokia through 2016 and about 2,800 Nokia employees will be Accenture employees at early October 2011. The transfer was completed on September 30, 2011.
History
The Symbian platform was created by merging and integrating software assets contributed by NokiaNokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...
, NTT DoCoMo
NTT DoCoMo
is the predominant mobile phone operator in Japan. The name is officially an abbreviation of the phrase, "do communications over the mobile network", and is also from a compound word dokomo, meaning "everywhere" in Japanese. Docomo provides phone, video phone , i-mode , and mail services...
, Sony Ericsson
Sony Ericsson
Sony Ericsson Mobile Communications AB is a joint venture established on October 1, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to manufacture mobile phones....
and Symbian Ltd.
Symbian Ltd.
Symbian Ltd. was a software development and licensing company, known for the Symbian OS, a smartphone operating system, and other related technologies...
, including Symbian OS assets at its core, the S60
S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
platform, and parts of the UIQ
UIQ
UIQ by UIQ Technology is a software platform based upon Symbian OS. Essentially this is a graphical user interface layer that provides additional components to the core OS, to enable the development of feature-rich mobile phones that are open to expanded capabilities through third-party...
and MOAP(S)
MOAP
MOAP is the software platform for NTT DoCoMo's FOMA service for mobile phones. -Versions:There are two versions of MOAP:...
user interfaces.
In December 2008, Nokia bought Symbian Ltd.
Symbian Ltd.
Symbian Ltd. was a software development and licensing company, known for the Symbian OS, a smartphone operating system, and other related technologies...
, the company behind Symbian OS; consequently, 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 has been maintaining 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
Open Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...
- and FSF
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
-approved Eclipse Public License (EPL)
Eclipse Public License
The Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....
. The code was published under EPL
Eclipse Public License
The Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....
on 4 February 2010; Symbian Foundation reported this event to be the largest codebase transitioned to Open Source 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
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
was limited to member companies only, although membership was open to any organisation.
In November 2010, the Symbian Foundation announced that due to a lack of support from funding members, it would transition to a licensing-only organisation; Nokia announced it would take over the stewardship of the Symbian platform. Symbian Foundation will remain the trademark holder and licensing entity and will only have non-executive directors involved.
On February 11, 2011, Nokia announced a partnership with Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
which would see it adopt Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
for smartphones, reducing the number of devices running Symbian over the coming two years. As a consequence, the use of the Symbian platform for building mobile applications dropped rapidly. A June 2011 research indicated that over 39% of mobile developers using Symbian at the time of publication, were planning to abandon the platform.
By April 5, 2011, Nokia ceased to open source any portion of the Symbian software and reduced its collaboration to a small group of pre-selected partners in Japan. Source code released under the EPL remains available in third party repositories.
Version history
Symbian releases are styled Symbian^1, Symbian^2 etc. (vocalised as "Symbian one", "Symbian two").Symbian^1, being the first release, forms the basis for the platform. It incorporates Symbian OS and S60
S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
5th Edition (which is built on Symbian OS 9.4) and thus it was not made available in open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
.
Symbian^2 was the first royalty-free version of Symbian. While portions of Symbian^2 are EPL licensed, most of the source code is under the proprietary SFL license and available only to members of the Symbian Foundation. On June 1, 2010, a number of Japanese companies including DoCoMo and Sharp announced smartphones using Symbian^2.
Symbian^3 was announced on 15 February 2010. It was designed to be a more ‘next generation’ smartphone platform. The Symbian^3 release introduced new features like a new 2D and 3D graphics architecture, UI improvements, and support for external displays via HDMI. It has single tap menus and up to three customizable homescreens. The Symbian^3 SDK (Software Development Kit) was released September 2010.
Ten smartphones with the Symbian^3 operating system (or its updated Anna and Belle variants) have been released so far; the Nokia N8
Nokia N8
The Nokia N8 is a Symbian^3 smartphone of the Nokia Nseries and Nokia's flagship device of 2010. It was released on 23 September 2010 at the Nokia Online Store before being released in markets around the world on 1 October 2010. The N8 features a 12 megapixel camera, a pentaband 3.5G radio and...
, Nokia C6-01
Nokia C6-01
The Nokia C6-01 is a Symbian^3 smartphone from the Nokia Cseries. The C6-01 display features comes with a 3.2in AMOLED display with capacitive touchscreen capabilities and Nokia's ClearBlack technology for improved outdoor visibility...
, Nokia E7-00
Nokia E7-00
The Nokia E7-00, also known as Nokia E7, is a business-oriented QWERTY smartphone by Nokia from the Nokia Eseries It was announced at Nokia world in September 2010 together with the Nokia C6-01 and Nokia C7 and started shipping in February 2011...
, Nokia C7-00
Nokia C7-00
The Nokia C7-00 is a Symbian^3 smartphone from the Nokia Cseries. The C7-00 features a , 640 x 360 pixel capacitive touchscreen...
, Nokia E6
Nokia E6
The Nokia E6-00 is a smartphone based on the Symbian^3 "Anna" operating system made by Nokia. It supersedes the Nokia E72 as the new Symbian business mobility solution from Nokia....
, Nokia X7, Nokia 500
Nokia 500
The Nokia 500 is a Symbian Anna smartphone. It was made available in Q3 2011, with some models planned to be released in Q4.-References:*...
, Nokia 603, Nokia 700
Nokia 700
The Nokia 700 is a Symbian Belle ultra slim smart phone, announced on 24 August 2011. It was released in September 2011.-References:...
, and Nokia 701
Nokia 701
The Nokia 701 is a multi-touch Symbian Belle smartphone released in Q4 2011. It has a very bright and robust 3.5" IPS-LCD display with 640 x 360 pixels. The brightness of the display is 1000 nits and the used Gorilla Glass makes the display very robust. Nokia announced the phone on 24 August...
. An eleventh (the Nokia 600) was announced but cancelled before release.
Symbian^4 was expected to be released in the first half of 2011. However, Nokia announced in October 2010 that Symbian^4 will not ship in a separate release. Instead, many of the UI enhancements planned for Symbian^4 will be released as updates to Symbian^3.
Symbian Anna is an update to Symbian^3, released by Nokia in April 2011 as part of the launch of the X7 and E6 smartphones. Symbian Anna includes such improvements as a new browser, a virtual keyboard
Virtual keyboard
A virtual keyboard is a software component that allows a user to enter characters. A virtual keyboard can usually be operated with multiple input devices, which may include a touchscreen, an actual keyboard and a computer mouse.- Types :...
in portrait orientation, new icons and real-time homescreen scrolling. On August 18, 2011, Nokia made the Symbian Anna update available for owners of the N8, E7, C7 and C6-01 models as a software update (via OTA update
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...
and the Nokia Software Updater
Nokia Software Updater
Nokia Software Updater is a Windows based application from Nokia that enables customers to update and recover their mobile device firmware of a recent Series 40 or S60 device from any Internet enabled access point....
/Nokia Ovi Suite
Nokia Ovi Suite
Nokia Suite is an application for Nokia users to connect their devices with Microsoft Windows.-Overview:Nokia Suite can synchronize contacts, calendar, messages, photos, videos and music between a Nokia device and a PC...
PC applications).
Symbian Belle is an update to Symbian Anna. In the summer of 2011 videos showing an early leaked version of Belle running on a Nokia N8
Nokia N8
The Nokia N8 is a Symbian^3 smartphone of the Nokia Nseries and Nokia's flagship device of 2010. It was released on 23 September 2010 at the Nokia Online Store before being released in markets around the world on 1 October 2010. The N8 features a 12 megapixel camera, a pentaband 3.5G radio and...
were published on YouTube. On August 24, 2011, Nokia announced Belle officially for four new smartphones, the Nokia 600, Nokia 603, Nokia 700
Nokia 700
The Nokia 700 is a Symbian Belle ultra slim smart phone, announced on 24 August 2011. It was released in September 2011.-References:...
, and Nokia 701
Nokia 701
The Nokia 701 is a multi-touch Symbian Belle smartphone released in Q4 2011. It has a very bright and robust 3.5" IPS-LCD display with 640 x 360 pixels. The brightness of the display is 1000 nits and the used Gorilla Glass makes the display very robust. Nokia announced the phone on 24 August...
. They also announced that Belle would be coming to all existing Symbian^3 devices in the fourth quarter of 2011. Symbian Belle adds to the Anna improvements with a pull-down status/notification bar, deeper near field communication
Near Field Communication
Near field communication, or NFC, allows for simplified transactions, data exchange, and wireless connections between two devices in proximity to each other, usually by no more than a few centimeters. It is expected to become a widely used system for making payments by smartphone in the United States...
integration, free-form re-sizable homescreen widgets, and six homescreens instead of the previous three.
In late 2011, a leaked photograph taken at the Nokia Developer Day event in Mexico purportedly revealed the next two versions of Symbian. Apparently, Nokia is to follow the alphabetical naming convention of recent Symbian releases. According to the photograph, Symbian Carla will include a new browser application, enhanced NFC features, and support for Dolby
Dolby Laboratories
Dolby Laboratories, Inc. , often shortened to Dolby Labs, is an American company specializing in audio noise reduction and audio encoding/compression.-History:...
Surround sound processing, while Symbian Donna will be the first Symbian release to support dual-core processors.
User interface
Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly known as Series 60S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
). 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; a preview was released in January 2010, however in October 2010 Nokia announced that Orbit/UIEMO has been cancelled.
Nokia currently recommends that developers use Qt Quick
Qt Quick
Qt Quick is a framework that provides a declarative way of building custom, highly dynamic user interfaces with fluid transitions and effects, which are becoming more and more common especially in mobile devices....
with QML
QML
QML is a JavaScript-based, declarative language for designing user interface–centric applications. It is part of Qt Quick, the UI creation kit developed by Nokia within the Qt framework...
, the new high-level GUI and scripting framework for creating visually rich touchscreen interfaces that allows development for both Symbian and MeeGo
MeeGo
MeeGo is a Linux-based open source mobile operating system project. Primarily targeted at mobile devices and information appliances in the consumer electronics market, MeeGo is designed to act as an operating system for hardware platforms such as netbooks, entry-level desktops, nettops, tablet...
; it will 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) will 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 native WebKitWebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...
based browser; indeed, Symbian was the first mobile platform to make use of WebKit (in June 2005). Some older Symbian models have Opera Mobile
Opera Mobile
Opera Mobile is a web browser for smartphones and PDA's developed by the Opera Software company. The first version was released in 2000 for the Psion Series 7 and netBook. Today, it is available for a variety of devices that run on Android, S60, Windows Mobile, Maemo , and MeeGo...
as their default browser.
Nokia released a new browser with the release of Symbian Anna with improved speed and an improved user interface.
Application development
From 2010, Symbian switched to using standard C++ with Qt as the SDK, which can be used with either Qt CreatorQt Creator
Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and autocompletion, but not tabs. Qt Creator uses the C++ compiler...
or Carbide. Qt supports the older Symbian S60 3rd and 5th editions, as well as the new Symbian platform. It also supports Maemo
Maemo
Maemo is a software platform developed by the Maemo community for smartphones and Internet tablets. It is based on the Debian Linux distribution, but has no relation to it...
and MeeGo
MeeGo
MeeGo is a Linux-based open source mobile operating system project. Primarily targeted at mobile devices and information appliances in the consumer electronics market, MeeGo is designed to act as an operating system for hardware platforms such as netbooks, entry-level desktops, nettops, tablet...
, Windows, Linux and Mac OS X.
Alternative application development can be done using Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
(see Python for S60
Python for S60
The Python for S60 also called PyS60 , is Nokia’s port of the general Python programming language to its S60 software platform, originally based on Python 2.2.2 from 2002....
), Adobe Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
or Java ME.
Symbian OS previously used a Symbian specific C++ version along with Carbide.c++
Carbide.c++
Carbide.c++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is...
integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
(IDE) as the native application development environment.
Web Runtime (WRT) is a portable application framework that allows creating widgets
Software widget
A software widget is a generic type of software application comprising portable code intended for one or more different software platforms. The term often implies that either the application, user interface, or both, are light, meaning relatively simple and easy to use, as exemplified by a desk...
on the S60 Platform
S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
; it is an extension to the S60 WebKit
WebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...
based browser that allows launching multiple browser instances as separate JavaScript applications.
Qt
As of 2010, the SDK for Symbian is standard C++, using Qt. It can be used with either Qt CreatorQt Creator
Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and autocompletion, but not tabs. Qt Creator uses the C++ compiler...
, 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
QML
QML is a JavaScript-based, declarative language for designing user interface–centric applications. It is part of Qt Quick, the UI creation kit developed by Nokia within the Qt framework...
.
Symbian C++
It is also 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 kitSoftware development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...
(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
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
(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
Application binary interface
In computer software, an application binary interface describes the low-level interface between an application program and the operating system or another application.- Description :...
(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
Learning curve
A learning curve is a graphical representation of the changing rate of learning for a given activity or tool. Typically, the increase in retention of information is sharpest after the initial attempts, and then gradually evens out, meaning that less and less new information is retained after each...
, 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 harder to implement than in other environments. Moreover, it was questionable whether these techniques, such as the memory management paradigm, were actually beneficial. It is possible that the techniques, developed for the much more restricted mobile hardware of the 1990s, simply caused unnecessary complexity in source code because programmers are needed to concentrate on low-level routines 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
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
(IDE). For earlier versions of Symbian OS, the commercial IDE CodeWarrior
CodeWarrior
CodeWarrior is an integrated development environment for the creation of software that runs on a number of embedded systems. Prior to the acquisition of the product by Freescale Semiconductor, versions existed for Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2, Nintendo GameCube,...
for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++
Carbide.c++
Carbide.c++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is...
, an Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
-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
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...
2003 and 2005 are also supported via the Carbide.vs plugin.
Other languages
Symbian devices can also be programmed using PythonPython (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
, Java ME
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...
, Flash Lite, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
, .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
, Web Runtime (WRT) Widgets and Standard C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
/C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
.
Visual Basic programmers can use NS Basic
NS Basic
NS Basic is a family of development tools for the BASIC programming language developed and commercially marketed by NS BASIC Corporation in Toronto, Canada for iOS, Android, BlackBerry OS, Newton OS, Palm OS, Windows CE, Windows Mobile and Microsoft Windows....
to develop apps for S60 3rd Edition and UIQ 3 devices.
In the past, Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
, Visual Basic .NET
Visual Basic .NET
Visual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...
, and C# development for Symbian were possible through AppForge
AppForge
AppForge, Inc. was a software company headquartered in Atlanta, Georgia, providing mobile application development services as well as CrossFire, a software tool simplifying mobile applications for Symbian, Windows Mobile, RIM BlackBerry, and Palm OS...
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/1/10 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
Borland
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...
IDE for Symbian OS. Symbian OS development is also possible on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
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
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...
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
Sun Java Wireless Toolkit
The Sun Java Wireless Toolkit is a state-of-the-art toolbox for developing wireless applications that are based on JavaME's Connected Limited Device Configuration and Mobile Information Device Profile , and designed to run on cell phones, mainstream personal digital assistants, and other...
(formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans
NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...
. Other tools include SuperWaba
SuperWaba
SuperWaba is a discontinued Java-like virtual machine that targets portable devices. Software developers use application programming interfaces , accessed through associated libraries and small tools , to create applications that can run within the VM on supported platforms.-Architecture:The...
, which can be used to build Symbian 7.0 and 7.0s programs using Java.
Nokia S60 phones can also run Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
scripts when the interpreter Python for S60
Python for S60
The Python for S60 also called PyS60 , is Nokia’s port of the general Python programming language to its S60 software platform, originally based on Python 2.2.2 from 2002....
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 in order to make use of certain capabilities (system capabilities, restricted capabilities and device manufacturer capabilities). Applications can now be signed for free.Technology domains and packages
Symbian's design is subdivided into technology domains, each of which comprises a number 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 (EKA2EKA2
EKA2 is the second-generation Symbian platform kernel.Like its predecessor, EKA1, it has pre-emptive multithreading and full memory protection...
) 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
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
and the signalling stack. The real-time kernel has a microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
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
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...
, memory management
Memory management
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to the computer system.Several...
and device drivers, with networking, telephony and file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
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 protectionMemory protection
Memory protection is a way to control memory access rights on a computer, and is a part of most modern operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug within a process from affecting...
, like other operating systems (especially those created for use on desktop computers). EPOC's approach to multitasking was inspired by VMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
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
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
, 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 ROM-based systems (e.g. features like XIP and re-entrancy in shared libraries). Applications, and the OS itself, follow an object-oriented design: Model-view-controller (MVC)
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
.
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
File descriptor
In computer programming, a file descriptor is an abstract indicator for accessing a file. The term is generally used in POSIX operating systems...
and a cleanup stack
Cleanup stack
Cleanup Stack is a concept widely used in Symbian OS. It is most suitable to use in places where dynamic memory is used in programming. The problem with dynamic memory is the sole discretion of the underlying OS whether the request for memory allocation shall succeed or not. Applications must be...
. Similar methods exist to conserve disk space, though disks on Symbian devices are usually flash memory
Flash memory
Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
. Further, all Symbian programming is event-based, and the central processing unit
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
(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
Active objects
An active object framework is a callback-based form of multitasking for computer systems. Specifically, it is a form of cooperative multitasking and is an important feature of the Symbian operating system....
. 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 FrameworkSoftware frameworkIn computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
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
File server
In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for shared disk access, i.e. shared storage of computer files that can be accessed by the workstations that are attached to the computer network...
and User Library, a Plug-In Framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
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
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
architecture, which means that the minimum necessary is within the kernel to maximise robustness, availability and responsiveness. It contains a scheduler
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...
, memory management
Memory management
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to the computer system.Several...
and device drivers, but other services like networking, telephony and filesystem
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
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
EKA2
EKA2 is the second-generation Symbian platform kernel.Like its predecessor, EKA1, it has pre-emptive multithreading and full memory protection...
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 FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
as the internal file system, and this remains, but an object-oriented persistence model was placed over the underlying FAT to provide a POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
-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
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
, IrDA
IRDA
IRDA may refer to:* Infrared Data Association, in information and communications technology , a standard for communication between devices over short distances using infrared signals...
and USB.
There is also a large volume of user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
(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
SyncML
SyncML is the former name for a platform-independent information synchronization standard. The project is currently referred to as Open Mobile Alliance Data Synchronization and Device Management...
, Java ME
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...
providing another set of APIs on top of most of the OS and multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
. Many of these are frameworks, and vendors are expected to supply plug-ins to these frameworks from third parties (for example, Helix Player
Helix project
Helix DNA is a project to produce software that can play audio and video media in various formats, aid in producing such media, and serve them over a network. It is intended as a largely free and open source digital media framework that runs on numerous operating systems and processors and was...
for multimedia codec
Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
s). 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.
Devices and feature comparison
On 16 November 2006, the 100 millionth smartphoneSmartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
running the OS was shipped. As of 21 July 2009, more than 250 million devices running Symbian OS had been shipped.
- The Nokia S60S60 (software platform)The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
interface is used in various phones, the first being the Nokia 7650Nokia 7650The Nokia 7650 is a smartphone belonging to the fashion and experimental series. The phone was released on the second quarter of 2002 for around 600€. It was notable for a number of firsts: first Nokia smartphone with the Symbian OS ; first Series 60 ) platform device; first Nokia with built-in...
. The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone combos are also S60 platform devices. It was also used on other manufacturers' phones such as the Siemens SX1Siemens SX1The Siemens SX1 is a GSM mobile phone running version 1.2 of the Series 60 platform for the Symbian OS. It is the first such smartphone from the German phone manufacturer Siemens AG following their licensing agreement with Nokia for the use and development of Series 60...
and SamsungSamsungThe Samsung Group is a South Korean multinational conglomerate corporation headquartered in Samsung Town, Seoul, South Korea...
SGH-Z600. Recently, more advanced devices using S60 include the Nokia 6xxx, the NseriesNokia NseriesNokia Nseries is a multimedia smartphone product family which is engineered and marketed by the Nokia Corporation.The Nseries devices are known to commonly support multiple high-speed wireless technologies, such as 3G, or Wireless LAN....
(except Nokia N8xx and N9xx), the EseriesNokia EseriesThe Nokia Eseries consists of business-oriented smartphones, with emphasis on enhanced connectivity and support for corporate e-mail push services. All devices have advanced office features...
and some models of the Nokia XpressMusicXpressMusicXpressMusic is a brand name for a line of Nokia phones that are specially designed for music playback.All of Nokia's XpressMusic come with expandable MicroSD memory slots, so these phones can also be used as MP3 players....
mobiles. - FujitsuFujitsuis a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....
, MitsubishiMitsubishi Electricis a multinational electronics and information technology company headquartered in Tokyo, Japan. It is one of the core companies of the Mitsubishi Group....
, Sony EricssonSony EricssonSony Ericsson Mobile Communications AB is a joint venture established on October 1, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to manufacture mobile phones....
and SharpSharp Corporationis a Japanese multinational corporation that designs and manufactures electronic products. Headquartered in Abeno-ku, Osaka, Japan, Sharp employs more than 55,580 people worldwide as of June 2011. The company was founded in September 1912 and takes its name from one of its founder's first...
developed phones for NTT DoCoMoNTT DoCoMois the predominant mobile phone operator in Japan. The name is officially an abbreviation of the phrase, "do communications over the mobile network", and is also from a compound word dokomo, meaning "everywhere" in Japanese. Docomo provides phone, video phone , i-mode , and mail services...
in Japan, using an interface developed specifically for DoCoMo's FOMAFomaFoma may refer to:* FOMA , a Japanese mobile telecommunications service* Sergei Fomenko, nicknamed "Foma", Ukrainian musician...
"Freedom of Mobile Access" network brand. This UI platform is called MOAPMOAPMOAP is the software platform for NTT DoCoMo's FOMA service for mobile phones. -Versions:There are two versions of MOAP:...
"Mobile Oriented Applications Platform" and is based on the UI from earlier Fujitsu FOMA models. The user cannot install new C++ applications.
User interfaces that run on or are based on Symbian OS include:
- S60S60 (software platform)The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
, formerly Series 60, used by Nokia and others - Series 80, previously used by Nokia
- Series 90, previously used by Nokia
- UIQUIQUIQ by UIQ Technology is a software platform based upon Symbian OS. Essentially this is a graphical user interface layer that provides additional components to the core OS, to enable the development of feature-rich mobile phones that are open to expanded capabilities through third-party...
, previously used by Sony-Ericsson - MOAPMOAPMOAP is the software platform for NTT DoCoMo's FOMA service for mobile phones. -Versions:There are two versions of MOAP:...
, Mobile Oriented Applications Platform, used by NTT DoCoMoNTT DoCoMois the predominant mobile phone operator in Japan. The name is officially an abbreviation of the phrase, "do communications over the mobile network", and is also from a compound word dokomo, meaning "everywhere" in Japanese. Docomo provides phone, video phone , i-mode , and mail services...
's FOMAFomaFoma may refer to:* FOMA , a Japanese mobile telecommunications service* Sergei Fomenko, nicknamed "Foma", Ukrainian musician...
service
Versions that are actively marketed as of September 2011 are Symbian^3 (and its updated Symbian Anna and Symbian Belle variants), Symbian^2, Symbian^1 (previously known as Series 60 5th Edition), and Series 60 3rd Edition Feature Pack 2. For features of older versions, see history of Symbian
History of Symbian
Symbian OS was one of Nokia's mobile operating systems for mobile devices and smartphones, with associated libraries, user interface, frameworks and reference implementations of common tools, originally developed by Symbian Ltd...
. Note that the operating system supporting a certain feature does not imply that all devices running on it have that feature available, especially if it involves expensive hardware, such as HDMI
HDMI
HDMI is a compact audio/video interface for transmitting uncompressed digital data. It is a digital alternative to consumer analog standards, such as radio frequency coaxial cable, composite video, S-Video, SCART, component video, D-Terminal, or VGA...
output.
Feature | Symbian^3/Anna/Belle | Symbian^2 | Symbian^1/Series 60 5th Edition | Series 60 3rd Edition Feature Pack 2 | Series 80 |
---|---|---|---|---|---|
| 2010 (Symbian^3), 2011 (Symbian Anna, Belle) | |||||
> Symbian Foundation | |||||
| 9.5 (Symbian^3) | |||||
> 5.2 (Symbian^3) | |||||
> | |||||
> | |||||
> Three to eight (Five on Nokia E6 | |||||
Wi-Fi Wi-Fi Wi-Fi or Wifi, is a mechanism for wirelessly connecting electronic devices. A device enabled with Wi-Fi, such as a personal computer, video game console, smartphone, or digital audio player, can connect to the Internet via a wireless network access point. An access point has a range of about 20... version support > B, G, N | | B, G | B, G | B, G |
|||||
| | |||||
DVB-H DVB-H DVB-H is one of three prevalent mobile TV formats. It is a technical specification for bringing broadcast services to mobile handsets. DVB-H was formally adopted as ETSI standard EN 302 304 in November 2004. The DVB-H specification can be downloaded from the official DVB-H website... support | , with extra headset | | , with extra headset | , with extra headset > , with extra headset | | , with extra headset | , with extra headset | |
|||||
Short range FM transmitter FM transmitter (personal device) An FM transmitter is a portable device that plugs into the headphone jack or proprietary output port of a portable audio or video device, such as a portable media player, CD player, or satellite radio system. The sound is then broadcast through the transmitter, and plays through an FM broadcast... support > | | | | |
|||||
> | |||||
Feature width="206" | Symbian^3/Anna/Belle width="193" | Symbian^2 width="193" | Symbian^1/Series 60 5th Edition width="189" | Series 60 3rd Edition Feature Pack 2 width="189" | Series 80 |
|||||
Adobe Flash Adobe Flash Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast... support > , Flash Lite Flash Lite Adobe Flash Lite is a lightweight version of Adobe Flash Player, a software application published by Adobe Systems. This version is intended for mobile phones and other portable electronic devices like Chumby and iRiver, and allows users of these devices to view multimedia content and applications... native version 4.0, upgradable | | , Flash Lite Flash Lite Adobe Flash Lite is a lightweight version of Adobe Flash Player, a software application published by Adobe Systems. This version is intended for mobile phones and other portable electronic devices like Chumby and iRiver, and allows users of these devices to view multimedia content and applications... native version 3.1, upgradable | , Flash Lite Flash Lite Adobe Flash Lite is a lightweight version of Adobe Flash Player, a software application published by Adobe Systems. This version is intended for mobile phones and other portable electronic devices like Chumby and iRiver, and allows users of these devices to view multimedia content and applications... native version 3.1, upgradable | |
|||||
Microsoft Silverlight Microsoft Silverlight Microsoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X... support > | | | | |
|||||
OpenGL ES OpenGL ES OpenGL for Embedded Systems is a subset of the OpenGL 3D graphics application programming interface designed for embedded systems such as mobile phones, PDAs, and video game consoles. OpenGL ES is managed by the not-for-profit technology consortium, the Khronos Group, Inc.- Versions :Several... support > , version 2.0 | | | | |
|||||
SQLite SQLite SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard... support > | | | |
|||||
> ARM | |||||
| C++ | |||||
| Eclipse Public License | |||||
| more | |||||
> .sis, .sisx | |||||
> | |||||
| | |||||
> | |||||
> | |||||
Proxy server Proxy server In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server... > | | | | |
|||||
| | |||||
> | |||||
> | |||||
Web Browser for S60 Web Browser for S60 Web Browser for S60 or the S60 OSS Browser, is the default web browser for the S60 mobile phone platform. It is the default browser for many old phones running on the Symbian mobile operating system and all new phones running on Symbian. It was developed by Nokia... , WebKit WebKit WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook... engine > version 7.2, engine version 525 (Symbian^3); 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 Nokia N79 Nokia N79 is a smartphone and a member of the Nokia Nseries multimedia smartphone family. It was officially announced by Nokia on 26 August 2008... ) | N/A |
|||||
| Ovi store | |||||
> POP3, IMAP | |||||
> | |||||
| | |||||
> USB, Bluetooth; mobile Wi-Fi hotspot, with third-party software | |||||
> Mobile Office Applications, PDF | |||||
> All | |||||
> H.263, H.264, WMV, MPEG4, MPEG4@ HD 720p 25–30 frame/s, MKV, DivX, XviD | |||||
> third-party software, free global Nokia Ovi Maps, works offline | |||||
> Nokia AV, PAL, NTSC, HDMI | |||||
> | |||||
| | |||||
> | |||||
> | |||||
> | |||||
> | |||||
| | |||||
| | |||||
Secure Shell Secure Shell Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client... (SSH) | , third-party software | | , third-party software | , third-party software > , third-party software | | , third-party software | , third-party software | |
|||||
OpenVPN OpenVPN OpenVPN is a free and open source software application that implements virtual private network techniques for creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for... > , Nokia VPN can be used | | , Nokia VPN can be used | , Nokia VPN can be used | , third-party software |
|||||
| ? | |||||
> , third-party software | |||||
> | |||||
> Cross-platform, Windows (preferred is Qt), Carbide.c++ | |||||
Symbian^3/Anna/Belle | |||||
> Nokia N8 | |||||
> Nokia N8 | |||||
Fujitsu
is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....
† manufactured by Sharp
Market share and competition
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%, RIMResearch In Motion
Research In Motion Limited or RIM is a Canadian multinational telecommunications company headquartered in Waterloo, Ontario, Canada that designs, manufactures and markets wireless solutions for the worldwide mobile communications market...
having 16%, and Apple having 15.7% (via iOS).
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
Research In Motion
Research In Motion Limited or RIM is a Canadian multinational telecommunications company headquartered in Waterloo, Ontario, Canada that designs, manufactures and markets wireless solutions for the worldwide mobile communications market...
having 20.8%, Apple having 15.1% (via iOS), Microsoft having 8.8% (via Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...
and Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...
) and Android having 4.7%. Other competitors include webOS, Qualcomm
Qualcomm
Qualcomm is an American global telecommunication corporation that designs, manufactures and markets digital wireless telecommunications products and services based on its code division multiple access technology and other technologies. Headquartered in San Diego, CA, USA...
's BREW, SavaJe
SavaJe
SavaJe was the developer of the SavaJe OS, a Java OS for advanced mobile phones.The SavaJe OS was a monolithic OS-and-Java platform, an implementation of Sun Microsystems' Java Standard Edition, as opposed to...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and MontaVista Software.
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.
Despite this growth in shipment numbers, Symbian has lost a considerable amount of market share in recent years. It has fallen from holding as much as 73% of the smartphone market during 2006 to accounting for 22.1% of the market in the second quarter of 2011. Over the course of 2009–2011, Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...
, Motorola
Motorola Mobility
Motorola Mobility Holdings, Inc. , formerly the Mobile Devices division of Motorola Inc. until January 2011, is a communications corporation headquartered in Libertyville, Illinois, a Chicago suburb. Motorola's networks division pioneered the flip phone with the StarTAC in the mid-1990s...
, Samsung
Samsung Electronics
Samsung Electronics is a South Korean multinational electronics and information technology company headquartered in Samsung Town, Seoul...
, LG
LG Electronics
LG Electronics is a global electronics and telecommunications company headquartered in Yeouido, Seoul, South Korea. The company operates its business through five divisions: mobile communications, home entertainment, home appliance, air conditioning and business solution...
, and Sony Ericsson
Sony Ericsson
Sony Ericsson Mobile Communications AB is a joint venture established on October 1, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to manufacture mobile phones....
announced their withdrawal from Symbian in favour of alternative platforms including Google's Android, Microsoft's Windows Phone
Windows Phone
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
, and Samsung's bada
Bada (operating system)
Bada is an operating system for mobile devices such as smartphones and tablet computers. It is developed by the Samsung Electronics. Its name is derived from " ", meaning "ocean" or "sea" in Korean...
.
Criticisms
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, he must call the menu, click the languages item, choose the English language between many other languages by arrow keys and then press the 'OK' button. After typing the Latin letter, the user must repeat that procedure to return to his native keyboard. This method slows down the 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 by one gesture. Finns do not need this feature because the Finnish alphabet is based on the Latin script.Early versions of the firmware for the original Nokia N97
Nokia N97
Nokia N97 is a touch screen mobile phone in the Nseries of smartphones by Nokia, with a slide-out QWERTY keyboard...
, running on Symbian^1/Series 60 5th Edition have been heavily criticized.
In November 2010, Smartphone blog All About Symbian criticized the performance of Symbian's default web browser and recommended the alternative browser Opera Mobile
Opera Mobile
Opera Mobile is a web browser for smartphones and PDA's developed by the Opera Software company. The first version was released in 2000 for the Psion Series 7 and netBook. Today, it is available for a variety of devices that run on Android, S60, Windows Mobile, Maemo , and MeeGo...
. Nokia's Senior Vice President Jo Harlow promised an updated browser in the first quarter of 2011.
Malware
Symbian OS was subject to a variety of viruses, the best known of which is CabirCaribe (computer worm)
Cabir is the name of a computer worm developed in 2004 that is designed to infect mobile phones running Symbian OS. It is believed to be the first computer worm that can infect mobile phones...
. Usually these send themselves from phone to phone by Bluetooth. So far, none have taken advantage of any flaws in Symbian OS – instead, they have all asked the user whether they would like to install the software, with somewhat prominent warnings that it can't be trusted.
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 have 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 CabirCaribe (computer worm)Cabir is the name of a computer worm developed in 2004 that is designed to infect mobile phones running Symbian OS. It is believed to be the first computer worm that can infect mobile phones...
with added MMS functionality. The two are written by the same author, and the code shares many similarities. It spreads using BluetoothBluetoothBluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
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 stick on the reboot, 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, Frontal 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 form of 'cooked firmware' was recently demonstrated at the International Malware Conference, MalCon
Malcon
MALCON is an annual information security conference focusing exclusively on malware. It aims in bringing together Malware and Information Security Researchers from across the globe to share key research insights into building and containment of the next generation malwares. Unlike most hacker...
, 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 threatThreat (computer)
In Computer security a threat is a possible danger that might exploit a vulnerability to breach security and thus cause possible harm.A threat can be either "intentional" or "accidental" In Computer security a threat is a possible danger that might exploit a vulnerability to breach security and...
posed by mobile viruses as unsigned code
Unsigned code
Unsigned code refers to an application which has not been signed with the secret key required for it to load on a console.In the video game console business, most console games have to be signed with a secret key designed by the console maker or the game will not load on the console...
can be executed.
General
- EKA2EKA2EKA2 is the second-generation Symbian platform kernel.Like its predecessor, EKA1, it has pre-emptive multithreading and full memory protection...
current Symbian kernel, successor of EKA1 - History of SymbianHistory of SymbianSymbian OS was one of Nokia's mobile operating systems for mobile devices and smartphones, with associated libraries, user interface, frameworks and reference implementations of common tools, originally developed by Symbian Ltd...
- List of Symbian devices
- MOAPMOAPMOAP is the software platform for NTT DoCoMo's FOMA service for mobile phones. -Versions:There are two versions of MOAP:...
user interface - Nokia Ovi suiteNokia Ovi SuiteNokia Suite is an application for Nokia users to connect their devices with Microsoft Windows.-Overview:Nokia Suite can synchronize contacts, calendar, messages, photos, videos and music between a Nokia device and a PC...
- Series60-RemoteSeries60-RemoteSeries60-Remote is an application to manage S60 mobile phones. It can directly send and receive SMS messages and browse files, contacts and calendar on the mobile device.It is intended to be a free crossplatform replacement for Nokia Ovi Suite.-See also:...
- Nokia PC SuiteNokia PC SuiteNokia PC Suite is a software package used to establish an interface between Nokia mobile devices and computers that run Microsoft Windows operating system.-Usage:...
, software package used to establish an interface between Nokia mobile devices and computers running Microsoft Windows operating system; not limited to Symbian - Nokia Software UpdaterNokia Software UpdaterNokia Software Updater is a Windows based application from Nokia that enables customers to update and recover their mobile device firmware of a recent Series 40 or S60 device from any Internet enabled access point....
- S60S60 (software platform)The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
, Series 60, user interface used by NokiaNokiaNokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...
and others- Web Browser for S60Web Browser for S60Web Browser for S60 or the S60 OSS Browser, is the default web browser for the S60 mobile phone platform. It is the default browser for many old phones running on the Symbian mobile operating system and all new phones running on Symbian. It was developed by Nokia...
default web browser
- Web Browser for S60
- Ovi storeOvi (Nokia)Ovi by Nokia is the brand for Nokia's Internet services. The Ovi services can be used from a mobile device, computer or via the web. Nokia focuses on five key service areas: Games, Maps, Media, Messaging and Music. Nokia's aim with Ovi is to include third party developers, such as operators and...
Nokia's application store on the Internet, not limited to Symbian - Symbian Foundation
- Symbian Ltd.Symbian Ltd.Symbian Ltd. was a software development and licensing company, known for the Symbian OS, a smartphone operating system, and other related technologies...
Development-related
- Accredited Symbian DeveloperAccredited Symbian DeveloperAccredited Symbian Developer was a now defunct accreditation program for software developers using Symbian OS, a mobile phone operating system, having been terminated in April 2011 after the closure of Symbian Foundation. The scheme was operated independently on the Foundation's behalf by Majinate...
- Active object (Symbian OS)
- Carbide.c++Carbide.c++Carbide.c++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is...
, alternative application and OS development IDEIntegrated development environmentAn integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development... - Cleanup stackCleanup stackCleanup Stack is a concept widely used in Symbian OS. It is most suitable to use in places where dynamic memory is used in programming. The problem with dynamic memory is the sole discretion of the underlying OS whether the request for memory allocation shall succeed or not. Applications must be...
- P.I.P.S. Is POSIX on SymbianP.I.P.S. Is POSIX on SymbianP.I.P.S. is a term for Symbian software libraries that means, P.I.P.S. Is POSIX on Symbian OS. It is intended to help C language programmers in migration of desktop and server middleware, applications to Symbian OS based mobile smartphone devices...
- Python for S60Python for S60The Python for S60 also called PyS60 , is Nokia’s port of the general Python programming language to its S60 software platform, originally based on Python 2.2.2 from 2002....
, alternative application development language - Qt (framework), preferred development tool, both for the OS and applications, not limited to Symbian
- Qt CreatorQt CreatorQt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and autocompletion, but not tabs. Qt Creator uses the C++ compiler...
IDE - Qt QuickQt QuickQt Quick is a framework that provides a declarative way of building custom, highly dynamic user interfaces with fluid transitions and effects, which are becoming more and more common especially in mobile devices....
- QMLQMLQML is a JavaScript-based, declarative language for designing user interface–centric applications. It is part of Qt Quick, the UI creation kit developed by Nokia within the Qt framework...
, JavaScriptJavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
based language
- Qt Creator
Symbian^3 EPL Source
External links
- Symbian foundation blog (which the homepage redirects to)
- Symbian on OhlohOhlohOhloh is a website which provides a web services suite and online community platform that aims to map the landscape of open source software development. It was founded by former Microsoft managers Jason Allen and Scott Collison in 2004 and joined by the developer Robin Luckey...
- Qt developer website
- Symbian C++ developer website