"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Symbian Mobile OS Seminar Report
1. A Seminar Report On
“SYMBIAN MOBILE OPERATING SYSTEM”
I. T. ENGINEERING
PREPARED BY:
GUIDED BY:
DARSH KOTECHA
.
HEAD OF THE DEPARTMENT:
GUJARAT TECHNOLOGICAL UNIVERSITY
2. Acknowledgement
I would like to thank sincerely to my guide Mr. Deepak Kotecha
invaluable
guidance,
constant
assistance,
support,
endurance
and
constructive suggestions for the betterment of the technical seminar.
I would like to express my deep sense of gratitude to our principal
Prof. for his continuous effort in creating a competitive environment in our
college and encouraging throughout this course.
I would like to convey my heartfelt thanks to our HOD
Prof. Subhash for giving me the opportunity to embark upon this topic and for
his
continued
encouragement
throughout
the
preparation
of
this
presentation.
I also wish to thank all the staff members of the department of
computer science & engineering for helping us directly or indirectly in
completing this work successfully.
Finally I am thankful to our parents and friends for their continued
moral and material support throughout the course and in helping me
finalize the presentation.
DARSH KOTECHA
3. Abstract
This document provides information about the Symbian
operating system, which is one of the mobile operating systems. It
provides the overview of what is the Symbian operating system?,
What are the characteristics of Symbian OS? i.e. Why we have to use
this mobile operating system?, What all Symbian base Cell-Phones
can do?, Symbian OS Architecture & Working Flow, Different Mobiles
Supports for Symbian.
Symbian is an operating system (OS) targeted at mobile
phones that offers a high-level of integration with communication
and personal information management (PIM) functionality. Symbian
OS combines middleware with wireless communications through an
integrated mailbox and the integration of Java and PIM functionality
(agenda and contacts). The Symbian OS is open for third-party
development
by
independent
software
vendors,
enterprise
departments, network operators and Symbian OS licensees
IT
4. 1. Introduction
2. Platform
2.1. Hardware
2.2. Operating System(s)
2.3. Netwerk Connectivity
2.4. Security
2.5. Future Possibilities
3. Software Development
3.1. Development Requirements
3.2. IDE and Tools
3.3. Programming Language(s)
4. Current Market Share
5. Overall Evaluation
4.1. Advantages
4.2. Limitations
4.3. Conclusion
5. Introduction
My goal was to research Symbian as complete as I possibly could in a certain amount of time and by
doing so will cover certain points. In my research I will have a brief summary of Symbian’s
background. I have shown the development behind this innovative operating system, its capabilities,
security, performance and so on. I have done research about the leading OS in the “smart mobile
device” market; I have presented a complete repot about the future possibilities, the expectations
and development, always having the other operative systems competing in the same market and the
negative repercussions that Symbian OS is already facing.
One of my first points of interest was the platform itself. I had research points like hardware,
operating systems, connectivity, security, performance and eventually future possibilities.
Next software development itself will be approached in my research. The development
requirements, the IDE and Tools and the programming language are the key points here.
As I all should know the native language of the Symbian OS is C++, there for, my research will pass
through the programming languages that can be used on Symbian.
Eventually I will have the overall evaluation, the advantages and limitations will be one of the last
points I will need to talk about, such as the fact that Symbian OS is not open source software yet,
although Nokia has decided to put its hard‐earned into the open source movement. Although
Symbian has quite an amount of disadvantages and limitations compared to other operating systems,
it also has a lot of advantages too, it’s still the most popular platform smartphone, it still has the best
smartphone features and a large global development community.
Symbian’s introduction
The smartphone operating system Symbian OS is produced by the software developer and licensing
company Symbian Ltd. Symbian Ltd was established in June 1998 and has its headquarters in
Southwark, UK, and the current CEO is Nigel Clifford.
Symbian was previously owned by Nokia, Ericsson, Sony Ericsson, Panasonic and Samsung, on the
24th of June 2008 however Nokia announced it would acquire Symbian Ltd. Now, on this day, Nokia is
the one and only owner of Symbian.
Symbian OS offers a high‐level of integration with communication and personal information
management (PIM) functionality. As a smart phone operating system, Symbian can provide many
applications and services such as; navigation, games, music playback, associated libraries, etc.
Symbian was designed for mobile devices from its earliest incarnation as EPOC32 in the Psion
Series 5.
6. Platform
2.1. Hardware
Basically the software required to develop for Symbian can be run on any computer, but to give
some requirements and numbers here is a summary:
Minimum Hardware Requirements:
CPU: 1.2GHz processor, x86 architecture
Monitor: 1024 x 768‐pixel screen, 16‐bit color
Memory: 512MB
Hard drive: 200 MB of free disk space
Recommended Hardware
CPU: 2GHz processor, x86 architecture
Monitor: 1280 x 1024‐pixel screen or better, 32‐bit color.
Memory: 1024 MB of Ram
Hard drive: 200 MB of free disk plus capacity for at least one Symbian OS SDK.
Telephone hardware requirements:
Not every telephone can support Symbian. If you want to deploy or use Symbian on a telephone
you will need to buy a Symbian able device. Every Symbian able device also has its own SDK. New
SDK’s are also frequently developed to go along with even more recent telephones.
2.2. Operating System(s)
What is needed to develop an application for Symbian? Most pc’s today are suitable for Symbian
development you just need enough memory and Windows NT, 2000 or XP. Avoid Windows Vista
for now, the ARM toolchain is not yet compatible with it.
2.3. Netwerk Connectivity
Since the development of different Symbian OS, many evolutions on the level of connectivity
appeared.
1) Epoc Release 5 :
It’s with this version that the first major evolution appeared. It’s in 2000 that the next generation
PDAs appeared including a Bluetooth successor codenamed Conan were using ER5u (where the
'u' in the name refers to the fact that it supported Unicode.
Example:
2) Symbian OS 6.0 and 6.1 (also called ER6 ):
It’s in 2002 that this version was developed. In this version, Bluetooth was added for exchanging
data over short distances from fixed and mobile devices, creating personal area networks (PANs).
7. Example: Nokia 9210.
3) Symbian OS 7.0 and 7.0s:
This version added EDGE support and IPV6.
What is the EDGE? (Enhanced Data rates for GSM Evolution)
It’s a backward‐compatible digital mobile phone technology that allows improved data
transmission rates, as an extension on top of standard GSM . It was deployed on GSM networks
beginning in 2003.
What is the IPV6?
IPV6 is the next generation Internet Layer protocol for packet–switched internetworks and the
internet. It’s in 1998 that the IETF (the Internet Engineering Task Force) designated IPV6 as the
successor to version 4.
What are the differences with the IPV4?
-
IPV6 has a much larger address space than IPV4.
IPV6 use 128 bit address, where IPV4 uses only 32 bits.
This expansion provides flexibility in allocating address and routing traffic and eliminates the
need for NAT (network address translation).
4) Symbian OS 8.0:
In this version of Symbian OS, there are no major evolutions, has shared some API’s to support
3G.
5) Symbian OS 9.1:
The change for this version is the change of version 1.2 for the Bluetooth has version 2.0 where
the difference is the introduction of an Enhanced Data Rate (EDR) for faster data transfer. The
nominal Rate of EDR is about 3 megabits per second although the practical data transfer rate is
2.1 megabits per second.
6) Symbian OS 9.3:
It’s on 12 July 2006 that the WIFI 802.11 and the HSDPA (High Speed Downlink Packet Access)
appear on Symbian OS.
What is HSDPA?
HSDPA is a 3G (third generation) mobile telephony communication protocol in the high speed
Packet access (HSPA) family, which allows networks based on Universal Mobile
telecommunications System (UMTS) to have higher data transfer speeds and capacity current
HSDPA deployments support down link speeds of 1.8,3.6,7.2 and 14.4 Mbit/s.
7) Symbian Os 9.5:
8. This last version includes native‐support for mobile digital television broadcasts in DVB‐H and
ISDB‐T formats and also location services.
2.4. Security
Symbian platform security model
The Symbian security model can be broken down into three main modules:
1. Trusted computing base (TCB)
The trusted computing base holds a collection of software packages which are used to
uphold and enforce the latter two modules. The TCB consists of the kernel, the file system
and the software installer.
2. Data Caging
A feature called data caging is introduced to protect executables and data files of the
applications. Directories for applications are protected by the file system in a way that only
the processes with the original application secure identifier (SID) can get access to them.
By caging processes, so that they can only access specific parts of the file system all of the
users’ private data can be kept safe and separated from the applications processes.
All information and application resources, regardless whether they are public or private
should be protected from unauthorized access by data‐caging protected directories and thus
limiting access rights.
3. Capabilities
Capabilities define what the application can and cannot do. These rights are defined on
application installation and they cannot be altered later on. In a way the capability model is
used to express how trustworthy an application is. Through another point of view it also
limits the applications permissions.
If a process wants to accomplish some tasks it needs some capabilities in order to be able to
run the task in question. To run these tasks, the application also requires permissions which
are defined by the applications signature.
Capabilities can be split into four groups:
• Open to all
Most of the APIs fall into this category – about 60%. This category contains the most basic
services to build applications which do not introduce security issues.
•
Granted by the user at installation time
These are capabilities that the user can choose to grant at installation time. During
installation time these are also known as blanket permissions and during run time they are
known as “single shot” permissions.
9. •
Granted through Symbian signed
Industry wide and commonly used testing and certification program for Symbian C++
applications.
•
Granted by the manufacturer
This is effectively the devices Trusted Computing Base that protects the most sensitive
services.
Publisher ID
Publisher IDs are issued by Certificate Authorities (Trust Center for Symbian signed) and the costs
are 200$ / year.
Secure identifier (SID) and Vendor identifier (VID)
SID’s and VID’s are employed by processes to determine if an application or a process can access
its API.
Starting from Symbian OS v9.x every executable needs to have a Secure Identifier (SID). The SID
concept enables the platform security to protect APIs, limit access to APIs specific to applications
and to protect access to file system areas on the phone that are used when upgrading content.
Vendor identifier is used if you would like to specify the origin of an application or an executable.
VID can also be used to bundle modules so that applications from the same vendor can use the
same modules.
Signing an application
Through signing a tamper‐proof certificate is introduced to the application. The certificate
consists of the following data: Applications origin, definitions for API access.
Very simple and straightforward applications can skip the signing process all together.
To circumvent capability checks, the developer can choose to ask the user to grant a blanket
permission for the application during installation. Alternatively the developer can ask the user for
a “single shot” permission during runtime. For instance, the “single shot” permissions could be
used to ask for the users permission to send a message.
Symbian Signed
The following three signing options are now available:
• Open Signed, Developer Certificate based signing. Intended for developers for
personal use and for testing. For Online signing a Publisher ID is not required. Open
signed is restricted by IMEI, so it can only be installed on one device.
10. •
Express Signed is a fast and cost effective solution for most applications. Downside is
that it limits the applications capabilities more than a Certificate signature.
Developers who wish to release commercial software and own a Publisher ID can
submit their applications without independent testing. This option is good for
freeware and shareware applications.
•
Certified Signed offers a broader access to capabilities but the certificate also requires
independent testing by a Symbian‐accredited test house. This option allows access to
all but the device manufacturer capabilities.
Requirements for different signing options:
Open
Signed
Open
Signed
Express Signed
Certified Signed
Publisher
ID
N
O
Y
E
Y
Y
Independe
nt
N
O
N
O
N
Y
IM
EI
Y
E
Y
E
N
N
For
Commercial
N
O
N
O
Y
Y
Symbian Signed enables applications to use the Platform Security architecture and distinguishes
between User System and Restricted Capabilities. The various signing options allow applications
to request different Capabilities:
•
•
•
•
User Capabilities are available through all signing options.
All System Capabilities, including Restricted (as defined in the table below), are available
through Open Signed (with a Publisher ID) and Certified Signed options.
Express Signed does not allow access to Restricted Capabilities (CommDD, DiskAdmin,
NetworkControl, and MultimediaDD).
Symbian Signed refers to the most sensitive Capabilities, specifically All Files, DRM, and
TCB, as Device Manufacturer Capabilities. These are only available through the Open
Signed (with a Publisher ID) and Certified Signed options and require Device
Manufacturer approval.
CAPABILITY
User Capabilities
CAPABILITY
LocalServices
Location
NetworkService
s ReadUserData
UserEnvironme
nt
WriteUserData
DESCRIPTI
User Capabilities are
designed to be meaningful
to mobile
phone users
Depending on Device
Manufacturer security
policies, users may be able
to grant
blanket or single‐shot
AVAILABILITY
All Signing
Options
11. System
Capabilities
Restricted
Capabilities
Device
Manufacturer
Capabilities
PowerMgmt
ProtServ
ReadDeviceDat
a
SurroundingsD
D SwEvent
TrustedUI
Comm DD
Disk Admin
Network
Control
Multimedia
All Files
DRM
TCB
WHICH USE THESE
System Capabilities that
protect system
services, device
settings,
and some hardware features
Restricted
Capabilities
that
protect
file
system,
communications,
Trusted Computing Base and
System Capabilities that
protect the most
sensitive system
All Signing
Options
Open
Signed
(with
Publisher
ID)
and
Require Device
Manufacturer
approval
Removable media
In the case that the user wishes to install a program to a removable media rather than on the
phones internal memory, some issues need to be taken into account. On installation the software
installer computes a hash. Whenever the program is executed this hash is recalculated and
compared to the original hash and if there is a mismatch the program is denied execution.
Feature Matrix
From this figure you can reference different security features offered by different S60 platforms
and Feature Packs (FPs).
12. 2.5. Future Possibilities
The leading mobile OS
According to research firm The Diffusion Group, Symbian's still maintains
the prominent position as the most used mobile OS, is still the most popular smartphone
platform.
Followed by Linux and then Microsoft, Symbian had 51% market share of the mobile OS market
at the end of 2005, down from 56% in 2004, Linux Came in second at 23%, which was double its
2004 share of 11.3%. Microsoft came in third upping its 2004 market share of 12.6% to 17%.
Symbian OS is still the “leading figure” in the smartphones market and according to Gartner
Symbian’s market share is still the majority with a trend to decline, Gartner blames I phone and
Blackberry.
Although, expects Symbian to maintain its leading and says the Nokia‐owned OS accounted
47,1% of the sector’s total sales in 4Q08.
Apple continues to redefine the definitions of what a mobile phone operating system is. Symbian
remains by far the most popular OS on the market.
New research from Gartner shows that for the fourth quarter of 2008 Symbian based
smartphones accounted for 47.1% of the sector’s total sales, with 17.9m handsets sold.
BlackBerry‐owning RIM was next in line with 19.5% followed by Microsoft Windows Mobile at
12.4 % Apple trailed with a 10.7% market share and Linux 8,4%.
When the fact that Apple is a single device vendor is considered, however, the numbers become
all the more impressive for Apple – particularly considering that the numbers represent a 111.6
per cent year‐on‐year hike. Nokia, in contrast, suffered a 21.6% annual drop.
8,4%
19,5%
Blackberry
Windows Mobile
12,4%
47,1%
I Phone
Symbian
10,7%
Linux
13. Symbian ‐ open source software platform
The Symbian Foundation is a non‐profit foundation, that came into existence when Nokia
acquired Symbian Ltd. in its entirety, and with other partners announced on June 24, 2008 by
Nokia, Sony Ericsson, NTT DoCoMo, AT&T, LG Electronics, Samsung
Electronics, STMicroelectronics, Texas Instruments and Vodafone, to be established to "provide
Royalty ‐ free open platform and accelerate innovation" with the intent to unite Symbian
OS, S60, UIQ and MOAP(S) to create one open mobile software platform.
Nokia’s buying the rest of Symbian that it doesn’t already own, and will then create the Symbian
Foundation, in collaboration with a number of other companies, and make Symbian royalty‐free
and open‐source.
Symbian will be available royalty‐free. Anybody that wants to use it in handsets, or have access
to the complete code, will just have to join the Symbian Foundation for $1500 a year. That
essentially erases Android’s price advantage, and could lead to a raft of Symbian‐based devices
for the mid‐ and low‐tier from OEM vendors.
This should significantly enhance the ability of the Symbian platform to support custom UIs. It
will be a key area of competition for mobile Operative Systems, and the ability for manufacturers
to create their own UI enhancements will be crucial.
“Perhaps it’s something that can change in future — making it easier for people to create custom
UIs on top of Symbian, rather than having to license one of the existing ones.”
The Symbian OS has essentially become free, and this is a smart move on Nokia’s part as it
stands to gain significantly from the further spread of Symbian and S60. It’s a significant
answer to Android, and a good response to the iPhone as it should allow for a lot of innovation
in the UI.
The device manufacturers in the Symbian Foundation will instead look to differentiate on
hardware design, software customization and service layers. Nokia is already anticipating
this with Ovi as are Microsoft and Google with their respective service suites. Other
handset manufacturers will be following in their footsteps.
However the Symbian Foundation can also be seen as a response to the various mobile software
platform groupings such as LiMo and the Open Handset Alliance (Google's Android). Both
of these groupings were offering open source, royalty free software platforms to handset
manufacturers.
By offering a royalty‐free and open source platform, the Symbian Foundation negates the key
advantage of LiMo and Android. Android and LiMo had gained a lot of attention and some
traction, but now face more of a struggle to establish themselves against the incumbent
Symbian Foundation.
14. Implications to the other OS
The Symbian Foundation stirs up the future of the open mobile platform space. It does seem
fair to draw the conclusion that the Symbian Foundation puts the Symbian platform in a
stronger position and this will negatively affect the other players. However the likelihood is
that we will still see a heterogeneous open software platform environment for the foreseeable
future.
The OHA(Google) and the Symbian Foundation (Nokia) are very similar, both have one strong
controlling company and both will offer a royalty free and open source software platform.
Google's advantages come in having a younger platform, a different background and not being
Nokia. The Symbian Foundation's advantage comes from being the incumbent with a proven
platform and 100's of millions of device shipments, being backed by all of the biggest handset
manufacturers.
Google may not be too concerned if Android really fails to take off. There's always been a
suggestion that Google's motivation was to force openness in the mobile space in order to create
an atmosphere in which it is easier to get Google supplied ads on to mobile handsets. In this
sense Google ultimately will not mind if the Symbian Foundation is the big winner even if they
would prefer to see handsets running Android.
Apple is not really affected by the Symbian Foundation news given that it looks to control the
hardware and software from end to end internally and is not seeking to license its software
platform. However with Symbian, LiMo, the OHA or most likely a combination dominating the
mass market it is difficult to see how Apple will expand to become a significant overall player in
mobile space.
Windows Mobile will stand alone as the only current major platform requiring a license fee. This
will inevitably make it less attractive to handset manufacturers. Facing royalty‐free, open source
competitors is not what Microsoft wants. However, the fact that Microsoft can provide an end to
end solution for enterprises remains unchanged and Microsoft still has deep pockets and can
remain a player for as long as it wants to be.
The new platform coming out of the Symbian Foundation in 2009/2010 is essentially an evolved
combination of the already planned next versions of Symbian OS and S60.
Notably the new structure and licensing seem well placed to attract new manufacturers (perhaps
Asian ODMs) and more developers to the Symbian platform.
15. It will provide an excellent opportunity for both companies to do what they do best ‐
differentiate through design, services and applications.
Other players will not be greatly impacted.
* LiMo Foundation is an industry consortium dedicated to creating the first truly open, hardware‐
independent, Linux‐based operating system for mobile devices. Backing from major industry
leaders puts LiMo at the Heart of the Mobile Industry and makes LiMo the unifying force in
Mobile Linux.
16. Software Development
3.1. Development Requirements
To begin developing software applications for Symbian OS a software development kit (SDK) will
be needed. SDK’s for Symbian OS support development in both C++ and Java, but generally C++
will be used for developing for the Symbian platform.
SDK’s for Symbian OS are built based on a specific UI platform. These UI platforms provide a
distinct UI and an associated set of system applications for such tasks as messaging, browsing,
telephony, multimedia and contact/calendar management.
The SDK’s are divided in different UI platforms:
‐
‐
‐
UIQ (formerly known as User Interface Quartz)
future: with the establishment of Symbian Foundation UIQ will cease to exist.
S60 (formerly known as Series 60 User Interface)
MOAP (platform used in Japan by NTT DoCoMo’s FOMA)
The most important thing you will need to know about developing software for a telephone
using the Symbian platform is for which telephone exactly you will develop and then on its turn
which SDK you actually need, but generally the S60 SDK is used for development.
Here a short overview of the platforms including versions used for specific telephones:
UIQ
UIQ 3.1 (Symbian OS v9.2)
UIQ 3.0 (Symbian OS v9.1)
UIQ 2.1 (Symbian OS v7.0)
UIQ 2.0 (Symbian OS v7.0)
S60
S60 3rd edition FP2 (Symbian OS
v9.3)
S60 3rd edition FP1 (Symbian OS
v9.2)
S60 3rd edition (Symbian OS v9.1)
S60 2nd edition FP3 (Symbian OS
S60 2nd edition FP2 (Symbian OS
v8.0a)
S60 2nd edition FP1 (Symbian OS
v7.0s)
S60 2nd edition (Symbian OS v7.0s)
S60 1st edition (Symbian OS v6.1)
telephones
Motorola MOTORIZR Z8
Sony Ericsson M600, W960, P990
Sony Ericsson P910, P900, Motorola
A1000, FOMA M1000, Arima U308
Sony Ericsson P800, P802, Motorola
A920, A925, BenQ P30
telephones
Nokia N96, N78 Samsung I8510
innov8,
Nokia N95, N82, N77, Samsung SGH‐
i450, SGH‐i550, SGH‐i520,
SGH‐i560, G81, LG JOY
Nokia E60, E61, E70; 3250, N71, N80,
N91, N92
Nokia N70, N90
Nokia 6630, 6680, 6681, 6682, Lenovo
P930
Nokia 3230, 6670, 7610, 6620, 6260,
Panasonic x700, x800, SDH‐D720
Nokia 6600
Nokia 7650, Nokia 3650, 3600, 3660,
3620, N‐Gage(QD), Sendo X, Siemens
17. GUI Specifications:
GUI
Specificities
Series 60 v1.x
+ Symbian OS 6.1
Resolution=176x208
Phone Keyboard
No touch screen
Series 60 v2.0
+ Symbian OS 7.0s
Resolution=176x208
Phone Keyboard
No touch screen
Series 80
+ Symbian OS 6.0
Resolution=640x200
Full Keyboard
No touch screen
UIQ v2.0
+ Symbian OS 7.0
Resolution=208x320
Optional Keyboard
Touch screen
3.2. IDE and Tools
Integrated Development Environment or also known as integrated design environment
or
integrated debugging environment.
An IDE is a software application that allows the computer programmer to develop software
for certain platform. An IDE normally has a: source editor, compiler and/or interpreter and
debugger.
Source editor: is basically a text editor to create and edit source code of computer programs.
Compiler: is a computer program that translates source code written in a computer language
into another computer language. (Translating from high level to low lever programming
language) Interpreter: a computer program that executes instructions in a programming
language
Debugger: is a program that is used to test and debug the programs you write.
IDE’s are there for the ease of the programmer, they make writing source code for
your programs easier. Often these IDE’s come with a broad range of tools to make it even
easier and more comfortable to write your programs.
18. Even though the source code can be written in any IDE that supports C++ it is strongly
recommended to use the program Carbide C++, which is an eclipse based program. Symbian
OS itself recommends and supports Carbide.
Other (possible) IDE’s:
‐
‐
‐
CodeWarrior Development Studio for Symbian OS
Visual C
Bosland C++
Other “critical” tools:
‐
Î
‐
Î
‐
Î
‐
Î
GCC for Symbian
Can be used to compile Symbian C++ applications.
Symbian Certificate Manager
Allows you to manage your certificates within Carbide
Symbian DevCert Request
Enables you to obtain a Symbian Developer Certificate
Symbian MakeSIS
Allows you to “convert” your c++ programs into .sis packages, which simplify
the installation on other Symbian OS devices.
‐ Symbian UnSIS
Î Extracts the .sis packages
3.3.
Programming
Language(s)
Symbian OS offers a choice of programming languages to the developer. Symbian OS is written
in C++ and this is therefore regarded as its primary programming language. There are
multiple platforms based upon Symbian OS that provide an SDK for application developers
wishing to target a Symbian OS device – the main ones being UIQ and S60. Individual phone
products, or families, often have SDKs or SDK extensions downloadable from the
manufacturer's website too. The SDKs contain documentation, the header files and library
files required 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 GCC compiler (a
cross‐compiler) required to build software to work on the device.
Symbian OS 9 uses a new ABI and so requires a new compiler – a choice of compilers is
available including a new version of GCC. In terms of SDKs, UIQ Technology now provides
a simplified
framework so that the single UIQ SDK forms the basis for developing on all UIQ 3 devices, such
as the Sony Ericsson P990 and Sony Ericsson M600.
19. Unfortunately, Symbian C++ programming has a steep learning curve, as Symbian requires
the use of special techniques such as descriptors and the cleanup stack. This can make
even relatively simple programs harder to implement than in other environments. Moreover,
it is questionable whether Symbian's techniques e.g. the memory management paradigm are
actually so beneficial. It is possible that the techniques, developed for the much more
restricted mobile hardware of the 1990s, do cause unnecessary complexity in source code;
programmers are required to concentrate on bug‐prone low‐level routines instead of truly
application‐specific features. It seems difficult, however, to make a move towards a more
high‐level and modern programming paradigm.
Symbian C++ programming is commonly done with an IDE. For previous 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 4 different versions: Express, Developer, Professional, and OEM, with
increasing levels of capability. Full 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
through the Carbide.vs plugin.
Example code in Symbian
C++
Java
Java is, in most cases, the main language to consider as an alternative to C++. Symbian OS
v7.0 provides a MIDP (Mobile Information Device Profile) implementation. MIDP offers a set
of Java APIs that are specialised for use in mobile phones, for such things as user interfaces,
20. persistence storage, networking, and applications. It runs in the context of the classes
provided by the Connected Limited Device Configuration (CLDC), and uses the K virtual
machine (KVM), a virtual machine specially designed for small mobile devices.
Symbian OS support for installation and execution of MIDP programs (MIDlets) is described
in Java MIDP guide. PersonalJava 1.1.1 and JavaPhone, provided in Symbian OS v6.0, are not
part of Symbian OS v7.0, though licensees may supply them in some v7.0‐based products.
JavaScript
JavaScript offers client‐side processing within HTML pages, and is typically used for
validating user input, and offering dynamic page navigation. The Development Kit includes
the engine for the Opera web browser, which supports JavaScript. If Opera is required by the
product, licensees will provide a suitable UI..
Assembler
For most purposes, C++ offers sufficiently high performance and enough low‐level access
to make the use of assembler unnecessary. Symbian OS uses it occasionally where
performance is of the highest consideration, such as in the active scheduler (the main event
handling and despatch loop).
WMLScript
WMLScript is the WAP scripting language, similiar in purpose to JavaScript, but used within
a WAP Browser. The Development Kit does not include a WAP Browser, and licensees will
provide one if required by the product. Until a licensee makes this available, WAP
development can be carried out on a PC.
C#
21. C would not normally be considered for writing new Symbian OS programs, but may be a
candidate when you have existing C code to port to Symbian OS. For this purpose, Symbian
OS includes an implementation (with some omissions) of the C Standard Library.
Advice on porting C programs is available on the Symbian Developer Network and
in the
Professional Symbian Programming book.
OPL
OPL is a BASIC‐like language that was supplied on Psion PDAs. OPL is not supported by
Symbian
OS v 7.0.
22. Overall Evaluation
4.1. Advantages
Symbian believes that the mobile phone market has five key characteristics that make it
unique, and result in the need for a specifically designed operating system:
• Mobile phones are both small and
mobile
• Mobile phones are ubiquitous – they target a mass‐market of consumer,
enterprise and professional users
• Mobile phones are occasionally connected – they can be used when connected
to the wireless phone network, locally to other devices, or on their own
• Manufacturers need to differentiate their products in order to innovate and
compete in a fast‐evolving market
• The platform has to be open to enable independent technology and software
vendors to develop third‐party applications, technologies and services
Therefore Symbian is developed from scratch matching these
criteria.
Symbian was developed on five premises, small mobile devices, mass market,
intermittent wireless connectivity, diversity of products and an open platform for
independent software developers. Therefore Symbian is best fitted for the Mobile
Market, and also makes Symbian different from Mobile software platforms, which
are derived from desktop or server operating systems.
Symbian is committed to open standards and is actively working with emerging
standards, such as J2ME, Bluetooth, MMS, Sync ML, IPv6 and WCDMA. As well as its
own developer support organization, books, papers and courses, Symbian delivers a
global network of third‐ party competency and training centers – the Symbian
Competence Centers and Symbian Training Centers. These are specifically directed at
enabling other organizations and developers to take part in this new economy.
Symbian has announced and implemented a strategy that will see Symbian OS
running on many advanced open mobile phones. Products in the market show the
diversity of mobile phones that can be created with Symbian OS. We can look forward
to an even wider range of Symbian OS mobile phones.
General Advantages:
•
Symbian OS is the market leader with large installed based devices. It
has been growing very fast too.
More and more third party applications are developed for Symbian OS.
Symbian
•
23. claims there are already more than 4400 applications for Symbian OS
4.2. Limitations
The symbian OS covers more features than any other OS, so feature‐wise there’s not
much missing. However there are plenty of issues with the Symbian platform and most of
them will fall on the shoulders of developers.
•
Steep learning curve for developers
Developers find it difficult to work with Symbian because of poor documentation,
development tools and also because of a massive library with thousands of
classes. Also, Symbian programming paradigms differ from conventional
methods so that programmers may find it difficult to understand and get the
hang of it.
•
Developing in general
When you begin developing for Symbian, you will first need to know specifically
the type of device that you’re going to build your application on. Your device type
will determine which GUI you will need to use (S60, S80, UIQ...). Of course, in
addition to your platform, it is also good to keep in mind the limitations of
individual devices as well – as with mobile devices in general.
•
Porting
Porting between devices can be tricky. You need to take the OS version and
device‐ specific restrictions into account. For instance, you cannot port an
application that is built for the UIQ Platform directly to an S60 UI Platform
because you might need to take the touch‐screen dependencies into account. You
might even need to take some issues into consideration when porting between
applications built for the same platforms but for different devices.
•
Symbian signed
The Symbian Signed introduces many hindering effects and sometimes without
providing any more security. With Symbian signed it is not possible to install
“freeware” applications, which has on some cases resulted to a workaround
where developers are providing users with step‐by‐step instructions on how to
register themselves as developers and sign the application by themselves. This
effectively renders the Symbian Signed pretty much useless and it greatly
hinders Symbian in perspective to its competitors.
•
Dependency on Nokia
Until Symbian OS becomes open source, which is what it’s happening now,
Symbian will be somewhat dependent on Nokia
24. Conclusions
In manufactures point of view
Symbian is a strong operating system, if you look at the current Symbian devices on the
market we will see that Symbian has a pretty strong position as we’ve previously shown.
The devices which run Symbian OS on it have proven to be during and Symbian on its own
has proven his value on the market.
Symbian is one of the oldest and long lasting operating systems on the market and it always
had its manufactures to build devices for it.
In developers point of view
Symbian brings its limitations when it comes to development. As earlier explained you’ll
need a different SDK for every device. You will also have a different set of “tools” in each SDK
this will limit the porting of programs you right for a Symbian smartphone. It will work on all
devices with the same SDK but on others it will give problems.
There for the conclusion is that if you would want to develop for Symbian you should be very
aware of the fact that you will develop with great limitations.
25.
The Symbian OS Architecture Book by Ben Morrison
S60 a Programming tutorial Guide by Paul Coulton & Edward Rubert
www.wikipidea.com
www.devloper.symbian.org
www.techrepublic.com
www.nokia.com