seminar report

25
A Seminar Report On “SYMBIAN MOBILE OPERATING SYSTEM” I. T. ENGINEERING PREPARED BY: GUIDED BY: . DARSH KOTECHA HEAD OF THE DEPARTMENT: GUJARAT TECHNOLOGICAL UNIVERSITY

Upload: darsh-kotecha

Post on 10-May-2015

6.858 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Seminar report

A Seminar Report On

“SYMBIAN MOBILE OPERATING SYSTEM”

I. T. ENGINEERING

PREPARED BY: GUIDED BY:

. DARSH KOTECHA

HEAD OF THE DEPARTMENT:

GUJARAT TECHNOLOGICAL UNIVERSITY

Page 2: Seminar report

Acknowledgement

I would l ike 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 l ike 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 l ike 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 successful ly.

Finally I am thankful to our parents and fr iends for their continued

moral and material support throughout the course and in helping me

final ize the presentation.

DARSH KOTECHA

Page 3: Seminar report

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 al l 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 IT

departments, network operators and Symbian OS l icensees

Page 4: Seminar report

1. Introduction2. Platform

2.1. Hardware 2.2. Operating System(s) 2.3. Netwerk Connectivity 2.4. Security 2.5. Future Possibilities

3. Software Development3.1. Development Requirements 3.2. IDE and Tools 3.3. Programming Language(s)

4. Current Market Share

5. Overall Evaluation4.1. Advantages 4.2. Limitations 4.3. Conclusion

Page 5: Seminar report

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.

Page 6: Seminar report

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

Page 7: Seminar report

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:

Page 8: Seminar report

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 touphold and enforce the latter two modules. The TCB consists of the kernel, the file systemand the software installer.

2. Data CagingA feature called data caging is introduced to protect executables and data files of theapplications. Directories for applications are protected by the file system in a way that onlythe 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 theusers’ 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. CapabilitiesCapabilities define what the application can and cannot do. These rights are defined onapplication installation and they cannot be altered later on. In a way the capability model isused to express how trustworthy an application is. Through another point of view it alsolimits the applications permissions.

If a process wants to accomplish some tasks it needs some capabilities in order to be able torun the task in question. To run these tasks, the application also requires permissions whichare 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 basicservices to build applications which do not introduce security issues.

• Granted by the user at installation timeThese are capabilities that the user can choose to grant at installation time. Duringinstallation time these are also known as blanket permissions and during run time they areknown as “single shot” permissions.

Page 9: Seminar report

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

Page 10: Seminar report

• Express Signed is a fast and cost effective solution for most applications. Downside isthat it limits the applications capabilities more than a Certificate signature.Developers who wish to release commercial software and own a Publisher ID cansubmit their applications without independent testing. This option is good forfreeware and shareware applications.

• Certified Signed offers a broader access to capabilities but the certificate also requiresindependent testing by a Symbian-accredited test house. This option allows access toall but the device manufacturer capabilities.

Requirements for different signing options:

Publisher ID

Independent

IMEI

For Commercial

Open Signed

NO

NO

YE

NO

Open Signed

YE

NO

YE

NO

Express Signed Y N N YCertified Signed Y Y N 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 OpenSigned (with a Publisher ID) and Certified Signed options and require DeviceManufacturer approval.

CAPABILITY

CAPABILITY

DESCRIPTI

AVAILABILITY User Capabilities LocalServices

Location NetworkServices ReadUserData UserEnvironment WriteUserData

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

All Signing Options

Page 11: Seminar report

WHICH USE THESE System

Capabilities PowerMgmt ProtServ ReadDeviceData SurroundingsDD SwEvent TrustedUI

System Capabilities that protect system services, device settings, and some hardware features

All Signing Options

Restricted Capabilities

Comm DD Disk Admin Network Control Multimedia

Restricted Capabilitiesthat

protect filesystem,

communications,

Open Signed (with Publisher

ID) and Device

Manufacturer Capabilities

All Files DRM TCB

Trusted Computing Base and System Capabilities that protect the most sensitive system

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

Page 12: Seminar report

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%

47,1%

19,5%

12,4%

10,7%

Blackberry Windows Mobile I Phone Symbian

Linux

Page 13: Seminar report

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.

Page 14: Seminar report

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.

Page 15: Seminar report

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.

Page 16: Seminar report

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 telephones

UIQ 3.1 (Symbian OS v9.2) Motorola MOTORIZR Z8 UIQ 3.0 (Symbian OS v9.1) Sony Ericsson M600, W960, P990 UIQ 2.1 (Symbian OS v7.0) Sony Ericsson P910, P900, Motorola

A1000, FOMA M1000, Arima U308 UIQ 2.0 (Symbian OS v7.0) Sony Ericsson P800, P802, Motorola

A920, A925, BenQ P30

S60

telephones S60 3rd edition FP2 (Symbian OS v9.3)

Nokia N96, N78 Samsung I8510 innov8,

S60 3rd edition FP1 (Symbian OS v9.2)

Nokia N95, N82, N77, Samsung SGH- i450, SGH-i550, SGH-i520, SGH-i560, G81, LG JOY

S60 3rd edition (Symbian OS v9.1) Nokia E60, E61, E70; 3250, N71, N80, N91, N92

S60 2nd edition FP3 (Symbian OS

Nokia N70, N90 S60 2nd edition FP2 (Symbian OS v8.0a)

Nokia 6630, 6680, 6681, 6682, Lenovo P930

S60 2nd edition FP1 (Symbian OS v7.0s)

Nokia 3230, 6670, 7610, 6620, 6260, Panasonic x700, x800, SDH-D720

S60 2nd edition (Symbian OS v7.0s) Nokia 6600

S60 1st edition (Symbian OS v6.1) Nokia 7650, Nokia 3650, 3600, 3660, 3620, N-Gage(QD), Sendo X, Siemens

Page 17: Seminar report

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.

Page 18: Seminar report

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.

Page 19: Seminar report

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,

Page 20: Seminar report

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 #

Page 21: Seminar report

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.

Page 22: Seminar report

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

Page 23: Seminar report

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

Page 24: Seminar report

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.

Page 25: Seminar report

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