SlideShare une entreprise Scribd logo
1  sur  41
Mobile Application Development
   Platforms: The Options
         Wilfred M. Mworia


       Mobile BootCamp 2009
Objectives
 Overview – focus on breadth
  understanding not depth (that’s what the
  labs are for )
 Hopefully, help you choose which labs to
  take
 Main focus on Smartphone dev since this
  is what will be taught in the labs
Agenda
 Overview – why is mobile such a
  compelling platform
 Categorization of mobile app dev
    ◦ Low-end platforms
    ◦ Mid-level phones platforms
    ◦ Smartphone platforms
Overview
The Mobile Landscape
   Gartner press release (2005):
    ◦ Estimated there would be three billion mobile
      subscribers in the world by 2010, a doubling of
      current subscriber levels – most growth in
      Asia/Pacific (lower incomes, cheaper handsets)
    ◦ Nick Jones, Research VP and Gartner Fellow,
      “One of the greatest challenges CIOs will face is
      the proliferation of wireless devices… “
    ◦ Gartner's annual survey of 1400 CIOs showed
      that wireless is a top three technology priority for
      European CIOs in 2005.


http://www.gartner.com/it/page.jsp?id=492131
   Gartner (more recently, 2008)
    ◦ 23% of workers will use only a mobile phone
      in 2012, up from about 4% today.
    ◦ Predicts that business users with both a
      mobile phone and a desktop phone will make
      up the overwhelming majority but will
      decrease from more than 80% today to less
      than 70% in 2012.
    ◦ Strong trend toward corporate support of
      cellular services




http://tinyurl.com/qf6pyl
Africa is not left behind
    Mobile phone use in Africa is growing faster than anywhere
     else in the world, according to a report.
    According to a survey by Vodafone:
       ◦ More than 85% of small businesses run by black people,
         surveyed in South Africa, rely solely on mobile phones for
         telecommunications.
       ◦ 62% of businesses in South Africa, and 59% in Egypt, said mobile
         use was linked to an increase in profits - despite higher call costs.
       ◦ 97% of people surveyed in Tanzania said they could access a
         mobile phone, while just 28% could access a land line phone.
       ◦ A developing country which has an average of 10 more mobile
         phones per 100 population between 1996 and 2003 had 0.59%
         higher GDP growth than an otherwise identical country.




http://news.bbc.co.uk/2/hi/business/4331863.stm
http://www.slideshare.net/whiteafrican/mobile-phones-in-africa-picnic-08-presentation
http://www.africantelecomsnews.com/Africa_Subscriber_Data.html
Mobile Applications
Development
The Platforms
Categorization
   Categorization of mobile app dev
    ◦ Low-end platforms
       SMS
       USSD
       JavaCard & SIM Application Toolkit
    ◦ Mid-level phones platforms
       Java ME
    ◦ Smartphone platforms
         iPhone
         Android
         Symbian
         Windows Mobile
         Blackberry
         Palm WebOS
Characteristics         Low-end                   Mid-level            Smartphone
Form factor             Small screen,             Larger screen,       Larger screen;
                        black/white or            colored; more on     QWERTY keyboard,
                        greenish screen, little   board memory +       touch or both; huge
                        memory                    expansion;           memory + expansion;
                                                                       great screen;
Web browser             None                      WAP browser          Advanced browser
                                                                       (WebKit, IE,
                                                                       OperaMini)
Native 3rd party apps   Not really                Java runtime; J2ME   Full SDK, great dev
                                                                       tools, native apps run
                                                                       by the OS
OS capabilities         Very basic,               Mid-way              Advanced OS; multi-
                                                                       programming etc
                                                                       iPhone OS, WebOS,
                                                                       Android, WM;
Example handsets        Nokia 1100                                     iPhone, Android based
                                                                       (G1 etc), Windows
                                                                       Mobile based
                                                                       (Samsung Omnia,
                                                                       HTC), Symbian based
                                                                       (Nokia N-series);
Low-end devices




            Nokia 1100
Low-end device platforms
  Options:
2. SMS based apps
3. USSD
4. SIM Application Toolkit
 Pros:
    ◦   Ubiquitous (a beautiful property)
    ◦   Not so complex
    ◦   If you are a dev, no worries about interface design;
        but you must consider interaction design
   Cons
    ◦   Very limited
    ◦   Possible dependency on a mobile service provider
Low-end: SMS
 A lot of free and open source SMS libraries and tools out there
 Very simple:
    1.   Get SMS in some expected structure
    2.   Parse text for keywords
    3.   Perform actions
    4.   Formulate and send response
 Literally no need to be concerned over user interface issues (Yay
  for the dev!)
 But what about the user’s interaction with your system???
    ◦    #OPERATION#001#[ACCOUNT NO.]
    ◦    #GET#BALANCE#[ACCOUNT NO.]#
    ◦    GET BALANCE [ACCOUNT NO.]
   You might need to depend on a service provider’s SMS Centers
    (SMSCs) or gateway like Kannel – if scaling out; optionally tools
    like FrontlineSMS can use a modem or phone connected to the PC
    (no internet needed)
Low-end: SMS Free Tools &
  Libraries
      Gnokii - http://www.gnokii.org/ & Gsmlib -
       http://www.pxh.de/fs/gsmlib/ - command line tools for
       send/receive SMS (and more)
      Kannel SMS & WAP gateway - http://www.kannel.org/
       connect to a mobile operator's SMS center (SMSC),
       or using a GSM mobile phone or GSM modem as a
       virtual SMS center
      OpenSMPP API – Java API to communicate with an
       SMSC http://sourceforge.net/projects/smstools/
      SMPPSim – SMSC Simulator
       http://www.seleniumsoftware.com/downloads.html
      SMSLib – for Java, has a .NET port http://smslib.org/


http://www.developershome.com/sms/freeLibForSMS.asp
Low-end: USSD
 USSD = Unstructured Supplementary
  Service Data
 Think of it a bit like instant messaging
 (Unlike SMS) no store and forward (no
  SMSC)
 User sends a code which fires an action
  which returns a response (maybe in the
  form of an SMS)
 E.g. *144# - gets balance on safaricom,
  *141#458789651236# take the 12 digit
  code following the USSD code as input and
  do something
Low-end: Java Card & SIM
Application Toolkit (SAT)
 How does MPESA work?
 The application resides on the SIM card
 Enables menu based interaction
 Get user input in a more natural, step by
  step way – e.g. enter your PIN -> enter
  the amount….
 Java Card…
 You can use the SIM Application Toolkit
  to write these kind of apps…
JavaCard
   Smart cards and other devices with very limited memory to
    run small applications, called applets, that employ Java
    technology e.g. SIM cards
   Secure and interoperable execution platform
   At the language level, Java Card is a precise subset of Java
   Java Card bytecode run by the Java Card Virtual Machine is a
    functional subset of Java bytecode run by the JVM
   However, there are differences in the Library and Runtime
    e.g. Java Security Manager not supported
   Java Card 3.0 has two editions:
    ◦ Classic edition: targets more resource-constrained devices
      that support traditional applet-based applications
    ◦ Connected edition: enhanced execution environment; new
      VM; network-oriented features such as web apps
SIM Application Toolkit (SAT)
 GSM Standard
 A set of commands which define how the card
  should interact with the outside world (handset
  & network)
 The SIM initiates commands independently of the
  handset and the network
 Allows the flexibility to update the SIM to alter
  the services and download new services over the
  air
 Designed as a client-server application. On the
  server side, SimCard platform and the client side,
  phone that supports the SIM Application Toolkit
Banking             Location              Browser




                                                    SIM-WIM


          SIM Application Toolkit (SAT)




                                 SIM
http://www.gemalto.com/techno/stk/
Mid-Level: Java Micro Edition (Java
ME)
   Gray-area – Smartphones also support this, but not all
    phones that support this are Smartphones
   Version of Java aimed at devices with limited resources
   Highly optimized runtime environment
   Problem: differences in device capabilities, memory, processor
   Solution:
    ◦ Configurations: provides the most basic set of libraries and
      virtual machine capabilities for a broad range of devices-
       Connected Limited Device Configuration (CLDC);
       Connected Device Config. (CDC)
    ◦ Profiles: For a config., a set of APIs that support a narrower
      range of devices e.g. Mobile Information Device Profile (MIDP)
    ◦ Optional Packages: a set of technology-specific APIs; means
      of providing additional functionality
http://java.sun.com/javame/technology/index.jsp
http://www.sematopia.com/?p=127
Smartphone: iPhone




            iPhone 3G
Smartphone: iPhone
 Language: Objective-C ; CocoaTouch framework
 Difficulty: Very steep learning curve but gets much easier after that
 Tools:
    ◦ Hardware: Mac (pretty expensive)
    ◦ Software: Xcode (free); iPhone SDK
   Pros:
    ◦   Very comprehensive APIs, very well documented
    ◦   The iPhone is a great platform esp for consumer level apps
    ◦   Ready online market place for your apps
    ◦   Free tools (once you have the costly hardware)
   Cons
    ◦ Very different programming style
    ◦ Expensive to get a handset to test on
    ◦ You need specific hardware
    ◦ Marketplace controlled by Apple; 70-30 revenue sharing; Apps have to be approved
      by Apple first
    ◦ Only one device manufacturer and device type
Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche
Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche
Smartphone: Android




         T-Mobile G1
Smartphone: Android
 Language: Java
 Difficulty: Intermediate to advanced Java & J2ME
 Tools:
    ◦ Hardware: PC or Mac
    ◦ Software: Eclipse is the editor of choice; Android SDK
   Pros:
    ◦   Familiar programming model
    ◦   Very comprehensive APIs, very well documented
    ◦   Ready online market place for your apps
    ◦   Open source OS
    ◦   Open Handset Alliance creates a strong backing
    ◦   Free tools
   Cons
    ◦ Handsets not readily available (at least in Africa). Google offers a developer handset
      (not free)
    ◦ The platform is still young, not many Android based handsets out there; but that will
      change – potentially many device manufacturers Samsung, HTC etc
Smartphone: Symbian




         Nokia N-series
Smartphone: Symbian
 Language: Mainly Native Symbian C++; Java ME, Flash & Python
  Runtimes
 Difficulty: Challenging for C++; Java ME more familiar; more control
  with C++
 Tools:
    ◦ Hardware: PC
    ◦ Software: Symbian Application Development Toolkit (ADT); SDKs e.g. Nokia S60
      SDK
   Pros:
    ◦   Familiar programming model
    ◦   Very comprehensive APIs, very well documented
    ◦   Ready online market place for your apps
    ◦   Open source OS
    ◦   Symbian Foundation backs the development of Symbian
    ◦   Handsets are readily available
    ◦   Many device types and manufacturers – Samsung, LG, Nokia
    ◦   Free tools
   Cons
    ◦ Needs some good experience with C++
Smartphone: Blackberry




          Blackberry Storm
Smartphone: Blackberry
 Language: Several options: Java, .NET,
 Difficulty: For Java, if you are familiar with J2ME you’ll be great. .NET is
  by nature not so hard
 Tools:
    ◦ Hardware: PC
    ◦ Software: For Java: Plugin for Eclipse, Blackberry JDE; For .NET: Plugin for VS;
      MDS Studio
   Pros:
    ◦   Options for programming languages and tools
    ◦   Very comprehensive APIs, very well documented
    ◦   Good for enterprise apps
    ◦   Handsets are readily available
    ◦   Free tools
   Cons
    ◦ IMHO perhaps not the best for consumer apps
    ◦ Writing apps for different Blackberry devices can get tricky; have to pick the right
      version of tools for the right OS version
    ◦ Only one device manufacturer RIM
Smartphone: Windows Mobile




         Samsung Omnia
Smartphone: Windows Mobile
 Language: Mainly .NET or C++
 Difficulty: Not so hard, you should be very comfortable if you are
  familiar with .NET
 Tools:
    ◦ Hardware: PC
    ◦ Software: Visual Studio, SDKs (PocketPC, Smartphone)
   Pros:
    ◦   .NET is not so hard
    ◦   Very comprehensive APIs, very well documented
    ◦   Good for enterprise apps and consumer apps
    ◦   Handsets are readily available
    ◦   Visual Studio will cost you, the SDKs are free
    ◦   Lots of device manufacturers, types of devices – HTC, Samsung, i-mate etc
   Cons
    ◦ It has been said that WM is on the decline due to competition from the other
      platforms esp. Blackberry (in the enterprise) & iPhone (consumer level) and now
      Android
Smartphone: Palm WebOS




         Palm Pre
Smartphone: Palm WebOS
 Linux based OS
 Very new, the Palm Pre was launched earlier
  this year at CES.
 Developer SDK (Mojo) yet to be released.
  Later this year
 The Palm Pre is the only device currently
  running this OS
 Palm will provide an on-device application
  catalog to deliver your apps directly to
  users.
 HTML, CSS, JavaScript based applications
General Guidance to Smartphone
Dev
   Pick a platform
   Learn a bit about the OS in general
    ◦ Understand the environment in which your app
      will run
    ◦ How the OS treats scenarios like multi-tasking
    ◦ Could help with things like performance tuning
   Get the tools
   Learn the APIs
    ◦ Learn as you go – it’s easier to pick what you
      need and learn it when you need it instead of
      trying to learn all the APIs beforehand
   Design is key for consumer apps
Thank You

Contenu connexe

Tendances

iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsIndiginox
 
Symbian Operating system
Symbian Operating systemSymbian Operating system
Symbian Operating systemPravin Shinde
 
Astute Corporate Presentation
Astute Corporate PresentationAstute Corporate Presentation
Astute Corporate PresentationApurv Bharadwaj
 
Meego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaMeego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaFrancesco Baldassarri
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesNokiaAppForum
 
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für TabletsStefan Kolb
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overviewDima Maleev
 
PRIV Security: How BlackBerry PRIV Safeguards Your Data
PRIV Security: How BlackBerry PRIV Safeguards Your DataPRIV Security: How BlackBerry PRIV Safeguards Your Data
PRIV Security: How BlackBerry PRIV Safeguards Your DataBlackBerry
 
Symbian mobile operating system seminar report
Symbian mobile operating system seminar reportSymbian mobile operating system seminar report
Symbian mobile operating system seminar reportDevesh Singh
 
Enterprise Mobile Ecosystem
Enterprise Mobile EcosystemEnterprise Mobile Ecosystem
Enterprise Mobile EcosystemAjit Kumar
 
Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform SecurityAndreas Jakl
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416zxdrtyu
 
Symbian OS
Symbian OSSymbian OS
Symbian OScomdj
 
Symbian Os Introduction
Symbian Os IntroductionSymbian Os Introduction
Symbian Os IntroductionDeepak Rathi
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Symbian OS Overview
Symbian OS OverviewSymbian OS Overview
Symbian OS OverviewAndreas Jakl
 

Tendances (20)

Symbian Os
Symbian OsSymbian Os
Symbian Os
 
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
 
Symbian Operating system
Symbian Operating systemSymbian Operating system
Symbian Operating system
 
Astute Corporate Presentation
Astute Corporate PresentationAstute Corporate Presentation
Astute Corporate Presentation
 
Meego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca RoffiaMeego Italian Day 2011 - Dr. Luca Roffia
Meego Italian Day 2011 - Dr. Luca Roffia
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi Services
 
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML5 zum Unternehmens-Dashboard für Tablets
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
 
MATHS
MATHSMATHS
MATHS
 
PRIV Security: How BlackBerry PRIV Safeguards Your Data
PRIV Security: How BlackBerry PRIV Safeguards Your DataPRIV Security: How BlackBerry PRIV Safeguards Your Data
PRIV Security: How BlackBerry PRIV Safeguards Your Data
 
Symbian mobile operating system seminar report
Symbian mobile operating system seminar reportSymbian mobile operating system seminar report
Symbian mobile operating system seminar report
 
Enterprise Mobile Ecosystem
Enterprise Mobile EcosystemEnterprise Mobile Ecosystem
Enterprise Mobile Ecosystem
 
Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform Security
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
889448 634356855122132416
889448 634356855122132416889448 634356855122132416
889448 634356855122132416
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Symbian Os Introduction
Symbian Os IntroductionSymbian Os Introduction
Symbian Os Introduction
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Symbian OS Overview
Symbian OS OverviewSymbian OS Overview
Symbian OS Overview
 

En vedette

What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?Gail Murphy
 
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...VMware Tanzu
 
The productivity of testing in software development life cycle
The productivity of testing in software development life cycleThe productivity of testing in software development life cycle
The productivity of testing in software development life cycleNora Alriyes
 
Measuring Performance & Productivity in Software Development Teams
Measuring Performance & Productivity in Software Development TeamsMeasuring Performance & Productivity in Software Development Teams
Measuring Performance & Productivity in Software Development TeamsMichael Dunham
 
Acm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slidesAcm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slidesGail Murphy
 
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Pooja Talreja
 
USAT : USIM Application Toolkit
USAT : USIM Application ToolkitUSAT : USIM Application Toolkit
USAT : USIM Application ToolkitByeongweon Moon
 
Pre-launch Checklist for Going Production on AWS
Pre-launch Checklist for Going Production on AWS Pre-launch Checklist for Going Production on AWS
Pre-launch Checklist for Going Production on AWS Amazon Web Services
 
Secured Mobile Application Development in Android, Blackberry & iOS
Secured Mobile Application Development in Android, Blackberry & iOSSecured Mobile Application Development in Android, Blackberry & iOS
Secured Mobile Application Development in Android, Blackberry & iOSAppin Delhi
 
Java Presentation
Java PresentationJava Presentation
Java Presentationpm2214
 
Android & Why Mobile Application Development
Android & Why Mobile Application DevelopmentAndroid & Why Mobile Application Development
Android & Why Mobile Application DevelopmentAatul Palandurkar
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system databaseSaimunur Rahman
 
Apple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating systemApple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating systemDhruv Patel
 
Sim cards
Sim cardsSim cards
Sim cardsfaizlap
 
MOBILE PHONE CLONING-Steginjoy2013@gmail.com
MOBILE PHONE CLONING-Steginjoy2013@gmail.comMOBILE PHONE CLONING-Steginjoy2013@gmail.com
MOBILE PHONE CLONING-Steginjoy2013@gmail.comchrist university
 
Mobile Phone and SIM card cloning
Mobile Phone and SIM card cloningMobile Phone and SIM card cloning
Mobile Phone and SIM card cloningAnkur Kumar
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 

En vedette (20)

What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?
 
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...
Why Open Application Platforms Matter to Enterprise Developers (Cloud Foundry...
 
The productivity of testing in software development life cycle
The productivity of testing in software development life cycleThe productivity of testing in software development life cycle
The productivity of testing in software development life cycle
 
Java presentation
Java presentationJava presentation
Java presentation
 
Measuring Performance & Productivity in Software Development Teams
Measuring Performance & Productivity in Software Development TeamsMeasuring Performance & Productivity in Software Development Teams
Measuring Performance & Productivity in Software Development Teams
 
Acm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slidesAcm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slides
 
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)
 
USAT : USIM Application Toolkit
USAT : USIM Application ToolkitUSAT : USIM Application Toolkit
USAT : USIM Application Toolkit
 
Pre-launch Checklist for Going Production on AWS
Pre-launch Checklist for Going Production on AWS Pre-launch Checklist for Going Production on AWS
Pre-launch Checklist for Going Production on AWS
 
SIM Initialization
SIM InitializationSIM Initialization
SIM Initialization
 
Secured Mobile Application Development in Android, Blackberry & iOS
Secured Mobile Application Development in Android, Blackberry & iOSSecured Mobile Application Development in Android, Blackberry & iOS
Secured Mobile Application Development in Android, Blackberry & iOS
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Android & Why Mobile Application Development
Android & Why Mobile Application DevelopmentAndroid & Why Mobile Application Development
Android & Why Mobile Application Development
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system database
 
Apple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating systemApple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating system
 
Sim cards
Sim cardsSim cards
Sim cards
 
MOBILE PHONE CLONING-Steginjoy2013@gmail.com
MOBILE PHONE CLONING-Steginjoy2013@gmail.comMOBILE PHONE CLONING-Steginjoy2013@gmail.com
MOBILE PHONE CLONING-Steginjoy2013@gmail.com
 
Mobile Phone and SIM card cloning
Mobile Phone and SIM card cloningMobile Phone and SIM card cloning
Mobile Phone and SIM card cloning
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 

Similaire à Mobile Bootcamp Presentation: Mobile Application Development Platforms

Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Tom Deryckere
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingSoftware Park Thailand
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionMarco Tabor
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
 
Gemalto Le Mobile 2.0 Edition 2009
Gemalto Le Mobile 2.0 Edition 2009Gemalto Le Mobile 2.0 Edition 2009
Gemalto Le Mobile 2.0 Edition 2009servicesmobiles.fr
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMarco Tabor
 
Mobile Software Development
Mobile Software DevelopmentMobile Software Development
Mobile Software DevelopmentSachin Palewar
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Marco Tabor
 
What do mobile network operators know about open source web apps
What do mobile network operators know about open source web appsWhat do mobile network operators know about open source web apps
What do mobile network operators know about open source web appsVodafone developer
 
how does smart phone works?
how does smart phone works?how does smart phone works?
how does smart phone works?Sakshi Bhargava
 
Mobile Apps & Social Network Trends : Impact on Airline Business
Mobile Apps & Social Network Trends : Impact on Airline BusinessMobile Apps & Social Network Trends : Impact on Airline Business
Mobile Apps & Social Network Trends : Impact on Airline BusinessSoftware Park Thailand
 
Mobile Developers Guide To The Galaxy
Mobile Developers Guide To The GalaxyMobile Developers Guide To The Galaxy
Mobile Developers Guide To The GalaxyAvenga Germany GmbH
 
Develop Mobile Application
Develop Mobile ApplicationDevelop Mobile Application
Develop Mobile Applicationwe20
 

Similaire à Mobile Bootcamp Presentation: Mobile Application Development Platforms (20)

Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile Computing
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
Gemalto Le Mobile 2.0 Edition 2009
Gemalto Le Mobile 2.0 Edition 2009Gemalto Le Mobile 2.0 Edition 2009
Gemalto Le Mobile 2.0 Edition 2009
 
CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th edition
 
Mobile Software Development
Mobile Software DevelopmentMobile Software Development
Mobile Software Development
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6
 
What do mobile network operators know about open source web apps
What do mobile network operators know about open source web appsWhat do mobile network operators know about open source web apps
What do mobile network operators know about open source web apps
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
how does smart phone works?
how does smart phone works?how does smart phone works?
how does smart phone works?
 
Mobile Apps & Social Network Trends : Impact on Airline Business
Mobile Apps & Social Network Trends : Impact on Airline BusinessMobile Apps & Social Network Trends : Impact on Airline Business
Mobile Apps & Social Network Trends : Impact on Airline Business
 
Symbian
SymbianSymbian
Symbian
 
Symbian os
Symbian osSymbian os
Symbian os
 
Symbian
SymbianSymbian
Symbian
 
Smartphone App Dev Is Cool
Smartphone App Dev Is CoolSmartphone App Dev Is Cool
Smartphone App Dev Is Cool
 
Mobile Developers Guide To The Galaxy
Mobile Developers Guide To The GalaxyMobile Developers Guide To The Galaxy
Mobile Developers Guide To The Galaxy
 
Develop Mobile Application
Develop Mobile ApplicationDevelop Mobile Application
Develop Mobile Application
 
Ospf
OspfOspf
Ospf
 

Plus de Wilfred Mutua Mworia

(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship(Technology) Innovation and Entrepreneurship
(Technology) Innovation and EntrepreneurshipWilfred Mutua Mworia
 
Innovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in TechnologyInnovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in TechnologyWilfred Mutua Mworia
 
Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)Wilfred Mutua Mworia
 
The Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based ApplicationsThe Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based ApplicationsWilfred Mutua Mworia
 

Plus de Wilfred Mutua Mworia (8)

ICT in Agricultural Trade
ICT in Agricultural TradeICT in Agricultural Trade
ICT in Agricultural Trade
 
EABC-EATIH
EABC-EATIHEABC-EATIH
EABC-EATIH
 
Aliens Vs Robots
Aliens Vs RobotsAliens Vs Robots
Aliens Vs Robots
 
(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship
 
Innovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in TechnologyInnovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in Technology
 
The Making of a Revolution
The Making of a RevolutionThe Making of a Revolution
The Making of a Revolution
 
Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)
 
The Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based ApplicationsThe Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based Applications
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Mobile Bootcamp Presentation: Mobile Application Development Platforms

  • 1. Mobile Application Development Platforms: The Options Wilfred M. Mworia Mobile BootCamp 2009
  • 2. Objectives  Overview – focus on breadth understanding not depth (that’s what the labs are for )  Hopefully, help you choose which labs to take  Main focus on Smartphone dev since this is what will be taught in the labs
  • 3. Agenda  Overview – why is mobile such a compelling platform  Categorization of mobile app dev ◦ Low-end platforms ◦ Mid-level phones platforms ◦ Smartphone platforms
  • 5. Gartner press release (2005): ◦ Estimated there would be three billion mobile subscribers in the world by 2010, a doubling of current subscriber levels – most growth in Asia/Pacific (lower incomes, cheaper handsets) ◦ Nick Jones, Research VP and Gartner Fellow, “One of the greatest challenges CIOs will face is the proliferation of wireless devices… “ ◦ Gartner's annual survey of 1400 CIOs showed that wireless is a top three technology priority for European CIOs in 2005. http://www.gartner.com/it/page.jsp?id=492131
  • 6. Gartner (more recently, 2008) ◦ 23% of workers will use only a mobile phone in 2012, up from about 4% today. ◦ Predicts that business users with both a mobile phone and a desktop phone will make up the overwhelming majority but will decrease from more than 80% today to less than 70% in 2012. ◦ Strong trend toward corporate support of cellular services http://tinyurl.com/qf6pyl
  • 7. Africa is not left behind  Mobile phone use in Africa is growing faster than anywhere else in the world, according to a report.  According to a survey by Vodafone: ◦ More than 85% of small businesses run by black people, surveyed in South Africa, rely solely on mobile phones for telecommunications. ◦ 62% of businesses in South Africa, and 59% in Egypt, said mobile use was linked to an increase in profits - despite higher call costs. ◦ 97% of people surveyed in Tanzania said they could access a mobile phone, while just 28% could access a land line phone. ◦ A developing country which has an average of 10 more mobile phones per 100 population between 1996 and 2003 had 0.59% higher GDP growth than an otherwise identical country. http://news.bbc.co.uk/2/hi/business/4331863.stm
  • 10. Categorization  Categorization of mobile app dev ◦ Low-end platforms  SMS  USSD  JavaCard & SIM Application Toolkit ◦ Mid-level phones platforms  Java ME ◦ Smartphone platforms  iPhone  Android  Symbian  Windows Mobile  Blackberry  Palm WebOS
  • 11. Characteristics Low-end Mid-level Smartphone Form factor Small screen, Larger screen, Larger screen; black/white or colored; more on QWERTY keyboard, greenish screen, little board memory + touch or both; huge memory expansion; memory + expansion; great screen; Web browser None WAP browser Advanced browser (WebKit, IE, OperaMini) Native 3rd party apps Not really Java runtime; J2ME Full SDK, great dev tools, native apps run by the OS OS capabilities Very basic, Mid-way Advanced OS; multi- programming etc iPhone OS, WebOS, Android, WM; Example handsets Nokia 1100 iPhone, Android based (G1 etc), Windows Mobile based (Samsung Omnia, HTC), Symbian based (Nokia N-series);
  • 12. Low-end devices Nokia 1100
  • 13. Low-end device platforms  Options: 2. SMS based apps 3. USSD 4. SIM Application Toolkit  Pros: ◦ Ubiquitous (a beautiful property) ◦ Not so complex ◦ If you are a dev, no worries about interface design; but you must consider interaction design  Cons ◦ Very limited ◦ Possible dependency on a mobile service provider
  • 14. Low-end: SMS  A lot of free and open source SMS libraries and tools out there  Very simple: 1. Get SMS in some expected structure 2. Parse text for keywords 3. Perform actions 4. Formulate and send response  Literally no need to be concerned over user interface issues (Yay for the dev!)  But what about the user’s interaction with your system??? ◦ #OPERATION#001#[ACCOUNT NO.] ◦ #GET#BALANCE#[ACCOUNT NO.]# ◦ GET BALANCE [ACCOUNT NO.]  You might need to depend on a service provider’s SMS Centers (SMSCs) or gateway like Kannel – if scaling out; optionally tools like FrontlineSMS can use a modem or phone connected to the PC (no internet needed)
  • 15. Low-end: SMS Free Tools & Libraries  Gnokii - http://www.gnokii.org/ & Gsmlib - http://www.pxh.de/fs/gsmlib/ - command line tools for send/receive SMS (and more)  Kannel SMS & WAP gateway - http://www.kannel.org/ connect to a mobile operator's SMS center (SMSC), or using a GSM mobile phone or GSM modem as a virtual SMS center  OpenSMPP API – Java API to communicate with an SMSC http://sourceforge.net/projects/smstools/  SMPPSim – SMSC Simulator http://www.seleniumsoftware.com/downloads.html  SMSLib – for Java, has a .NET port http://smslib.org/ http://www.developershome.com/sms/freeLibForSMS.asp
  • 16. Low-end: USSD  USSD = Unstructured Supplementary Service Data  Think of it a bit like instant messaging  (Unlike SMS) no store and forward (no SMSC)  User sends a code which fires an action which returns a response (maybe in the form of an SMS)  E.g. *144# - gets balance on safaricom, *141#458789651236# take the 12 digit code following the USSD code as input and do something
  • 17.
  • 18. Low-end: Java Card & SIM Application Toolkit (SAT)  How does MPESA work?  The application resides on the SIM card  Enables menu based interaction  Get user input in a more natural, step by step way – e.g. enter your PIN -> enter the amount….  Java Card…  You can use the SIM Application Toolkit to write these kind of apps…
  • 19. JavaCard  Smart cards and other devices with very limited memory to run small applications, called applets, that employ Java technology e.g. SIM cards  Secure and interoperable execution platform  At the language level, Java Card is a precise subset of Java  Java Card bytecode run by the Java Card Virtual Machine is a functional subset of Java bytecode run by the JVM  However, there are differences in the Library and Runtime e.g. Java Security Manager not supported  Java Card 3.0 has two editions: ◦ Classic edition: targets more resource-constrained devices that support traditional applet-based applications ◦ Connected edition: enhanced execution environment; new VM; network-oriented features such as web apps
  • 20. SIM Application Toolkit (SAT)  GSM Standard  A set of commands which define how the card should interact with the outside world (handset & network)  The SIM initiates commands independently of the handset and the network  Allows the flexibility to update the SIM to alter the services and download new services over the air  Designed as a client-server application. On the server side, SimCard platform and the client side, phone that supports the SIM Application Toolkit
  • 21. Banking Location Browser SIM-WIM SIM Application Toolkit (SAT) SIM
  • 23. Mid-Level: Java Micro Edition (Java ME)  Gray-area – Smartphones also support this, but not all phones that support this are Smartphones  Version of Java aimed at devices with limited resources  Highly optimized runtime environment  Problem: differences in device capabilities, memory, processor  Solution: ◦ Configurations: provides the most basic set of libraries and virtual machine capabilities for a broad range of devices-  Connected Limited Device Configuration (CLDC);  Connected Device Config. (CDC) ◦ Profiles: For a config., a set of APIs that support a narrower range of devices e.g. Mobile Information Device Profile (MIDP) ◦ Optional Packages: a set of technology-specific APIs; means of providing additional functionality
  • 26. Smartphone: iPhone iPhone 3G
  • 27. Smartphone: iPhone  Language: Objective-C ; CocoaTouch framework  Difficulty: Very steep learning curve but gets much easier after that  Tools: ◦ Hardware: Mac (pretty expensive) ◦ Software: Xcode (free); iPhone SDK  Pros: ◦ Very comprehensive APIs, very well documented ◦ The iPhone is a great platform esp for consumer level apps ◦ Ready online market place for your apps ◦ Free tools (once you have the costly hardware)  Cons ◦ Very different programming style ◦ Expensive to get a handset to test on ◦ You need specific hardware ◦ Marketplace controlled by Apple; 70-30 revenue sharing; Apps have to be approved by Apple first ◦ Only one device manufacturer and device type
  • 28. Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche
  • 29. Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche
  • 30. Smartphone: Android T-Mobile G1
  • 31. Smartphone: Android  Language: Java  Difficulty: Intermediate to advanced Java & J2ME  Tools: ◦ Hardware: PC or Mac ◦ Software: Eclipse is the editor of choice; Android SDK  Pros: ◦ Familiar programming model ◦ Very comprehensive APIs, very well documented ◦ Ready online market place for your apps ◦ Open source OS ◦ Open Handset Alliance creates a strong backing ◦ Free tools  Cons ◦ Handsets not readily available (at least in Africa). Google offers a developer handset (not free) ◦ The platform is still young, not many Android based handsets out there; but that will change – potentially many device manufacturers Samsung, HTC etc
  • 32. Smartphone: Symbian Nokia N-series
  • 33. Smartphone: Symbian  Language: Mainly Native Symbian C++; Java ME, Flash & Python Runtimes  Difficulty: Challenging for C++; Java ME more familiar; more control with C++  Tools: ◦ Hardware: PC ◦ Software: Symbian Application Development Toolkit (ADT); SDKs e.g. Nokia S60 SDK  Pros: ◦ Familiar programming model ◦ Very comprehensive APIs, very well documented ◦ Ready online market place for your apps ◦ Open source OS ◦ Symbian Foundation backs the development of Symbian ◦ Handsets are readily available ◦ Many device types and manufacturers – Samsung, LG, Nokia ◦ Free tools  Cons ◦ Needs some good experience with C++
  • 34. Smartphone: Blackberry Blackberry Storm
  • 35. Smartphone: Blackberry  Language: Several options: Java, .NET,  Difficulty: For Java, if you are familiar with J2ME you’ll be great. .NET is by nature not so hard  Tools: ◦ Hardware: PC ◦ Software: For Java: Plugin for Eclipse, Blackberry JDE; For .NET: Plugin for VS; MDS Studio  Pros: ◦ Options for programming languages and tools ◦ Very comprehensive APIs, very well documented ◦ Good for enterprise apps ◦ Handsets are readily available ◦ Free tools  Cons ◦ IMHO perhaps not the best for consumer apps ◦ Writing apps for different Blackberry devices can get tricky; have to pick the right version of tools for the right OS version ◦ Only one device manufacturer RIM
  • 36. Smartphone: Windows Mobile Samsung Omnia
  • 37. Smartphone: Windows Mobile  Language: Mainly .NET or C++  Difficulty: Not so hard, you should be very comfortable if you are familiar with .NET  Tools: ◦ Hardware: PC ◦ Software: Visual Studio, SDKs (PocketPC, Smartphone)  Pros: ◦ .NET is not so hard ◦ Very comprehensive APIs, very well documented ◦ Good for enterprise apps and consumer apps ◦ Handsets are readily available ◦ Visual Studio will cost you, the SDKs are free ◦ Lots of device manufacturers, types of devices – HTC, Samsung, i-mate etc  Cons ◦ It has been said that WM is on the decline due to competition from the other platforms esp. Blackberry (in the enterprise) & iPhone (consumer level) and now Android
  • 39. Smartphone: Palm WebOS  Linux based OS  Very new, the Palm Pre was launched earlier this year at CES.  Developer SDK (Mojo) yet to be released. Later this year  The Palm Pre is the only device currently running this OS  Palm will provide an on-device application catalog to deliver your apps directly to users.  HTML, CSS, JavaScript based applications
  • 40. General Guidance to Smartphone Dev  Pick a platform  Learn a bit about the OS in general ◦ Understand the environment in which your app will run ◦ How the OS treats scenarios like multi-tasking ◦ Could help with things like performance tuning  Get the tools  Learn the APIs ◦ Learn as you go – it’s easier to pick what you need and learn it when you need it instead of trying to learn all the APIs beforehand  Design is key for consumer apps