0% found this document useful (0 votes)
129 views

Lecture 1 - Introduction Mobile Programming

This document provides an overview of various mobile platforms including Symbian, Android, iOS, and others. It focuses on details about Symbian and MeeGo platforms. Symbian was historically Nokia's primary platform but they are shifting focus to MeeGo and Qt Framework. MeeGo is an open source project combining Intel's Moblin and Nokia's Maemo. It is intended to run on a variety of hardware. The document outlines the history and roadmap for Symbian and MeeGo. It also discusses tools for developing on these platforms including Qt and QML.

Uploaded by

namnl2706
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views

Lecture 1 - Introduction Mobile Programming

This document provides an overview of various mobile platforms including Symbian, Android, iOS, and others. It focuses on details about Symbian and MeeGo platforms. Symbian was historically Nokia's primary platform but they are shifting focus to MeeGo and Qt Framework. MeeGo is an open source project combining Intel's Moblin and Nokia's Maemo. It is intended to run on a variety of hardware. The document outlines the history and roadmap for Symbian and MeeGo. It also discusses tools for developing on these platforms including Qt and QML.

Uploaded by

namnl2706
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

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  

You might also like