Mobile
Pla*orm
Overview
Mobile
Pla*orms
• Nokia
– Symbian
Pla*orm
– MeeGo
• Google
– Android
• Apple
– iOS
4
• Others
(Windows
Phone
7,
BlackBerry,
HP
webOS)
• Cross-‐pla*orm:
Java
ME
SYMBIAN
PLATFORM
Symbian
OS
(History)
• Most
popular
smartphone
mobile
operaTng
system
in
the
world
• Based
on
EPOC
OS
for
Psion
PDAs
in
the
90's.
• First
Nokia
devices:
9210
Communicator
and
7650
Symbian
Pla*orm
• Open
source
OS
designed
for
smartphones
by
Symbian
FoundaTon
• Successor
to
Symbian
OS
• Versions:
– Symbian^1
(=
S60
5th
EdiTon)
• Nokia
5800,
n97,
Samsung
i8910,
Sony
Ericsson
SaTo...
– Symbian^3
Since
21th
of
October,
Nokia
is
not
referring
to
Symbian^3
• Nokia
N8,
C6-‐01,
C7-‐00,
E7-‐00
or
Symbian^4.
– Symbian^4
(Not
released
yet)
Symbian
Roadmap
developer.symbian.org
Since
21th
of
October,
Nokia
is
not
referring
to
Symbian^3
or
Symbian^4.
Symbian^3
• Symbian
with
touch
screen
support:
mulTtouch
• Qt
preinstalled
• MulTple
home
screens
• Improved
mulTtasking
and
graphics
architecture
Developing
for
Symbian^3
1. Qt
framework
2. Java
ME
3. WRT:
Web
Techniques
• Others:
Flash,
Silverlight,
Python,
Na;ve
Symbian
C++..
October
21:
Nokia
refines
Development
Strategy
• Sole
focus
on
Qt
framework
and
support
for
HTML5
further
clarifies
plaJorm
strategy
• The
decision
to
focus
on
Qt
as
the
sole
applica1on
development
framework
will
ensure
that
applica;ons
will
con;nue
to
be
compa;ble
with
future
evolu;ons
of
Symbian
as
well
as
upcoming
MeeGo
products.
• Nokia
will
no
longer
refer
to
Symbian^3
or
Symbian^4
• Updates
and
upgrades
for
exis;ng
Symbian^3
users
??
1. Qt
framework
2. Java
ME
3. WRT:
Web
Techniques
• Others:
Flash,
Silverlight,
Python,
Na;ve
Symbian
C++..
MEEGO
Maemo
• Maemo
is
a
linux-‐based
open
mobile
pla*orm
• Nokia
n770,
n800,
n810
(without
phone
capabiliTes)
and
n900
• Introduced
in
2005
• App
porTng
is
easy,
Maemo
uses
familiar
components
from
Debian
Linux
• Maemo
5
(Nokia
n900)
MeeGo
• Combining
Intel's
Moblin
and
Nokia's
Maemo
into
one.
• Open
source
Linux
project
• Intended
to
run
variety
hardware
pla*orms:
handhelds,
netbooks,
television
• MeeGo
core,
User
Experience
layer
(UX)
• Mobile
phones:
Handset
UX
Netbook UX" Netbook UI + Apps" Handset UX" Handset UI + Apps"
Netbook UI Framework" Handset UI Framework"
MeeGo API"
Comms Internet Visual Media Data Mgmt! Device Personal
Services! Services! Services! Services! Services! Services!
Connection Mgmt Layout Engine 3D Graphics Media FW Content Framework Device Health PIM Services
ConnMan WebKit OpenGL / ES GStreamer Tracker
Telephony Web Run-Time 2D Graphics Camera Context Framework Sensor Framework Device Sync
oFono WebKit Cairo, QPainter GStreamer plug-in ContextKit
VOIP, IM, Pres Web Services I18n Rendering Codecs Package Manager Resource Manager Accts & SSO
Telepathy Lib SocialWeb Pango, QText GStreamer plug-in PackageKit
Bluetooth Location GTK /Clutter Audio Backup & Restore
BlueZ GeoClue PulseAudio
X UPnP
GUPnP
Settings Database Platform Info Message Bus System Libraries
GConf libudev D-Bus glibc, glib
MeeGo Kernel" 14"
Nokia's
View
• MeeGo
is
targeted
on
high
end
phones
(superphones
or
computers)
• Symbian
OS
is
targeted
on
mid-‐range
phones
(smartphones)
– Upcoming
N8
is
a
mid-‐range
phone!
• Series
40
/
30
/
20
for
low
end
(phones)
– No
naTve
development
environment
– Java
ME!
First
MeeGo
Phone:
Nokia
N9
(Rumors)
QT
Qt?
• Qt
is
a
cross-‐plaForm
applicaGon
and
UI
framework.
Qt
Tools
• Qt
SDK
4.7
– For
developing
desktop
apps
– Available
for
Windows,
Linux
and
Mac
• Nokia
Qt
SDK
1.0.1
– For
developing
desktop
apps
and
mobile
apps
– Mobility
APIs
– Available
for
Windows,
Linux
and
Mac
(beta)
• Mac
version:
desktop
and
Maemo
• Windows
version:
desktop
and
Symbian
• Linux
version:
desktop
and
Maemo
– Remote
CompilaTon!
Demo
Qt
Supported
Phones?
• Symbian^3
devices
support
Qt
by
naTve
(Nokia
n8,
etc)
• What
about
"old"
Symbian
–
devices?
– Don't
have
any
Qt
support
by
default
– Qt
app
includes
smart
installer!
– Smart
installer
checks
that
if
device
does
not
include
Qt,
it
will
install
it
automaTcally!
– S60
3.1
and
later!
Qt
Quick
• QML
is
a
JavaScript
based
declaraTve
language
for
designing
UI
centric
applicaTons!
• Qt
is
a
C++
-‐
framework,
so
C++
knowledge
is
required.
C++
can
be
hard.
• UI
Designers
may
not
want
to
learn
C++
• Fluid
animaTon
and
touch
• Comes
with
Qt
4.7.
Nokia's
Qt
SDK
supports
at
this
Tme
Qt
4.6
QML
Syntax
import Qt 4.7
Rectangle {
id: canvas
width: 200
height: 200
color: "blue"
Image {
id: logo
source: "pics/logo.png"
anchors.centerIn: parent
x: canvas.height / 5
}
}
Demo
Future
of
UI
-‐
design?
• 1)
MeeGo
Touch
– Specific
UI
style
primarily
for
touch
screen
devices
– Built
on
top
of
Qt
(C++)
• 2)
Qt
Quick
Components
– Premade
UI
–
components
– Focus
on
MeeGo
Look
and
Feel
– Built
on
top
of
Qt
Quick
Nokia's
Ovi
• Market
place
for
– Java
ME,
Flash,
Qt
-‐
apps.
• Millions
of
potenTal
users
• Publishing
– Individual
the
cost
is
1
euro
– For
Symbian
apps,
ovi
signing
is
required
– 30%
of
revenue
to
Nokia
ANDROID
Google
Android
• Android
is
a
Linux-‐based
open
pla*orm
• Developed
by
Open
Handset
Alliance,
which
is
lead
by
Google.
– HTC,
Intel,
Motorola,
Qualcomm,
T-‐Mobile
and
NVIDIA
• Google
Nexus
One
introduced
on
Jan
5.
2010
• Several
phones
and
manufactures
• Gartner
predicTon:
in
2012
Android
is
the
second
popular
Mobile
OS!
• Versions
1.5,
1.6,
2.1
and
2.2
Android
Development
• Programming
Language:
Java
• Google's
SDK
available
for
Win,
Linux
and
Mac
• Google's
own
virtual
machine:
Dalvik
• Android
Java-‐apps
are
not
the
same
than
standard
Java
–
apps.
• Oracle
sues
Google
for
the
usage
of
Java
–
technology
(august
2010)
Demo
Android
Market
• Register
with
Google
Account
• RegistraTon
fee
$25
• Free
Apps:
no
fee,
otherwise
30%
• Available
in
Finland
– users
can
purchase
apps
and
developers
can
sell
apps
• Apps
can
be
distributed
also
via
non-‐market
IOS
Apple's
iPhone
• Prior
to
iPhone
(2007/2008)
– No
touch
screens
– No
mulTtouch
– No
markets
– NaTve
app
development
was
very
hard
(symbian
C++)
• iPhone
was
a
revoluTon
in
mobile
pla*orms
iOS
4
• Mobile
pla*orm
developed
by
Apple
for
iPhone,
iPod
Touch
and
iPad
• Based
on
Mac
OS
X
• Development
kit
only
available
for
Mac
OS
X
• Programming
Language:
ObjecTve-‐C
• App
distribuTon
only
via
Apple’s
App
Store
Demo
App
Store
• Central
Pla*orm
for
iOS
4
apps
• By
far
the
most
successful
market
place
for
mobile
applicaTons
• 99$
fee
for
the
developer
program
• Free
Apps:
no
fee,
otherwise
30%
• Apple
Approval
FUTURE?
Thoughts
on
future:
BaTle
for
Developers
• Nokia
• Android
+
Qt
looks
very
promising
+
Lot
of
support
from
non-‐
+
Hardware
excellent
Nokia
manufactures
+
Market
leader:
zillions
shipped
devices
+
Good
programming
+
Open
environment
-‐ Qt
under
heavy
development
+
Open
-‐ FragmentaTon?
+
Ecosystem
-‐ MeeGo's
future?
-‐
FragmentaTon
-‐ Ovi
Store
and
Ecosystem
-‐ Success
in
USA?
Thoughts
on
future:
BaTle
for
Developers
• Apple
+
Ecosystem
+
One
OS,
couple
devices,
no
fragmentaTon
+
App
Store,
millions
of
applicaTons
+
Mature
programming
environment
-‐ Apple's
control
for
everything
-‐ Close
OS
and
rules