Title: An Introduction to Symbian Operating System
1An Introduction to Symbian Operating System
- Prepared by
- Phang Seong Yee
2Outline
- 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
3Trends for Mobile Applications
- 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. - 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.
4Trends 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)
5Applications 1 year ago
vMiles
Mobile Controls
Micrographs
Color Dialog
Signature Capture Control
Pocket ftCalc
Registry Control
Simple Wireless API
6Applications Today
All Mobile Casino
GPS GolfPro
JL MobileXSales Rep
Microsoft CRMMobile
Pocket Humanity
Valentin IliescuChess
7Mobile 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.
8Mobile 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
9Mobile 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
operationForced or voluntary disconnection - Disconnected operation (read/write) requires
system support - Data caching
- Pre-fetching
- Integration
10Mobile Application
- Applications in mobile computing fall into the
following three broad categories - Stand-alone Applications- run entirely on mobile
terminals in disconnect (detached) mode. - Simple Client-Server (C/S) applications - (e.g.,
DB query). The connection time for C/S
interactions is short. - Advanced mobile applications - (groupware and
distributed multimedia) - information exchanged
is time critical (i.e., real time)
11Mobile 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
12Mobile 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
13Generic Mobile Computing Platform
14Mobile 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.
15Mobile Operating System (2)
- 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
16Mobile OS Example
PalmOS PocketPC Symbian OS
17Market 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
18Symbian Platform Mobile Phone
19Symbian 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
20Is 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.
21Evolution 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 13-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
22Evolution 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.
23Evolution 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.
24Evolution 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.
25Evolution 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.
26Evolution 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.
27Symbian Product
28Symbian Based Platform
MOAP-mobile-phone-oriented application platform
(NTT DoCoMo's Symbian based MOAP
platform ) UIQ- User Interface Quartz
29References Model
Series 60 UIQ Series 80 Series 90
Nokia N-Gage, N-Gage QDNokia 7650, 3650, 3660Nokia 6600, 6620, 6630, 6670, 6680, 6681, 6682, 7610Sendo 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, M600Motorola A920/A925/A1000 Nokia 9210, 9210iNokia 9300, 9300i, 9500 Nokia 7710
30UIQ
- 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.
BenQP30
Motorola M1000
Arima U300
MotorolaMOTORIZR Z8
SE P990
31Series 60
- Down at the other size extreme, Nokia has been
very successful with their small-screen '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 N93i
Nokia N95
32Series 80
- Historically, Nokia have opted for Symbian
devices which don't need a fragile touch-screen.
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
33Series 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, touch-sensitive 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
34Symbian OS Architecture
35System view of Symbian OS
36Symbian OS v8
37Symbian OS v9
38(No Transcript)
39Symbian Development
40Software 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. -
41What 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
42Developer 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.
43Developer 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
44Developer 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.
45Opensource 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
46Development Language
- C
- Java
- Open source -
- -Ruby
- -OPL-dev
- -Perl
- -Python for S60
- -Python for UIQ
- -Simkin
47Conclusion
- 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.
48References-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
49References-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
-