An Introduction to Symbian Operating System
Download
Report
Transcript An Introduction to Symbian Operating System
An Introduction to Symbian
Operating System
Prepared by :
Phang Seong Yee
Outline
Trends For Mobile Application
Mobile Application
Mobile Computing Platform
Mobile Operating System
Symbian Operating System
Evolution of Symbian OS
Symbian OS Architecture
Symbian Application Development
Symbian Developer Tools
Conclusion
Trends for Mobile Applications
1.
Application Programming Interfaces (APIs)
- To enable third parties to provide new services, such
as billing, messaging.
- To reduce the time for carriers to introduce new
products to their customer.
- It would come to the stage of Programmable APIs.
2.
Services Caching
- Due to the advance devices with sophisticated
processor and more memory, sophisticated
multimedia-based and web services-based applications
become possible.
- The devices can be used to mask the vagaries of the
network and services by caching services on the
device itself.
Trends for Mobile Applications
3. Further Service Differentiation for carriers
4. XML-based Web Services
- To enable application developers to use the existing
services over the Internet quickly create new
applications for mobile devices.
- Since mobile terminal are constrained with respect to
memory and processor power, new versions of XML
processing had to be developed such as kXML, kSOAP,
kUDDI.
5. Real Time Data Streaming
- To enable the services beyond 3G, such as mobile TV
(television channels from the mobile phone)
Applications: 1 year ago
vMiles
Signature Capture
Control
Color Dialog
Pocket ftCalc
Mobile Controls
Micrographs
Registry Control
Simple Wireless API
Applications: Today
All Mobile Casino
Valentin Iliescu
Chess
JL Mobile
XSales Rep
GPS GolfPro
Microsoft CRM
Mobile
Pocket Humanity
Mobile Application
The number of applications is growing
exponentially and different applications have
different requirements.
For example, distributed applications require
interaction and coordination with remote
applications, and therefore, leverage the
middleware services.
Some applications require the runtime
environment to execute, while other applications
run natively and interact with the operating
system kernel.
Mobile Application
“Resource-poor” mobile devices
Limited memory and buffer space (typically no disk)
Small screen
Low processing capabilities
Limited battery life
Location of a mobile device may change
frequently due to mobility
Relative to network and other services
Relative to other hosts
Mobile Application
Capacity of the wireless channel is limited and may vary
Communication is often unreliable
Short-term “fades” – high bit errors
Long-term disconnects – disconnected operation:
Forced or voluntary disconnection
Disconnected operation (read/write) requires system
support
Data caching
Pre-fetching
Integration
Mobile Application
Applications in mobile computing fall into the
following three broad categories:
1) Stand-alone
Applications- run entirely on mobile
terminals in disconnect (detached) mode.
2) Simple
Client-Server (C/S) applications - (e.g., DB
query). The connection time for C/S interactions is
short.
3) Advanced
mobile applications - (groupware and
distributed multimedia) - information exchanged is
time critical (i.e., real time)
Mobile Application Evolution
The functionality of the mobile terminals has evolved tremendously
over last 10 years.
Voice Transmission
-Short Message Service (SMS) and Web Browsing
(WAP and I-mode)
-Interaction with Vending Machine and Multimedia Message Service
(MMS)
Video Conferencing and Interaction with the surrounding physical
environment (I-area)
-Object-to-Object Communication
-Machine-to-Machine Communication
-Car-to-Car Communication
Mobile Computing Platform
The evolution of cell phone functionality is the result of
the sophistication of supporting infrastructure running in
the phones.
The generic mobile computing platform that includes the
building blocks shared by most existing approaches.
The building blocks are:
Mobile Operating System
Runtime Environment
Middleware
Applications
Generic Mobile Computing Platform
Applications
Middleware
Runtime Environment
Mobile Operating System
Mobile Operating System (1)
It is the software responsible for managing, exporting and
arbitrating the hardware resources provided by terminals.
It is vital component that hides the underlying hardware complexity
and heterogeneity and enables the construction of software.
It is similar to the desktop operating system with restricted
components.
It is including low memory footprint, low dynamic memory usage,
efficient power management framework, real-time support for
telephony and communication protocols and reliability.
Mobile Operating System (2)
1.
2.
3.
4.
5.
Symbian OS
Palm OS
Windows CE .NET OS
Embedded Linux
Qualcomm BREW
Note: All the OS above follow the architecture presented
in previous slide except BREW
Mobile OS Example
PalmOS
PocketPC
Symbian OS
Market Leader
Symbian leads the smartphone market with a 70% share
Linux 19%, Microsoft 5%, PalmSource 3%
(Source: Canalys Q2 2006 worldwide smart mobile device research)
100m cumulative shipments since the formation of Symbian
12.3m Symbian OS shipments in Q2 2006
A new Symbian OS smartphone model was shipped every
week in Q2 2006
Symbian Platform Mobile Phone
Symbian Operating System
Symbian OS is licenced to a large number of handset
manufacturers, which account for over 80% of annual worldwide
mobile phone sales (Symbian 2003).
Symbian OS is an operating system, designed for mobile devices,
with associated libraries, user interface frameworks and reference
implementations of common tools, produced by Symbian Ltd.
The version 8 is the first version that provides a real-time OS
kernel and supports the following features:
1) Rich suite of application services, including services for contacts,
schedule, messaging, browsing and system control
2) Java support, Real time, Hardware Support (different CPUs,
peripherals, and memory types), messaging with support for MMS,
EMS, SMS, POP3, SMTP, and MHTML
3) Graphics with a graphic accelerator API, Mobile Telephony,
International Support, Data Synchronuization, Device
Management, Security, wireless connectivity, including Bluetooth
and 802.11b
Is Symbian OS opensource???
A common question is whether Symbian OS is
"open". It is not open in the sense of Open
Source software - the source code is not
publicly available. However, nearly all the source
code is provided to Symbian OS phone
manufacturers and many other partners.
Moreover, the APIs are publicly documented and
anyone can develop software for Symbian OS.
This contrasts with traditional embedded phone
operating systems, which typically cannot accept
any aftermarket software with the exception of
Java applications.
Evolution of Symbian OS (I)
EPOC16-Psion released several Series 3 devices from 1991 to 1998
which used the EPOC16 OS, also known as SIBO.
EPOC OS Releases 1–3-The Series 5 device, released in 1997,
used the first iterations of the EPOC32 OS.
EPOC Release 4-Oregon Osaris and Geofox 1 were released using
ER4.In 1998, Symbian Ltd. was formed as a partnership between
Ericsson, Nokia, Motorola and Psion, to explore the convergence
between PDAs and mobile phones.
EPOC Release 5 a.k.a. Symbian OS v5-Psion Series 5mx, Series
7, Psion Revo, Psion Netbook, netPad, Ericsson MC218 were
released in 1999 using ER5.
*EPOC is a family of operating systems developed by Psion for portable devices,
primarily PDAs
Evolution of Symbian OS (II)
ER5u a.k.a. Symbian OS v5.1
u = Unicode. The first phone, the Ericsson R380 was released using
ER5u in 2000. It was not an 'open' phone - software could not be
installed. Notably, a number of never released Psion prototypes for
next generation PDAs, including a Bluetooth Revo successor
codenamed Conan were using ER5u.
Symbian OS v6.0 and v6.1-Sometimes called ER6. The first
'open' Symbian OS phone, the Nokia 9210, was released on 6.0.
Symbian OS v7.0 and v7.0s-First shipped in 2003. This is an
important Symbian release which appeared with all contemporary
user interfaces including UIQ (Sony Ericsson P800, P900, P910,
Motorola A925, A1000), Series 80 (Nokia 9300, 9500), Series 90
(Nokia 7710), S60 (Nokia 6600, 7310) as well as several FOMA
phones in Japan.In 2004, Psion sold its stake in Symbian.
Evolution of Symbian OS (III)
Symbian OS v8.0
First shipped in 2004, one of its advantages would have been a
choice of two different kernels (EKA1 or EKA2). However, the EKA2
kernel version did not ship until SymbianOS v8.1b. The kernels
behave more or less identically from user-side, but are internally
very different. EKA1 was chosen by some manufacturers to maintain
compatibility with old device drivers, whilst EKA2 offered
advantages such as a hard real-time capability. v8.0b was
deproductized in 2003.
Symbian OS v8.1
Basically a cleaned-up version of 8.0, this was available in 8.1a and
8.1b versions, with EKA1 and EKA2 kernels respectively. The 8.1b
version, with EKA2's single-chip phone support but no additional
security layer, was popular among Japanese phone companies
desiring the realtime support but not allowing open application
installation.
Evolution of Symbian OS (IV)
Symbian OS v9.0
This version was used for internal Symbian purposes only. It was
deproductised in 2004. v9.0 marked the end of the road for EKA1.
v8.1a is the final EKA1 version of SymbianOS.Symbian OS has
generally maintained reasonable binary compatibility. In theory the
OS was BC from ER1-ER5, then from 6.0 to 8.1b. Substantial
changes were needed for 9.0, related to tools and security, but this
should be a one-off event. The move from requiring ARMv4 to
requiring ARMv5 did not break backwards compatibility.
A Symbian developer proclaims that porting from Symbian 8.x to
Symbian 9.x is a more daunting process than Symbian says.
Evolution of Symbian OS (V)
Symbian OS v9.1
Released early 2005. It includes many new security related features,
particularly a controversial platform security module facilitating
mandatory code signing. Symbian argues that applications and
content, and therefore a developers investment, are better
protected than ever, however others contend that the requirement
that every application be signed (and thus approved) violates the
rights of the end-user, the owner of the phone, and limits the
amount of free software available. The new ARM EABI binary model
means developers need to retool and the security changes mean
they may have to recode. S60 3rd Edition phones have Symbian OS
9.1. Sony Ericsson is shipping the M600i based on Symbian OS 9.1
and should ship the P990 in Q3 2006. The earlier versions had a
fatal defect where the phone hangs temporarily after the owner
sent hundreds of SMSes. However, on 13 September 2006, Nokia
released a small program to fix this defect.
Evolution of Symbian OS (VI)
Symbian OS v9.2
Released Q1 2006. Support for Bluetooth 2.0 (was 1.2) and OMA
Device Management 1.2 (was 1.1.2). S60 3rd Edition Feature Pack 1
phones have Symbian OS 9.2.
Symbian OS v9.3
Released on 12 July 2006. Upgrades include native support for Wifi
802.11, HSDPA, Vietnamese language support.
On November 16, 2006, the 100 millionth smartphone running the
OS was shipped.
Symbian OS v9.5
Released in March 2007. Featured up to 25% reduced RAM usage
resulting in better battery life thanks to introduction of Demand
paging. Applications should launch up to 75% faster. Native support
for mobile digital television broadcasts DVB-H ja ISDB-T and
location services. Also supports SQL.
Symbian Product
Symbian Based Platform
*MOAP-mobile-phone-oriented application platform
(NTT DoCoMo's Symbian based MOAP platform )
*UIQ- User Interface Quartz
References Model
Series 60
UIQ
Series 80
Nokia N-Gage, NGage QD
Nokia 7650, 3650,
3660
Nokia 6600, 6620,
6630, 6670, 6680,
6681, 6682, 7610
Sendo X, Siemens
SX-1, Nokia 3250,
E60, E61, E70, N70,
N80, N90, N91 and
others, coming out
each month
Sony Ericsson P800,
P900, P910i, P990i,
W950i, M600
Motorola
Nokia 9210, 9210i
A920/A925/A1000
Nokia 9300, 9300i, 9500
Series 90
Nokia 7710
UIQ
UIQ is stylus-based interface (heavily influenced by the easy-to-use Palm OS one).
The best known examples of UIQ devices are the Sony Ericsson P800 and
P900/P910i, although there are others, including the Motorola A920/925/1000. Look
beyond the Palm-like interface and you'll see glimpses of stuff that's familiar from
Psion days.
But only glimpses. The biggest downside of UIQ 2 is that some of the benefits of
multitasking have been removed by the way programs revert to a neutral state when
sent to the background. So you switch away to check your calendar or answer the
phone and then have to re-open your document and find your place all over again.
And again.
UIQ 3 promises to restore proper multitasking, thankfully, but this won't be available
until the Sony Ericsson P990i, W950 and M600 arrive mid to late 2006.
SE P990 Motorola
M1000
Arima
Motorola
U300 MOTORIZR Z8
BenQ
P30
Series 60
Down at the other size extreme, Nokia has been very successful with their smallscreen 'Series 60' interface. Again this is recognizable Symbian under the hood, but
again there's no touch-screen and this time Nokia has written many of its own
applications from scratch, ditching the standard Psion/Symbian ones presumably
because they wouldn't suit the one-handed, button-driven interface and generally
smaller screen.
There's multi-tasking power here under the hood and many third party applications
have been ported to Series 60/S60, but everything's restricted to some degree by the
screen size and keypad text input.
LG
KS10 JoY
Samsung
SGH - D720
Panasonic
X800
Nokia
N95
Nokia
N93i
Series 80
Historically, Nokia have opted for Symbian devices which don't need a fragile touchscreen. The well-known Nokia 9210 effectively ran EPOC version 6 and is extremely
similar to an old Psion Series 5mx in many, many ways, with the minor difference
that the lack of a touch-screen necessitated a set of programmable command
buttons to the right of the screen. Nokia refer to this interface as 'Series 80'.
You get almost the full range of built-in applications (including Word, Sheet, etc.) and
there's full (and proper) multi-tasking, so you can have dozens of programs and
documents open at once, switching between them as needed.
Nokia 9500
Series 90
'Series 90', as seen in Nokia's idiosyncratic 7710. It uses much the same operating
system and applications as Series 80, but tweaked to support a slightly larger, touchsensitive screen. But there's no keyboard, of course, so input is via gesture
recognition, virtual keyboard or Bluetooth keyboard. The interface has been
orphaned by Nokia, alas. The 7710 is still a good choice for ex-Psion owners though,
with similar software and interface - just make sure you use it with a Bluetooth
keyboard!
Nokia 7710
Symbian OS Architecture
System view of Symbian OS
Symbian OS v8
Symbian OS v9
Symbian Development
Software Development Kits (SDK)
Software development kits
*The starting point for developing applications for Symbian OS is to obtain a
software development kit (SDK). SDKs for Symbian OS support development in
both C++ and Java. They provide:
-binaries and tools to facilitate building and deployment of Symbian OS applications
-full system documentation for APIs and tools
*For the independent software developer, the most important thing to know in
targeting a particular phone is the associated UI platform. Next you need to know the
Symbian OS version the phone was based on. This combined knowledge defines to a
large degree the target phone as a platform for independent software development.
You can then decide which SDK you need to obtain. In most cases you will, working
with this SDK, be able to target with a single version of your application all phones
based on the same UI platform and Symbian OS version. The Symbian OS System
Definition papers give further details of possible differences between phones based
on a single SDK.
What are the Symbian OS
Development Kits?
Symbian creates 4 development environments:
1.) Symbian OS Customisation Kit (CustKit)
The Symbian OS Customisation Kit is the development environment
that is licensed to handset manufacturers. It is a superset of the “Symbian
OS Development” Kit, including some extra tools and source. The license terms are
different to those for the “DevKit”.
2.) Symbian OS Development Kit (DevKit)
Colloquial name for the Symbian OS Development Kit.
3.) Symbian OS Binary Access Kit (BAK)
A binary-only DevKit. Provides access to most APIs in the DevKit but does not contain
the source tree
4.) Symbian OS Technology Preview SDK (TPSDK)
Technology Preview SDK. An early release SDK
Developer tools (I)
Nokia Carbide Development Tools for Symbian OS C++
Carbide.c++ is a family of Eclipse-based development tools supporting Symbian
OS development on S60, Series 80, UIQ and MOAP. The Carbide family consists
of:
* Carbide.c++ Professional, performance tools for advanced users
* Carbide.c++ Developer Edition – Productivity tools for creating applications
* Carbide.c++ Express – For developers new to Symbian, Academia
Nokia Carbide Development Tools for Java - Carbide.j
Carbide.j (formerly Nokia Developer's Suite for J2ME) is a software development
tool for Java™ Platform, Micro Edition (Java™ ME) developers that enhances the
development and verification of applications for Nokia devices.
It provides tools for creating Mobile Information Device Profile (MIDP) and
Personal Profile (PP) applications and deployment packages, signing applications,
and deploying applications to devices. It is also an essential tool for managing,
configuring, and running emulators for various Nokia platform and device SDKs.
Developer tools (II)
AppForge Crossfire 6.5
Crossfire is a unique technology platform that allows Microsoft Visual Studio
Developers to leverage the skills and knowledge they have and apply them
to create mobile applications that will run on market leading devices and
operating systems. Crossfire includes integration and support for the
following:
Microsoft IDE Integration
-Visual Studio .NET (2005 / 2003)
-Visual C# .NET 2003
-Visual Basic .NET 2003
-Visual Studio 6.0 Professional
-Visual Basic 6.0
Language Support
-Visual Basic .NET
-C#
-Visual Basic 6.0
Developer tools (III)
Wirelexsoft VistaMax
Wirelexsoft is a provider of technology and solutions for the mobile, the
web and the desktop. We provide Rapid Application Development (RAD)
Tools and IDEs that save significant development effort and reduce cost
and time to market.
Wirelexsoft offers VistaMax for development on Symbian - S60 and UIQ and VistaFei for AJAX Application Development based on Google Web
Toolkit. VistaMax and VistaFei are based on Eclipse.
Opensource developer tools
SymbDev
This is a set of free and open source plug-ins for Eclipse that provide support for the
development of Symbian C++ applications. The plug-ins can automatically detect the installed
SDKs while the building process is based on the Symbian command-line building tools which are
executed as background tasks from the Eclipse IDE.
Xcode Plugin for Symbian OS
This is a free and open source plugin for the Apple Xcode development environment for Apple
Macintosh computers running the MacOS X operating system. It was developed by Tom Sutcliffe
and it currently has the following main features:
-Import MMP files into Xcode projects
-Edit settings and build targets (exactly like you would for any other Xcode project)
-Work with multiple SDKs - UIQ, S60, Series 80
-Build SIS files and send them via Bluetooth to your Symbian OS phone for testing, as part of the
build process
-GCC and other Symbian OS-specific tools included (no need to download or compile them
yourself)
-Projects mostly work 'straight from the box'; i.e. no change is needed to code developed on a
PC for it to compile in Xcode
-The plugin is free and open source. The source is covered by the GPL and is available on
tigris.org
Development Language
C++
Java
Open source :-Ruby
-OPL-dev
-Perl
-Python for S60
-Python for UIQ
-Simkin
Conclusion
In summary, mobile phone manufacturers are given a large amount of way
in relation to how much or how little of Symbian OS they incorporate into
their phones.
They have taken only limited advantage of this freedom, differentiating
products by adding functionality rather than removing or replacing Symbian
OS components. Where components have been removed this trends to be
at the UI platform level, i.e. the components removed are perceived as
inappropriate for the class of phone at which the UI platform (SDK) is
targeted.
Where components have been replaced, this is because handset
manufacturers have previously developed their own versions of those
components, sometimes with additional capabilities, which they prefer to
use.
References-Useful Link (I)
http://www.symbian.com/
-symbian ltd website
http://developer.symbian.com/
-tools,tutorial,source code on symbian software development
http://www.allaboutsymbian.com/
-all about symbian news ,software
http://www.allaboutseries80.com
-Sites on S80 devices, applications
http://www.s60.com/
-Sites on S60 devices, applications
http://www.i-symbian.com/
-Latest news on symbian phones and application
http://www.uiq.com/
-UIQ technology site
http://www.newlc.com/ (symbian C++ developer forum)
-SDK, Development tools, Guide, Example source code
References-Useful Link (II)
http://pf128.krakow.sdi.tpnet.pl/symbdev/
-symDev opensource developer tools
http://www.wirelexsoft.com/
-website for wirelexsoft IDE
http://www.appforge.com/
-website for appforge IDE
http://www.forum.nokia.com
-everything on starting to develop
symbian application
http://symbian.org
-opensource project for Symbian OS