1




Mobile Technologies
2
                    History of Phones




Alexander Graham Bell (1876)
3
                                         Everyday life‘s tools




             Computer
                                        Fax



                                                Radio

Email



                                              Music player

        Word processor   Credit cards
4
                                         Everyday life‘s tools




   Computer      Mobile phones are first introduced in mid 1980s


    Email



Word processor


 Music player
                                     Smart phone
    Fax                   Additional features can be installed

   Radio
5
                                                     Mobile applications

•   Banking (check balance, make transaction)
•   Restaurant (order and payment)
•   Mobile Payment (ticket, vending machine)
•   Tourism: tourist guide
•   Education: mobile learning
•   Entertainment: interactive digital art
•   Scientific: controlling and monitoring

                                                Mobile Operating System
There are Many types of mobile operating systems (OS) are available for
Smartphone’s, that including: Android, BlackBerry
OS, webOS, iOS, Symbian, Windows Mobile, Bada, etc.
Among the most popular are the Apple iPhone, Android, and
blackberry.
6
                                              Up-Coming Mobile OS

• Aliyun OS from Alibaba/AliCloud (cloud based)
• BlackBerry 10 from RIM
• Firefox OS from non-profit organization Mozilla Foundation (open
  source, GPL)
• Tizen from non-profit organization The Linux Foundation (open
  source, GPL)                                                  Logo’s
7
                                                    Mobile Operating System
    • Android from Google Inc.(free and open source)
    • Bada from Samsung Electronics (closed source, proprietary)
    • BlackBerry OS from RIM (closed source, proprietary)
    • iOS from Apple Inc. (closed source, proprietary, on top of open
      source Darwin core OS)
    • S40 (Series40) from Nokia (closed source, proprietary)
    • Symbian OS from Nokia and Accenture (open public license)
    • Windows Phone from Microsoft (closed source, proprietary)
              Top Five Worldwide Total Mobile Phone Vendors, Q1 2012
Rank      Manufacturer           Shipments          Year-over-year Change
1       Samsung                    42.2%                    267.0%
2       Apple                      35.1%                     88.7%
3       Nokia                      11.90%                   -50.8%
4       RIM                        9.70%                    -29.7%
5       HTC                         6.9%                    -23.3%
        Others                     39.1%                     59.6%
8
Market share
9
                                                     iOS - Introduction

• iOS is Apple’s mobile operating system derived from Mac OS X.
  Developed originally for iPhone it has since been shipped on the
  iPod Touch and iPad as well.
• In iOS, there are four abstraction layers:
• The core OS layer, The core services layer, The Media layer, The
  Cocoa touch layer.
• The iPhone SDK contains the code, information and tools which
  need to develop, test, run, debug and the applications for iOS.
• The Xcode tools provide the basic editing, compilation, and
  debugging environment for the code, Xcode also provides the
  launching point for testing applications
10
                                               iOS – Development Tools

• The release of Xcode 3.1, Xcode is the development environment for the
  iOS SDK. IPhone applications, like iOS and OS X, are written in
  Objective-C, Action Script, Xcode, Flash
  Builder, Flash, Photoshop, Blender, Eclipse, Java, Microprocessor
  programming (Propeller, BASIC, and PIC), Cocoa, Agile, Usability, Web
  Services, JavaScript, jQuery, Social Web Trends and MXML. IOS based on
      Company/developer
  cloud called has iCloud
                                                Apple inc.
    Programming                   C,C++,Objective-C
    OS family                     Mac OS X/UNIX like
    Kernel Type                   Hybrid (Darwin)
    Default user interface        Cocoa Touch (MultiTouch, GUI)
    Supported Platforms           ARM(iPhone, iPod Touch and iPad)
11
                                              Cocoa in the architecture of iOS




The application-framework layer of iOS is called Cocoa Touch.
12
IPhone SDK - New Project
13
                                                    Android OS - Google

•   Android is Based on Linux Kernel.
•   Developed by Google and later open Handset Alliance.
•   Open Source under the Apache 2 License.
•   Android is kernel based on the Linux kernel 2.6 and Linux Kernel
    3.x (Android 4.0 onwards), with middleware, libraries and APIs
    written in C, C++, Java. Architecture: ARM, MIPS, Power
    Architecture, x86. Package manager: APK.
14
Android - System Architecture
15
                                                          BlackBerry OS

• BlackBerry OS developed by Research in Motion (RIM).
• The BlackBerry platform is perhaps best known for its native support
  for corporate email, through MIDP 1.0 and, more recently.
• A subset of MIDP 2.0, which allows complete wireless activation and
  synchronization with Microsoft Exchange, Lotus Domino, or Novell
  GroupWise email, calendar, tasks, notes, and contacts, when used with
  BlackBerry Enterprise Server. The operating system also supports WAP
  1.2.
• The OS provides support for Java MIDP 1.0, WAP 1.2. Kernel type:
  Java virtual machine
• Third-party developers can write software using the available
  BlackBerry API classes, although applications that make use of certain
  functionality must be digitally signed.
• C++ Standard Library or Java API contained in the JDK or JRE, of one
  of the editions of the Java Platform. The three editions of the Java
  Platform are Java ME (Micro edition), Java SE (Standard edition), and
16
Java virtual machine
17
                                                         Windows Phone

• Windows Phone is a family of mobile operating systems developed
  by Microsoft
• Microsoft created a new user interface, featuring its design language
  called Modern Style UI.
• Metro is an internal code name of a typography-based design
  language created by Microsoft, originally for use in Windows Phone
  7. Early uses of the Metro principles began as early as Microsoft
  Encarta 95 and MSN 2.0, and later evolved into Windows Media
  Center and Zune.
• Package manager: Zune Software, from various independent
  developers made using XNA Game Studio or OpenZDK, which use
  C# and C++ respectively
• Kernel type: Monolithic (Windows CE) (Windows Phone 7), Hybrid
  (Windows NT) (Windows Phone 8)
• Supported platforms: Qualcomm Snapdragon (Based on ARM V.7
  or later)
18
Monolithic kernel - Windows Phone
19
                                                              Symbian

• Symbian switched to using standard C++ with Qt as the main
  SDK, which can be used with either Qt Creator or Carbide.c++.
• Qt supports the older Symbian/S60 3rd (starting with Feature Pack
  1, aka S60 3.1) and Symbian/S60 5th Edition (aka S60 5.0)
  releases, as well as the new Symbian platform. It also supports
  Maemo and MeeGo, Windows, Linux and Mac OS X
• Application development can be done using Python (see Python for
  S60), Adobe Flash Lite or Java ME.
• Symbian devices can also be programmed using Python, Java
  ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and
  Standard C/C++. Visual Basic programmers can use NS Basic to
  develop apps for S60 3rd Edition and UIQ 3 devices.
20
Monolithic kernel - Symbian
21
                                                                       Comparison of Mobile OS
                                                         Windows                                    BlackBerry
 Feature      iOS         Android           webOS                         Windows Phone
                                                          Mobile                                        OS
                        Open Handset
                                        Palm, Inc
Company    Apple        Alliance/                     Microsoft        Microsoft                    RIM
                                        (HP)
                        Google
                                                                       Windows CE 7 / Windows
OS Family Darwin        Linux           Linux         Windows CE 5.2                                Mobile OS
                                                                       NT 8
                        ARM, MIPS,
Supported               Power
          ARM                           ARM           ARM              ARM                          ARM
CPU Arch                Architecture,
                        x86
                                                                       7+: XNA(.NET C#),
                                                                       Silverlight, native
           C, C++,                                                     C/C++(only for vendors
                                                      Many, C++,
Program    Objective-   C, C++, Java    C                              and partners) 8+:            Java
                                                      .NET, Lazarus
           C                                                           XNA(.NET C#), VB.NET,
                                                                       Silverlight, native C/C++,
                                                                       WinRTP (XMLA), DirectX

                                        App Catalog
                                        (Official)    Windows Mobile                                BlackBerry
Package
           iTunes       APK             Preware       Device Center/   Zune Software                Desktop
manager
                                        (3rd party    ActiveSync                                    Manager
                                        homebrew)
22
                                                          Search String


• Search Code for Android:
• Android, brightcove, Kernal, Aurasma, Java, Node.js, Ruby, UX,
  OOD, C/C++, Linux kernel modules, JEE, Web Services, Apache,
  AJAX, Javascript, jQuery, HTML5, JSON, REST, XML, SOAP,
  SVN, cloud computing, EC2, JavaScript, Maven, ant, Hudson,
  SVG, VML, hybrid, CISSP, J2ME, Brew, NDKs/SDKs, XSD, API,
  Sql, XSD, Tapestry, spring, Objective-C, OOD, SQLite, Test-Driven
  Development(TDD) Python, Django, HTML/CSS, Javascript,
  Node.js, jQuery UI, JS, IDE, MATLAB
• Search Code for iOS:
• Objective-C, Action Script, Xcode, Flash Builder, Flash, Photoshop,
  Blender, Eclipse, Java, Microprocessor programming (Propeller,
  BASIC, and PIC), Cocoa, Agile, Usability, Web Services,
  JavaScript, jQuery, Social Web Trends and MXML. IOS
23
                                                       JD - iOS Developer
 Job Title: Mobile Developer
 Location: Philadelphia, PA
• Strong background in mobile design patterns, HTML and Javascript
• Experience developing with iPhone SDK, Cocoa, Interface Builder,
  Objective-C and Xcode OR Eclipse, Java and Android Libraries
• Familiarity with using Web APIs and with Cross Platform Mobile
  Development techniques is a plus
• Experience with mobile video or commerce is highly desired
• Experience creating pure native iOS, Android apps.
• Solid understanding and hands on programming in any object oriented
  languages like JAVA, C++.
• Proficient in web development, AJAX, Javascript, jQuery and HTML5
• Experience developing mobile apps using PhoneGap and/or Sencha
  Touch
• Solid understanding of JSON, REST, XML and SOAP
• Involved with all aspects of the software development lifecycle: Design,
24
                                                      JD - iOS Developer
 Job Title: Sr Mobile Apps Developer - iPhone/iOS
 Location: San Francisco, CA
Qualifications
• Experience developing Mobile Applications using Native and Web
  technologies
• Strong experience with iOS (Android a plus). Proven ability in iOS
  development
• 3+ years of experience with shipping Mobile Apps.
• Expert experience with Objective-C
• Strong experience in HTML5, JavaScript, Jquery, Node.js,
  Backbone.js and other Mobile Web technologies
• Experience creating and consuming REST web services with JSON
  output.
• Experience building rich client-side applications based on REST APIs
• Experience with Java and Android development is a huge plus
• Experience with multiple mobile platforms highly preferred
25
                                               JD – Android Developer
Job Title: Sr. Android Software Engineer
Location: San Jose, CA
 Required Skills:
 • Expert experience in Android application development.
 • 7+ years of experience in software development (design and
   implementation).
 • Delivered killer apps to a huge user base.
 • Proficient with Java/C++.
 • Strong Android SDK experience.
 • Ability to understand and Parse XML, JSON and Serialized data..
 • Ability to work in a fast paced, iterative development environment
   with short turn-around times.
 • Advanced software architecture and design skills, including object
   oriented design.
 • Strong communication skills with the ability to understand and
   explain technical issues to a non-technical audience.

Mobile technologies

  • 1.
  • 2.
    2 History of Phones Alexander Graham Bell (1876)
  • 3.
    3 Everyday life‘s tools Computer Fax Radio Email Music player Word processor Credit cards
  • 4.
    4 Everyday life‘s tools Computer Mobile phones are first introduced in mid 1980s Email Word processor Music player Smart phone Fax Additional features can be installed Radio
  • 5.
    5 Mobile applications • Banking (check balance, make transaction) • Restaurant (order and payment) • Mobile Payment (ticket, vending machine) • Tourism: tourist guide • Education: mobile learning • Entertainment: interactive digital art • Scientific: controlling and monitoring Mobile Operating System There are Many types of mobile operating systems (OS) are available for Smartphone’s, that including: Android, BlackBerry OS, webOS, iOS, Symbian, Windows Mobile, Bada, etc. Among the most popular are the Apple iPhone, Android, and blackberry.
  • 6.
    6 Up-Coming Mobile OS • Aliyun OS from Alibaba/AliCloud (cloud based) • BlackBerry 10 from RIM • Firefox OS from non-profit organization Mozilla Foundation (open source, GPL) • Tizen from non-profit organization The Linux Foundation (open source, GPL) Logo’s
  • 7.
    7 Mobile Operating System • Android from Google Inc.(free and open source) • Bada from Samsung Electronics (closed source, proprietary) • BlackBerry OS from RIM (closed source, proprietary) • iOS from Apple Inc. (closed source, proprietary, on top of open source Darwin core OS) • S40 (Series40) from Nokia (closed source, proprietary) • Symbian OS from Nokia and Accenture (open public license) • Windows Phone from Microsoft (closed source, proprietary) Top Five Worldwide Total Mobile Phone Vendors, Q1 2012 Rank Manufacturer Shipments Year-over-year Change 1 Samsung 42.2% 267.0% 2 Apple 35.1% 88.7% 3 Nokia 11.90% -50.8% 4 RIM 9.70% -29.7% 5 HTC 6.9% -23.3% Others 39.1% 59.6%
  • 8.
  • 9.
    9 iOS - Introduction • iOS is Apple’s mobile operating system derived from Mac OS X. Developed originally for iPhone it has since been shipped on the iPod Touch and iPad as well. • In iOS, there are four abstraction layers: • The core OS layer, The core services layer, The Media layer, The Cocoa touch layer. • The iPhone SDK contains the code, information and tools which need to develop, test, run, debug and the applications for iOS. • The Xcode tools provide the basic editing, compilation, and debugging environment for the code, Xcode also provides the launching point for testing applications
  • 10.
    10 iOS – Development Tools • The release of Xcode 3.1, Xcode is the development environment for the iOS SDK. IPhone applications, like iOS and OS X, are written in Objective-C, Action Script, Xcode, Flash Builder, Flash, Photoshop, Blender, Eclipse, Java, Microprocessor programming (Propeller, BASIC, and PIC), Cocoa, Agile, Usability, Web Services, JavaScript, jQuery, Social Web Trends and MXML. IOS based on Company/developer cloud called has iCloud Apple inc. Programming C,C++,Objective-C OS family Mac OS X/UNIX like Kernel Type Hybrid (Darwin) Default user interface Cocoa Touch (MultiTouch, GUI) Supported Platforms ARM(iPhone, iPod Touch and iPad)
  • 11.
    11 Cocoa in the architecture of iOS The application-framework layer of iOS is called Cocoa Touch.
  • 12.
    12 IPhone SDK -New Project
  • 13.
    13 Android OS - Google • Android is Based on Linux Kernel. • Developed by Google and later open Handset Alliance. • Open Source under the Apache 2 License. • Android is kernel based on the Linux kernel 2.6 and Linux Kernel 3.x (Android 4.0 onwards), with middleware, libraries and APIs written in C, C++, Java. Architecture: ARM, MIPS, Power Architecture, x86. Package manager: APK.
  • 14.
    14 Android - SystemArchitecture
  • 15.
    15 BlackBerry OS • BlackBerry OS developed by Research in Motion (RIM). • The BlackBerry platform is perhaps best known for its native support for corporate email, through MIDP 1.0 and, more recently. • A subset of MIDP 2.0, which allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used with BlackBerry Enterprise Server. The operating system also supports WAP 1.2. • The OS provides support for Java MIDP 1.0, WAP 1.2. Kernel type: Java virtual machine • Third-party developers can write software using the available BlackBerry API classes, although applications that make use of certain functionality must be digitally signed. • C++ Standard Library or Java API contained in the JDK or JRE, of one of the editions of the Java Platform. The three editions of the Java Platform are Java ME (Micro edition), Java SE (Standard edition), and
  • 16.
  • 17.
    17 Windows Phone • Windows Phone is a family of mobile operating systems developed by Microsoft • Microsoft created a new user interface, featuring its design language called Modern Style UI. • Metro is an internal code name of a typography-based design language created by Microsoft, originally for use in Windows Phone 7. Early uses of the Metro principles began as early as Microsoft Encarta 95 and MSN 2.0, and later evolved into Windows Media Center and Zune. • Package manager: Zune Software, from various independent developers made using XNA Game Studio or OpenZDK, which use C# and C++ respectively • Kernel type: Monolithic (Windows CE) (Windows Phone 7), Hybrid (Windows NT) (Windows Phone 8) • Supported platforms: Qualcomm Snapdragon (Based on ARM V.7 or later)
  • 18.
  • 19.
    19 Symbian • Symbian switched to using standard C++ with Qt as the main SDK, which can be used with either Qt Creator or Carbide.c++. • Qt supports the older Symbian/S60 3rd (starting with Feature Pack 1, aka S60 3.1) and Symbian/S60 5th Edition (aka S60 5.0) releases, as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X • Application development can be done using Python (see Python for S60), Adobe Flash Lite or Java ME. • Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and Standard C/C++. Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices.
  • 20.
  • 21.
    21 Comparison of Mobile OS Windows BlackBerry Feature iOS Android webOS Windows Phone Mobile OS Open Handset Palm, Inc Company Apple Alliance/ Microsoft Microsoft RIM (HP) Google Windows CE 7 / Windows OS Family Darwin Linux Linux Windows CE 5.2 Mobile OS NT 8 ARM, MIPS, Supported Power ARM ARM ARM ARM ARM CPU Arch Architecture, x86 7+: XNA(.NET C#), Silverlight, native C, C++, C/C++(only for vendors Many, C++, Program Objective- C, C++, Java C and partners) 8+: Java .NET, Lazarus C XNA(.NET C#), VB.NET, Silverlight, native C/C++, WinRTP (XMLA), DirectX App Catalog (Official) Windows Mobile BlackBerry Package iTunes APK Preware Device Center/ Zune Software Desktop manager (3rd party ActiveSync Manager homebrew)
  • 22.
    22 Search String • Search Code for Android: • Android, brightcove, Kernal, Aurasma, Java, Node.js, Ruby, UX, OOD, C/C++, Linux kernel modules, JEE, Web Services, Apache, AJAX, Javascript, jQuery, HTML5, JSON, REST, XML, SOAP, SVN, cloud computing, EC2, JavaScript, Maven, ant, Hudson, SVG, VML, hybrid, CISSP, J2ME, Brew, NDKs/SDKs, XSD, API, Sql, XSD, Tapestry, spring, Objective-C, OOD, SQLite, Test-Driven Development(TDD) Python, Django, HTML/CSS, Javascript, Node.js, jQuery UI, JS, IDE, MATLAB • Search Code for iOS: • Objective-C, Action Script, Xcode, Flash Builder, Flash, Photoshop, Blender, Eclipse, Java, Microprocessor programming (Propeller, BASIC, and PIC), Cocoa, Agile, Usability, Web Services, JavaScript, jQuery, Social Web Trends and MXML. IOS
  • 23.
    23 JD - iOS Developer Job Title: Mobile Developer Location: Philadelphia, PA • Strong background in mobile design patterns, HTML and Javascript • Experience developing with iPhone SDK, Cocoa, Interface Builder, Objective-C and Xcode OR Eclipse, Java and Android Libraries • Familiarity with using Web APIs and with Cross Platform Mobile Development techniques is a plus • Experience with mobile video or commerce is highly desired • Experience creating pure native iOS, Android apps. • Solid understanding and hands on programming in any object oriented languages like JAVA, C++. • Proficient in web development, AJAX, Javascript, jQuery and HTML5 • Experience developing mobile apps using PhoneGap and/or Sencha Touch • Solid understanding of JSON, REST, XML and SOAP • Involved with all aspects of the software development lifecycle: Design,
  • 24.
    24 JD - iOS Developer Job Title: Sr Mobile Apps Developer - iPhone/iOS Location: San Francisco, CA Qualifications • Experience developing Mobile Applications using Native and Web technologies • Strong experience with iOS (Android a plus). Proven ability in iOS development • 3+ years of experience with shipping Mobile Apps. • Expert experience with Objective-C • Strong experience in HTML5, JavaScript, Jquery, Node.js, Backbone.js and other Mobile Web technologies • Experience creating and consuming REST web services with JSON output. • Experience building rich client-side applications based on REST APIs • Experience with Java and Android development is a huge plus • Experience with multiple mobile platforms highly preferred
  • 25.
    25 JD – Android Developer Job Title: Sr. Android Software Engineer Location: San Jose, CA Required Skills: • Expert experience in Android application development. • 7+ years of experience in software development (design and implementation). • Delivered killer apps to a huge user base. • Proficient with Java/C++. • Strong Android SDK experience. • Ability to understand and Parse XML, JSON and Serialized data.. • Ability to work in a fast paced, iterative development environment with short turn-around times. • Advanced software architecture and design skills, including object oriented design. • Strong communication skills with the ability to understand and explain technical issues to a non-technical audience.