Interactive Pervasive
Computing
Peter CH Kwok
1
CHAPTER 4
Operation System (OS)
and Software of
Pervasive Devices
1-2
Chapter Content
• Symbian OS – S60, S80 and UIQ platform
• Palm OS Platform
• Windows Mobile Platform
• Iphone/Mac OS/Safari Browser
• BlackBerry OS Platform
• Androrid Platform
• Mobile Browser - Safari, NetFront and Opera
• Java SE and Java ME Platform
1-3
Symbian OS - Background
• Symbian OS is used by leading mobile phone
manufacturers
• As a Descendant of Psion's EPOC OS
• Run exclusively on ARM processors
• Symbian company is currently owned by
Ericsson, Panasonic, Siemens, Nokia, Sony
Ericsson and Samsung
• Symbian Ltd provide reference implementation
of related development libraries, user interface,
and common tools
1-4
Design of Symbian OS
• Smartphone platform based on Symbian OS -
UIQ, Nokia’s S60, S80, S90 and NTT Docomo’s
FOMA
• Adopt to different Smartphone Form Factor
• Based on EPOC, with similar desktop OS
features – pre-emptive multi-tasking, multi-
threading and memory protection
• Designed for handheld device, can operate
several months without reboot
• Symbian Version 6.x (Nokia 7650, 3650) 7.x,
8.x and 9.x (Nokia N95) 1-5
Devices of Symbian OS
• Nokia S80 - Nokia 9210 Communicator, 9300 and
9500 Communicator
• UIQ
SonyEricsson P800, P900, P990, W950 and P1i,
Motorola’s A920, A1000, BenQ P30, P31, Nokia
6708.etc
• Nokia S60
Latest version is S60 3.0 – Nokia N73, Nokia N95,
Nokia N82. etc
• S90 – Nokia 7710
• FOMA platform – by Fujitsu, Mitsubishi, Sony
Ericsson and Sharp in NTT Docomo in Japan 1-6
Nokia S60 Architecture
1-7
Symbian OS - Development
• The native language of the Symbian OS is C++
• UIQ Platform – with UIQ SDK (latest version 3.x)
http://developer.uiq.com/devtools_uiqsdk.html
• S60 Platform –
previous versions of Symbian OS, the commercial
IDE CodeWarrior for Symbian OS was favoured
Nokia buy CodeWarrior and develop the Carbide.C++
IDE tools
Carbide.C++ is offered in 4 different versions:
Express (free), Developer, Professional, and OEM,
Visual Studio with the support of Carbide.vs add-ons
1-8
Symbian OS - Development
• Symbian OS applications need to find a route to
customers' mobile phones. They are packaged
in SIS files which may be installed over-the-air,
via PC connect or in some cases via Bluetooth
or memory cards
• SISx application deploy file in Symbian OS 9.x,
because any application wishing to have any
capabilities beyond the bare minimum must be
signed via the Symbian Signed program.
1-9
Symbian OS –
Other Type of Developments
• Many Symbian OS devices can also be
programmed in OPL, Python, Visual Basic,
Simkin, and Perl –
• Java - Java ME and PersonalJava flavors
of Java
• Adobe Flash lite application
1-10
Palm OS (Garnet OS)
• Once owned by Palm Computing Inc, now sold
to Japan Company Access
http://www.access-company.com/
• Earliest version of Palm OS application are
installed on the RAM and then executed directly
• Processor - Palm OS 5 support ARM processor
and the palm application compatibility
Environment (PACE) emulator allow support for
the legacy ―Dragonball‖ processor
• The native language of the Palm OS is C++
1-11
Palm OS Development
• Palm/Core Garnet SDK can be download in
Access Development Network
http://www.accessdevnet.com/
• Palm/Garnet Desktop SDK - enable developer to
extends the desktop software
• Once we use CodeWarrior Development Studio
for Palm OS 5 (now CodeWarrior is stopped)
• A Java Run time Environment is also available
for the Palm OS platform, but is non-official tools
1-12
Windows Mobile 5
• Powered by Windows CE 5.0 and used the Dot
Net Compact Framework 1.0 SP2 — an
environment for programs based on .NET
• Windows Mobile 5.0 included Microsoft
Exchange Server’s push functionality
improvements that worked with Exchange 2003
SP2
• New version of Office Mobile – Mobile Word,
Mobile Excel and Mobile PowerPoint
1-13
Windows Mobile 6
• Windows Mobile 6 is powered by Windows CE
5.2 and is strongly linked to Windows Live and
Microsoft Exchange 2007 products.
• AJAX, JavaScript and XMLDOM support on
Internet Explorer Mobile
• Dot Net Compact Framework 2.0 SP
Preinstalled
• Microsoft SQL Server 2005 Compact Edition
Preinstalled in ROM
• HTML Email support in Outlook Mobile
1-14
Version of Windows Mobiles
Windows Mobile Windows Mobile
5 6
Pocket PC Windows Mobile 5.0 Windows Mobile
without for Pocket PC Professional
Mobile
Phone
Smartphone Windows Mobile 5.0 Windows Mobile
for Smartphone Standard
Pocket PC Windows Mobile 5.0 Windows Mobile
with Mobile for Pocket PC Phone Classic
Phone Edition 15
Windows Mobile Development
• Microsoft Visual C++ for native code
development
• Dot Net Compact Framework for managed code
development – running on windows CE devices
• Tools to develop
Microsoft Visual Studio 2005 or
Visual Studio 2008
Windows Mobile 6 Professional SDK
Windows Mobile Pocket PC SDK
1-16
Iphone and Ipod Touch OS
Architecture
• Iphone OS runs on the iPhone and iPod Touch
• A variant of the same basic Mach Keral found in
Mac OS 10
• Software component ―Core Animation‖ and the
―PowerVR‖ MBX 3D Hardware, responsible for
the smooth animations used in its interface
• ARM-based processor
• Multi-touch display of 320×480 resolutions,
application can be developed based on its multi-
touch technology
1-17
Iphone and Ipod Developer
Program
• The iPhone Developer Program provides a
complete and integrated process for developing,
debugging, and distributing application for
Iphone and Ipod
https://developer.apple.com/iphone/program/
• Apply as a member
Standard Developer $99
Enterprise Developer $299
• The Iphone SDK only run in Mac OX X Leopard
1-18
Web Application with
Iphone and Ipod Touch
• Develop Iphone and Ipod application running on
Safari web browser
http://developer.apple.com/webapps/
• Features of the Safari browser
Auto resize of webpage to fit the browser’s size
Multi-touch features
XHTML 1.0, CSS 2.1, JavaScript, W3C DOM Level 2,
AJAX Technology
Support cookies
DOES NOT SUPPORT Flash or Java
1-19
Web Application with
Iphone and Ipod Touch
• Iphone web application is characterize by
minimizes the user’s awareness of the
browser experience – don’t have to use
Safari’s browser buttons
An iPhone application reproduces the control
style, layout, and behavior of the built-in
iPhone applications
An iPhone application integrates with built-in
iPhone features and services.
1-20
BlackBerry OS
• BlackBerry OS is the proprietary operating
system made by Research in Motion for their
BlackBerry line of handhelds. It provides multi-
tasking, and makes heavy use of the device's
specialized input devices, particularly the
thumbwheel
• The current OS 4 provides a subset of MIDP 2.0
• Developers can write software using these APIs,
and proprietary BlackBerry APIs as well
• Application are digitally signed – associated
the developer 1-21
BlackBerry Software
• Integrated up to 10 to Push Email from BlackBerry,
Microsoft Exchange, Domino, Yahoo and other
email systems, viewing attachments of Adobe PDF,
Microsoft Word, Excel and Powerpoint
• BlackBerry Browser – only support JavaScript
• BlackBerry Maps
• Facebook services
• Yahoo Messager, Google Talks
• Calendar, Address Book and PIM Sync via USB
• GPS
1-22
• BlackBerry Games
BlackBerry Wireless Platform
• BlackBerry offers leading wireless solutions,
providing access to a wide range of applications
on a variety of BlackBerry smartphones
• provides a standards-based platform and
developer tools, which allow the development
and deployment of custom wireless applications
HTML web browser
Java ME development tools
.NET application
• Support standard networking protocols –
connect to any kind of server applications 1-23
BlackBerry Mobile Data System
BlackBerry MDS support Microsoft Exchanges, Lotus
Domino, Novell GroupWire and BlackBerry’s own MDS
system for messaging application
1-24
BlackBerry Internet Services
• BlackBerry Internet Service leverages centrally
hosted wireless gateways, allowing users to
access up to 10 supported email accounts and
Internet browsing
1-25
BlackBerry Developer Tools
• BlackBerry MDS Studio
developers can quickly create rich-client
applications using a component-based drag
and drop approach (require MDS runtime)
• BlackBerry Plug-in for Visual Studio
Development on MDS platform
• BlackBerry Java Development Environment
(JDE)
A IDE and Simulation Tools for Java ME
application for Java-based BlackBerry to
develop standalone or client-server apps. 26
Android –
Mobile Phone OS Project
• Android is a software development platform for
mobile phone based on the Linux OS
• Developed by Google and the Open Handset
Alliance for different mobile phone manufacturer
• Features
• 3D - OpenGL ES 1.0
• SQLite - for data storage
• WebKit - web browser
• Dalvik - Java Virtual Machine
• FreeType - Bitmap and Vector Images
1-27• Connectivity - BlueTooth, Wi-Fi, GPS
Android Software
• Core applications
Email client, SMS program, calendar, maps(googles),
browser, contacts, and others.
written using the Java programming language
• Application Framework
Full access to the same framework APIs
Architecture is designed to simplify the reuse of
components
• Runtime
Core C++ library
Multiple Java (Dalvik) Virtual Machine (VM) running in
process 1-28
Android Architecture
1-29
Android
Software Development Kit (SDK)
• Android SDK provides the tools and APIs
necessary to begin developing applications on
the Android platform using the Java
programming language
• Download Android SDK Core
http://code.google.com/android/download.html
• To Develop with Eclipse IDE, we can add the
plugin - Android Development Tools (ADT)
https://dl-ssl.google.com/android/eclipse/
1-30
Android – Development Tools
1-31
Adobe Flash Lite
• Adobe Flash is the most successful interactive multimedia
tools to deliver web contents
• Flash Lite – lightweight version for mobile devices
• Port flash application and game to mobile platform with
the minimum effort – only require effort for correct Visual
Design for small screen
• Features
ActionScript – game logic and business logic
Connectivity - XML, media file and HTTP request
Persistent Storage – save data
Flash Video – support FLV document
Cross Platform – support by different handset brands 1-32
Adobe Flash Lite - Versions
• For complete version comparsions
• http://www.adobe.com/tw/products/flashlite/version/
Flash 1.1 Flash Lite 2.1 Flash Lite 3.0
Flash Video (FLV) Yes
Dynamic Media Yes Yes
File Import
Flash Version Flash 4 or before Flash 7 or before Flash 8 or before
Compatible
ActionScript ActionScript 1.0 ActionScript 1.0 ActionScript 1.0
2.0 (Flash 7 or 2.0 (Flash 8.0 ore
before) before)
Persistent Yes Yes
Storage
XML support Yes Yes 1-33
Adobe Device Central
• Adobe’s Flash Lite software management and
testing tools – Bundled in Adobe Flash CS3
• Download from web to get information of latest
devices
1-34
Flash Lite Development -
challenges
• Memory – at most 1.5M to 2M Runtime RAM
• Display – 176 x220 or 240x320(QVGA) small
resolutions
• Processor – ARM9 or even slower processor
• Diversity – support handset of different
resolutions, different vendor and hardware, in
one single files
• Limited Flash Content Size - 100K for Flash lite
1.1, 400K for Flash Lite 2.0
1-35
Flash Lite – Supported Devices
• Windows Mobile /Pocket PC
Get Flash Player for Pocket PC (Flash 7)
• http://www.adobe.com/products/flashplayer_pocketpc
• Symbian S60 devices
Some S60 devices such as Nokia N95, N82 has
pre-installed Flash Lite 1.1/2.x
Get Latest Flash Lite 3.0
• http://labs.adobe.com/technologies/flashlite3
• Symbian FOMA Devices in Japan
• Sony Ericsson Classic mobile phones 1-36
Java ME Platform
• Java as one of the most popular programming
platform
• Java is not a mobile phone OS, but run as a
platform on top of many mobile phone OSs
Symbian OS
Windows CE/Windows Mobile
BlackBerry OS
Palm OS
1-37
Java ME Architecture
1-38
Java ME Architecture
1-39
References
• Symbian Developer Network
http://developer.symbian.com/main/index.jsp
• Symbian OS
http://www.symbian.com
• S60 Platform
http://www.s60.com
• UIQ Developer Community
http://developer.uiq.com/devtools_uiqsdk.html
• Open GL ES
http://www.khronos.org/opengles/
40
References
• Access Garnet Platform
http://www.accessdevnet.com/index.php/Garnet-
OS/Garnet-OS.html
• I Phone Developer Program
http://developer.apple.com/iphone/program/
• Desiging Content for Iphone and Ipod Touch
http://developer.apple.com/webapps/designingcontent
.php
• Black Berry Developer Program
http://na.blackberry.com/eng/developers/
http://na.blackberry.com/eng/developers/started/tools.
1-41
jsp#mds
References
• NetFront mobile browser
http://jp.access-
company.com/products/clientsuite/clientsuite.html
• Android
http://code.google.com/android/index.html
• Adobe Flash Lite Introduction
http://www.adobe.com/tw/products/flashlite/
• Sample Flash Lite Application
http://www.adobe.com/cfusion/exchange/index.cfm?e
vent=productHome&exc=12&loc=en_us
1-42
1-43
1-44
1-45
1-46
1-47
1-48
1-49
1-50
1-51