SlideShare una empresa de Scribd logo
1 de 71
Evolution or Revolution?
                    - Sanjiv Malik
Market Trends
Trends before Mid-2007
• Platforms available:
    –   J2ME
    –   Symbian
    –   Windows Mobile
    –   RIM
    –   Palm OS
•   Bulky devices
•   Limited applications
•   Small screen size
•   Non-customized buttons
•   Expensive data transfer
•   Crippled browsers
Trends - 2008
• Apple’s iPhone entered
  market as a “package”
• Apple delivered a
  ‘solution’
  – Slim & sleek                  iPhone is not just another
                                  phone, it’s a brand
  – Data transfer
  – Full featured browser
  – One screen size and no
    buttons
  – Content evaluation
  – Easy application deployment    Apple is having Strict Control
                                   over what’ll go inside iPhone
iPhone Stands Out!!
LG Voyager             Trends - 2008




                                                   iRiver GSM
                 Blackberry
                 Storm                Nokia 5800

                                                   All Touchscreen interface
                                                   Full Functional browser similar to PC
                                                   Smooth User Interface



             Samsung
             Omnia            HTC Touch
Market Share
            Others
       Linux
       5.1%
Windows
Mobile
13.6%
                     Symbian
                     46.6%
BlackBerry
15.2%


        Apple
        17.3%



                     Android is nowhere as of Q3 2008
                     Expecting to gain a big share by 2012
Need of Another Mobile Platform
• Everyone’s developing their own Platform
• Handset manufacturer have strict control over
  what will go inside
• The efforts can be shared and much better end-
  products can be offered to the end-user
• The platform should be independent of the
  operator
• Apps should not be dependent upon the
  platform
The Google Approach
• Google announces platform based solution –
  Android
• 47 Major telecommunication giants join hands
  with Google to form Open Handset Alliance
• Open source OS, will enable to develop cheaper
  and competitive smart phones
• Allows 3rd parties to develop innovative
  applications with no interference
• No content monitoring
• Plans to use Android for any device, not just the
  mobiles
Philosophy

    “Never settle for the best”
Has proven this through:
• innovation of technology
• increasing the value of it’s products
Google Mission

Web           Video      Books       News      Enterprise
                                                Content




                 all
      Organize all the world's information and
       make it universally accessible and useful
Market Share
        TOTAL MARKET SHARE – SEPT. 2008




•   99% of revenue from Ads
•   Adwords (Google’s Flagship
    advertising product), Adsense,
    Adwords Website Optimizer
•   Audio Ads
•   Click to Call
•   Double Click
History
• In July 2005, Google acquired Android, Inc., a small
  startup company based in Palo Alto, CA
• Android's co-founders Andy Rubin joined Google
• Speculation that Google would be entering the mobile-
  phone market came in December 2006
• At Google, the team, led by Rubin, developed a Linux-
  based mobile device OS which they marketed to handset
  makers and carriers on the premise of providing a
  flexible, upgradeable system.
• On 5 November 2007, the Open Handset Alliance, a
  consortium of several companies which include Google,
  HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel
  and NVIDIA, was unveiled with the goal to develop open
  standards for mobile devices
Open Handset Alliance




The Alliance competes against Apple, Microsoft, Nokia, Palm, Symbian
47 Major Companies including Handset manufacturer, Semiconductor,
Telecom Service Providers, Mobile platform/app designers etc
Android Theory
• Enjoys broad developer base & industry support
• Based on proven technologies Java, XML and
  Linux
• Open source & free { Not All Open Source }
• Operator independent
• Platform independent applications based on
  widely used Java
• Supports parallel execution of applications
Win-Win Situation
Handset Manufacturers                                 Mobile Operators
  Single platform
 Single platform                                       Revenue generation
  No customization                                    Revenue generation
 No customization




   Developers                                            Customers
  Innovation                                            Rich features
                                                       Rich features
 Innovation                                             Technology edge
  Creativity
 Creativity                                            Technology edge
  Appreciation                                          Less expensive
                                                       Less expensive
 Appreciation                                           Better experience
  Earnings
 Earnings                                              Better experience
                     •   Appealing to developers
                     •   Appealing to manufacturers
                     •   Appealing to operators
                     •   Appealing to customers
How will Google Make Money?
• Google doesn't want to develop and sell
  smart phones, it just wants to sell advertising
  space on them
• The Key is Mobile advertisement
• Google Strategy “Create a Critical Mass
  first & the rest will follow”
                        follow
iPhone Vs Android
Philosophy

      Apple                           Google
•   Users first              •   Developers first
•   Home button              •   Back button
•   Closed, rich UI          •   Open, feature rich
•   Apps & developers will   •   Apps & users will follow
    follow
Android Vs iPhone
iPhone Vs Android
• iPhone apps can only be       • Android apps can be
  developed on a fairly new       developed on any
  Mac                             platform (Windows XP
                                  and Vista, Linux, and Mac
                                  OS X)
• iPhone apps require           • Based on Java which all
  developers to learn             mobile app developers
  Objective-C                     are familiar with
• Apple has strict control of   • Anyone can develop and
  their App Store.                launch an Android app
iPhone Vs Android
• Only one app can run at a      • Apps on an Android
  time. Other apps will be         handset can run in
  sleeping                         parallel (an app running
                                   in the background can
                                   send an alert)
• In the US, AT&T has            • Android is license and
  exclusive rights to sell the     operator independent
  iPhone 3G
• No support for MMS,            • Android supports MMS,
  video recording &                video camera & bluetooth
  bluetooth
Android Internals
The Platform
• Software stack for mobile devices
  – Includes an OS, middleware & key applications
  – Java based applications run on Dalvik, a custom VM
    designed for embedded use
  – Dalvik VM runs on top of a Linux kernel
• Light weight and full featured
• Extensible
Features
• Graphics Library                • Messaging
   – Adaptable to custom 2D          – SMS & MMS
     graphics library, 3D         • Web Browser
     graphics library based on
     OpenGL ES 1.0                   – WebKit Application
                                       Framework
• Storage
                                  • Dalvik Virtual Machine
   – SQLite for structured data
     storage                         – Specialized VM
                                       implementation for
• Connectivity                         applications written in Java
   – GSM/EDGE, CDMA,                   optimized for mobile
     UMTS, EV-DO, Bluetooth            devices
     & Wi-Fi
Features
• Media Support                 • Development
   – MPEG-4, H.264, MP3,          Environment
     AAC, OGG, AMR, JPEG,          – Device Emulator
     PNG, GIF                      – Debugging Tools
• Additional Hardware              – Eclipse IDE & plugin
  Support                       • Application Framework
   – Cameras, touch screens,       – Enable reuse and
     GPS, accelerometers &           replacement of
     accelerated 3D Graphics,        components
     Compass
System Architecture
Linux Kernel
• Kernel version 2.6.x
• Acts as an abstraction layer between the hardware and
  the rest of the software stack
• Core services :
   –   security
   –   memory management
   –   process management
   –   network stack
   –   driver model
Linux Kernel to Android
• Goldfish
  – virtual CPU executing ARM926T instructions
• YAFFS2
  – high performance interface between kernel &
    NAND flash devices
• Bluetooth
  – fixed bugs related to Bluetooth headsets, added
    Bluetooth debugging and access control functions
• Scheduler
  – modified CPU process scheduling & time keeping
    algorithms
Linux Kernel to Android
• IPC Binder
  – processes to provide services to other processes
• Low Memory Killer
  – scan list of running process and kill one
• Ashmem
  – adds interfaces so processes can share named
    blocks of memory
• Android Debug Bridge
  – protocol that runs over a USB link between a
    Android hardware device and a developer writing
    applications on a desktop
Linux Kernel to Android
• RAM Console & Log Device
  – store kernel log messages to a RAM buffer
• Power Management
  – added new power management system
• Miscellaneous
  – additional debugging support, keypad light
    controls, and management of TCP networking
Libraries
• System C Libraries – tuned for embedded Linux
• Media Libraries – support popular audio/video formats
• Surface Manager – manages access to display
  subsystem
• WebKit – modern web browser engine
• SGL – 2D graphics engine
• 3D Libraries – based on OpenGL ES 1.0
• Free Type – bitmap and font rendering
• SQLite – lightweight relational database engine (~500KB)
Android Runtime
• Runtime includes core
  libraries & Dalvik VM
• DVM specifically
  designed to run in limited
  environment
   – Non standard JVM
   – Not Java SE, ME
   – No Swing/AWT windowing
     toolkits
   – .jar files are converted to
     .dex files to generate
     efficient bytecode
   – Device can run multiple
     VMs efficiently
Dalvik Virtual Machine
• Bytecode interpreter for systems with
  –   Slow CPU (250-500 MHz)
  –   Little RAM (64 MB)
  –   No swap space
  –   Battery power



                  Java                        Dalvik
      Eclipse                  Dx Converter
                 Compiler                      VM
Dalvik Virtual Machine
  • Consider the loop inside this simple method
                       public static long sumArray(int[ ] arr)
                       {
                         long sum = 0;
                         for (int i : arr)
                         {
                            sum += i;
                         }
                         return sum;
  Java Byte Code       }                                             DVM Byte Code

000b: iload 05
                                                                 0007: if-ge v0, v2, 0010
000d: iload 04
                                                                 0009: aget v1, v8, v0
000f: if_icmpge 0024
                                                                 000b: int-to-long v5, v1
0012: aload_3
                                                                 000c: add-long/2addr v3, v5
0013: iload 05
                                                                 000d: add-int/lit8 v0, v0, #int 1
0015: iaload
                                                                 000f: goto 0007
0016: istore 06
0018: lload_1                 30% less instructions
0019: iload 06
001b: i2l
001c: ladd
001d: lstore_1
001e: iinc 05,
Android Runtime
• Core libraries are basically Java core libraries
   –   java.io.*
   –   java.util.*
   –   Java.net.*
   –   Java.math.*
• Relies on the Linux kernel for underlying
  functionality
Application Framework
• Simplified architecture for reuse of
  components
• Applications are based on set of services:
  –   A rich and extensible set of Views
  –   Content Providers
  –   Resource Manager
  –   Notification Manager
  –   Activity Manager
Applications
• Android ships a set of core applications:
  –   Email client
  –   SMS/MMS program
  –   Calendar
  –   Maps
  –   Browser
  –   Contacts
Application Building Blocks
• Divide the application into following components:

  Activity            UI component corresponding to one
                      screen
  Intent Receiver     Responds to notification or status
                      change
  Service             A task that runs in background

  Content Provider    Enables applications to share data
Application Building Blocks
• Define & list all components to be used in
  AndroidManifest.xml file
  – Required file for all the applications located in the
    root folder
  – Contains:
     • all global values for the package
     • all the components and its classes used
     • intent filters, which describe where and when the certain
       activity should start
     • permissions
Lifecycle of Applications
• Each application runs in its own Linux process. App is
  launched inside a new instance of the VM
• When a new app is installed, its having user permission,
  so it has access to only certain resources.
• Process’s lifetime not directly controlled by application
• Determined by the system depending on:
   – running applications
   – their importance
   – available memory
• Components impact the lifetime of the application’s
  process
• Importance hierarchy for killing processes based on
   – components running in them
   – state of these components
Application Life-Cycle




• Android is responsible to manage which application
  should run and which should be killed
• Android takes the complete headache of allocating
  sufficient memory to each App.
• It manages it very fast & without any user interaction
Platform Initialization
  Kernel                                              •   Boot loader loads kernel &
                                                          starts init process
                                                      •   Daemons for handling low
   Init
                                                          level hardware interfaces
                                                      •   “Zygote”, the initial Dalvik VM
Daemons            Zygote         Runtime                 process is created
                                                      •   Runtime process initiates the
                             Service Manager              Service Manager
                                                      •   Runtime process requests
Dalvik VM
                                                          Zygote to start a new instance
System Server                                             of Dalvik for running the
                                       Registration
                                                          System Server
Surface Manager
                                                      •   The first process handles
                                                          graphic outputs
  Telephony           Bluetooth          …            •   All the others android
                                                          components are then started
Activity Manager     Package Manager         Service Manager
Developing Applications
• Best support for developing programs is to do it through
  Eclipse IDE
   – Eclipse IDE version 3.3 or newer
   – JDK 5 or 6
   – Android SDK
   – Java Beans IDE
• Install the Android Development Tools Plugin (ADT)
   – ADT automates a lot of what you would have to do
     manually
Programming API’s

 Android.graphic    Provides low level graphics tools such as
                    canvases, color filters, points and rectangles that
                    handles drawing to the screen directly

Android.hardware    Contains classes to manipulate data returned from
                    content providers


Android. database   Provides support for hardware devices that may
                    not be present on every Android device

Android.telephony   Monitoring the basic phone information, such as
                    the network type and connection state, utilities for
                    manipulating phone number strings
Programming API’s
                    Handle screen layout and interaction with the
 Android.view
                    user


Android.Webkit      Provides tools for browsing the web


 Android.Os
                    Basic operating system services, message
                    passing, and inter-process communication on
                    the device

Android.Widget      Contains (mostly visual) UI elements to use
                    on your Application screen
Android SDK
•   SDK, an open-source package is available for
      – Windows
      – Linux
      – Mac OS
•   Java is indeed the programming language for software running on
    the Linux-based phones
•   Use the open-source Eclipse IDE, founded by IBM, along with an
    Android plug-in
•   Includes an emulator, write software even without phone hardware.
    "The look and feel of the UI in the emulator is a placeholder for a
    final version that is under development."
•   Contains APIs that support location-based services, video and audio
    streaming and playback, and 3D graphics.
•   Bluetooth and 802.11 wireless networking APIs aren't yet available.
New Project in SDK




                     50
        50
Example – Hello Android
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity
{
/* Called when the activity is first created */
@Override
public void onCreate(Bundle savedInstState)
 {
   super.onCreate(savedInstState);
   TextView tv = new TextView(this);
   tv.setText("Hello, Android");setContentView(tv);
}
}
Android SDK
Android Debug Bridge (ADB)
• Android Debug Bridge (adb) is a versatile tool
  that lets you manage the state of a device or
  emulator.
• Some of ways you can use adb include:
• Run shell commands on a device
• Manage port forwarding on an emulator or
  device
• Copy files to/from an emulator or device
• The sections below introduce adb and describe
  many of its common uses.
Native Applications for Android
• The ADB debugger gives a root shell under the Android
  Emulator which allows native ARM code to be uploaded
  and executed. ARM code can be compiled using GCC
  on a standard PC. Running native code is complicated
  by the fact that Android uses a non-standard C library
  (known as Bionic). The underlying graphics device is
  available as a framebuffer at /dev/graphics/fb0.
• The graphics library that Android uses to arbitrate and
  control access to this device is called the Skia Graphics
  Library (SGL), and it has been released under an open
  source license.Skia has backends for both win32 and
  Cairo, allowing the development of cross-platform
  applications, and it is the graphics engine underlying the
  Google Chrome web browser.
• Native classes can be called from Java code running
  under the Dalvik VM using the System.loadLibrary call,
  which is part of the standard Android Java classes.
Android Emulator
•   SDK includes a mobile device emulator - a virtual mobile device that runs
    on your computer. Emulator is based on QEMU
•   Allows to (without using a physical device ) :
     – prototype
     – develop
     – test applications
•   Mimics typical hardware and software features (except that it can not
    receive or place actual phone calls)
•   Allows application to use the services of the Android platform to:
     – invoke other applications
     – access the network
     – play audio and video
     – store and retrieve data
     – notify the user
     – render graphical transitions and themes
•   Includes a variety of debug capabilities, such as :
     – a console from which kernel output can be logged,
     – simulate application interrupts (such as arriving SMS messages or
        phone calls),
     – simulate latency effects and dropouts on the data channel.
Emulator on PC
Developer Challenge
• Android’s Vision – cool applications that
  surprise and delight mobile users
  – Total award amount - $10 million
  – 50 teams qualified as finalists, each received
    award of $25,000
  – 10 teams received an award of $275,000 each
  – 10 teams received $100,000 each
Android Apps Market
• Google’s application store, where users can
  search, download, buy and install software
• Android Market allows developers to offer
  applications to people with Android based
  smartphones.
  – 27.10.2008 opened for developers to upload free
    software ($25 one time application fee)
  – Q1 2009 developers can distribute paid apps
    (developers get 70% of the revenue from each
    purchase, remaining part goes to carriers and
    billing settlement fees)
Sample Applications - List
•   Cab4me               •   BreadCrumbz
•   Compare Everywhere   •   CookingCapsules
•   Ecorio               •   Maverick
•   GoCart               •   PebbleBox
•   Life 3600            •   PhoneBook 2.0
•   Locale               •   Piggyback
•   PicSay               •   Pocket Journey
•   Softrace             •   Rayfarla
•   TuneWiki             •   ShareYourBoard
•   Wertago              •   Teradesk e-Storage
Sample Applications -
    Snapshots
Sample Applications -
    Snapshots
Sample Applications -
    Snapshots
Sample Applications -
    Snapshots
Sample Applications -
        Snapshots




Cab4me            Compare Everywhere
First Android Handset

   T-Mobile G1(Dream)
Features
• 500 MHz, 192 MB RAM, HVGA
• Touch Screen
• QWERTY keyboard
• One-Touch Google Search
• Real Web Browsing
• Easy Access to Google Apps
    – Google Maps street view (in-built
      compass)
    – Calendar
    – YouTube, Gmail, GTalk
•    3G Network and Wi-Fi Access
•   IM/Text/E-mail
•   3.2 Megapixel Camera
•   Music Player
•   Android Market
•   Customizable Home Screen
T-Mobile G1 Sale
• Launched on 22nd
  Oct, 2008
• T-Mobile has totally
  overshot their sales
  expectations for the
  G1
• 1.5 million G1s have
  already been sold in
  pre-orders
Android on Notebooks
– ASUS Notebooks:   – Nokia Internet Tablet:
   • EEEPC 701          • N810
   • EEEPC 1000H
Market Share
                                                                          Window Mobile
                     iPhone OS      (Apple)   BlackBerry OS (RIM)          (Microsoft)      Android     (Google)   Symbian          (Nokia)
Platform             • Closed                 • Closed                 • Open               • Open                 • Open

Source Code          • Closed                 • Closed                 • Closed             • Open                 • Open (in future)

Q2 WW Market         • 2.8% (1)               • 17.4%                  • 12.0%              • n/a                  • 57.1%
Share (Gartner)

Smartphone traffic   • WW: 4%                 • WW: 11%                • WW: 13%            • n/a                  • WW: 64%
share (AdMob)        • US: 16%                • US: 31%                • US: 29%                                   • US: 2%


Pros                 • Early momentum         • Strong reach           • Manufacturer /     • Manufacturer /       • Massive global
                     • Data hungry early        (particularly in US)     carrier agnostic     carrier agnostic       reach
                       adopters                                                             • Open source          • Open source
                     • Powerful                                                               innovation             innovation
                       distribution channel




Issues               • Apple dependant        • BB dependent           • Distribution       • Late to market       • Limited reach in US
                                              • Distribution                                • Uncertain            • Distribution
                                                                                              consumer demand



Application          • >3K apps (~20%         • Fewer free apps        • >18K apps          • Android Market       • >10K apps
ecosystem              free)                  • BB Application         • Skymarket to         announced            • Claims >90MM
                     • More than 1M             Center being             launch in 2009     • $3.8MM awarded in      installs over last 2
                       installs in only a       developed for                                 Developer              years
                       few months               Storm                                         Challenge
References
•   Android Open Source Project
•   http://www.youtube.com/watch?v=7Y4thikv-OM
•   Introduction to Androidology
•   http://android.com
•   http://code.google.com/android/
•   http://www.youtube.com/watch?v=QBGfUs9mQYY
•   http://www.youtube.com/watch?v=fL6gSd4ugSI
•   http://www.youtube.com/watch?v=MPukbH6D-lY
•   Dalvik Virtual Machine
•   http://www.youtube.com/watch?v=RF62c4HgbU4
•   HTC G1 Android Phone
•   http://www.youtube.com/watch?v=0ZHgZr3SXCA
Android – Is It a Revolution?

Más contenido relacionado

La actualidad más candente

Android technology prepared by Hritika Raj (Shivalik college of engg.)
Android technology prepared by Hritika Raj (Shivalik college of engg.)Android technology prepared by Hritika Raj (Shivalik college of engg.)
Android technology prepared by Hritika Raj (Shivalik college of engg.)Hritika Raj
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemBilal Mirza
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & ComponentsVijay Rastogi
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App DevelopmentMike Kvintus
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentationconnectshilpa
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development pptGautam Kumar
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
android phone ppt
android phone pptandroid phone ppt
android phone pptmehul patel
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Jimmin Kurichiyil
 
Android app development
Android app developmentAndroid app development
Android app developmentTanmoy Roy
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating Systemrenoy reji
 
Seminar on mobile application development with android
Seminar on mobile application development with androidSeminar on mobile application development with android
Seminar on mobile application development with androidNoor Mohammed Anik
 

La actualidad más candente (20)

PPT on Android
PPT on AndroidPPT on Android
PPT on Android
 
Android technology prepared by Hritika Raj (Shivalik college of engg.)
Android technology prepared by Hritika Raj (Shivalik college of engg.)Android technology prepared by Hritika Raj (Shivalik college of engg.)
Android technology prepared by Hritika Raj (Shivalik college of engg.)
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & Components
 
Android.ppt
Android.pptAndroid.ppt
Android.ppt
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Linux seminar
Linux seminarLinux seminar
Linux seminar
 
android phone ppt
android phone pptandroid phone ppt
android phone ppt
 
ppt on Android os- vinit
ppt on Android os- vinitppt on Android os- vinit
ppt on Android os- vinit
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation
 
Android app development
Android app developmentAndroid app development
Android app development
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
Seminar on mobile application development with android
Seminar on mobile application development with androidSeminar on mobile application development with android
Seminar on mobile application development with android
 

Destacado

Real Time Operating System Concepts
Real Time Operating System ConceptsReal Time Operating System Concepts
Real Time Operating System ConceptsSanjiv Malik
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression BasicsSanjiv Malik
 
Presentatie E-Shop Expo 2014: Meubis
Presentatie E-Shop Expo 2014: MeubisPresentatie E-Shop Expo 2014: Meubis
Presentatie E-Shop Expo 2014: Meubiswebwinkelvakdag
 
Connected home - market evolution & protocol wars
Connected home - market evolution & protocol warsConnected home - market evolution & protocol wars
Connected home - market evolution & protocol warsBorys Tomala
 
My smart homes
My smart homesMy smart homes
My smart homesroandua
 
Avatar (2009)
Avatar (2009)Avatar (2009)
Avatar (2009)mcfly2015
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpfdanishrafiq
 
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...ECAM Brussels Engineering School
 
Evolution of Bicycle
Evolution of Bicycle Evolution of Bicycle
Evolution of Bicycle Sushil Lamba
 
Usability issues in mobile web
Usability issues in mobile webUsability issues in mobile web
Usability issues in mobile webdanishrafiq
 

Destacado (20)

Android ppt
Android ppt Android ppt
Android ppt
 
Real Time Operating System Concepts
Real Time Operating System ConceptsReal Time Operating System Concepts
Real Time Operating System Concepts
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
Presentatie E-Shop Expo 2014: Meubis
Presentatie E-Shop Expo 2014: MeubisPresentatie E-Shop Expo 2014: Meubis
Presentatie E-Shop Expo 2014: Meubis
 
Life is agency
Life is agencyLife is agency
Life is agency
 
Connected home - market evolution & protocol wars
Connected home - market evolution & protocol warsConnected home - market evolution & protocol wars
Connected home - market evolution & protocol wars
 
Evolution of android
Evolution of androidEvolution of android
Evolution of android
 
My smart homes
My smart homesMy smart homes
My smart homes
 
Avatar (2009)
Avatar (2009)Avatar (2009)
Avatar (2009)
 
Ccna day4
Ccna day4Ccna day4
Ccna day4
 
Ccna day5
Ccna day5Ccna day5
Ccna day5
 
Ccna day1
Ccna day1Ccna day1
Ccna day1
 
Ccna day2
Ccna day2Ccna day2
Ccna day2
 
Ccna day3
Ccna day3Ccna day3
Ccna day3
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
 
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...
Y a-t-il un pilote à bord ? Quand le pilote ne comprend plus son autopilote...
 
Evolution of Bicycle
Evolution of Bicycle Evolution of Bicycle
Evolution of Bicycle
 
Usability issues in mobile web
Usability issues in mobile webUsability issues in mobile web
Usability issues in mobile web
 

Similar a Android : Evolution or Revolution

Android application development
Android application developmentAndroid application development
Android application developmentFahad A. Shaikh
 
Mobile application development4
Mobile application development4Mobile application development4
Mobile application development4Appin Kulti Branch
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentAppin Hisar
 
Mobile application development2
Mobile application development2Mobile application development2
Mobile application development2Appin Ara
 
Mobile application development2
Mobile application development2Mobile application development2
Mobile application development2Appin Vijayanagar
 
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
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptxMugiiiReee
 
Android vs Others Operating System
Android vs Others Operating SystemAndroid vs Others Operating System
Android vs Others Operating SystemShemul Hossain
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
Android introduction
Android introductionAndroid introduction
Android introductionperpetrotech
 
Operating systems essentials & Android OS concepts
Operating systems essentials & Android OS conceptsOperating systems essentials & Android OS concepts
Operating systems essentials & Android OS conceptsMohamed Taman
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming'Zamin Mammadov
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit Vpkaviya
 
Qt everywhere
Qt everywhereQt everywhere
Qt everywhereNokia
 
1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250MadNor Exe
 

Similar a Android : Evolution or Revolution (20)

Lec001
Lec001Lec001
Lec001
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
 
Android application development
Android application developmentAndroid application development
Android application development
 
Mobile application development4
Mobile application development4Mobile application development4
Mobile application development4
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Mobile application development2
Mobile application development2Mobile application development2
Mobile application development2
 
Mobile application development2
Mobile application development2Mobile application development2
Mobile application development2
 
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
 
18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx18ITT61 - Introduction.pptx
18ITT61 - Introduction.pptx
 
Android vs Others Operating System
Android vs Others Operating SystemAndroid vs Others Operating System
Android vs Others Operating System
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
Android based os
Android based osAndroid based os
Android based os
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Operating systems essentials & Android OS concepts
Operating systems essentials & Android OS conceptsOperating systems essentials & Android OS concepts
Operating systems essentials & Android OS concepts
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
 
IT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit VIT6601 Mobile Computing Unit V
IT6601 Mobile Computing Unit V
 
Qt everywhere
Qt everywhereQt everywhere
Qt everywhere
 
Android 1
Android 1 Android 1
Android 1
 
1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
 

Último

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Android : Evolution or Revolution

  • 1. Evolution or Revolution? - Sanjiv Malik
  • 3. Trends before Mid-2007 • Platforms available: – J2ME – Symbian – Windows Mobile – RIM – Palm OS • Bulky devices • Limited applications • Small screen size • Non-customized buttons • Expensive data transfer • Crippled browsers
  • 4. Trends - 2008 • Apple’s iPhone entered market as a “package” • Apple delivered a ‘solution’ – Slim & sleek iPhone is not just another phone, it’s a brand – Data transfer – Full featured browser – One screen size and no buttons – Content evaluation – Easy application deployment Apple is having Strict Control over what’ll go inside iPhone
  • 6. LG Voyager Trends - 2008 iRiver GSM Blackberry Storm Nokia 5800 All Touchscreen interface Full Functional browser similar to PC Smooth User Interface Samsung Omnia HTC Touch
  • 7. Market Share Others Linux 5.1% Windows Mobile 13.6% Symbian 46.6% BlackBerry 15.2% Apple 17.3% Android is nowhere as of Q3 2008 Expecting to gain a big share by 2012
  • 8. Need of Another Mobile Platform • Everyone’s developing their own Platform • Handset manufacturer have strict control over what will go inside • The efforts can be shared and much better end- products can be offered to the end-user • The platform should be independent of the operator • Apps should not be dependent upon the platform
  • 9. The Google Approach • Google announces platform based solution – Android • 47 Major telecommunication giants join hands with Google to form Open Handset Alliance • Open source OS, will enable to develop cheaper and competitive smart phones • Allows 3rd parties to develop innovative applications with no interference • No content monitoring • Plans to use Android for any device, not just the mobiles
  • 10. Philosophy “Never settle for the best” Has proven this through: • innovation of technology • increasing the value of it’s products
  • 11. Google Mission Web Video Books News Enterprise Content all Organize all the world's information and make it universally accessible and useful
  • 12.
  • 13. Market Share TOTAL MARKET SHARE – SEPT. 2008 • 99% of revenue from Ads • Adwords (Google’s Flagship advertising product), Adsense, Adwords Website Optimizer • Audio Ads • Click to Call • Double Click
  • 14. History • In July 2005, Google acquired Android, Inc., a small startup company based in Palo Alto, CA • Android's co-founders Andy Rubin joined Google • Speculation that Google would be entering the mobile- phone market came in December 2006 • At Google, the team, led by Rubin, developed a Linux- based mobile device OS which they marketed to handset makers and carriers on the premise of providing a flexible, upgradeable system. • On 5 November 2007, the Open Handset Alliance, a consortium of several companies which include Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel and NVIDIA, was unveiled with the goal to develop open standards for mobile devices
  • 15. Open Handset Alliance The Alliance competes against Apple, Microsoft, Nokia, Palm, Symbian
  • 16. 47 Major Companies including Handset manufacturer, Semiconductor, Telecom Service Providers, Mobile platform/app designers etc
  • 17. Android Theory • Enjoys broad developer base & industry support • Based on proven technologies Java, XML and Linux • Open source & free { Not All Open Source } • Operator independent • Platform independent applications based on widely used Java • Supports parallel execution of applications
  • 18. Win-Win Situation Handset Manufacturers Mobile Operators Single platform Single platform Revenue generation No customization Revenue generation No customization Developers Customers Innovation Rich features Rich features Innovation Technology edge Creativity Creativity Technology edge Appreciation Less expensive Less expensive Appreciation Better experience Earnings Earnings Better experience • Appealing to developers • Appealing to manufacturers • Appealing to operators • Appealing to customers
  • 19. How will Google Make Money? • Google doesn't want to develop and sell smart phones, it just wants to sell advertising space on them • The Key is Mobile advertisement • Google Strategy “Create a Critical Mass first & the rest will follow” follow
  • 21. Philosophy Apple Google • Users first • Developers first • Home button • Back button • Closed, rich UI • Open, feature rich • Apps & developers will • Apps & users will follow follow
  • 23. iPhone Vs Android • iPhone apps can only be • Android apps can be developed on a fairly new developed on any Mac platform (Windows XP and Vista, Linux, and Mac OS X) • iPhone apps require • Based on Java which all developers to learn mobile app developers Objective-C are familiar with • Apple has strict control of • Anyone can develop and their App Store. launch an Android app
  • 24. iPhone Vs Android • Only one app can run at a • Apps on an Android time. Other apps will be handset can run in sleeping parallel (an app running in the background can send an alert) • In the US, AT&T has • Android is license and exclusive rights to sell the operator independent iPhone 3G • No support for MMS, • Android supports MMS, video recording & video camera & bluetooth bluetooth
  • 26. The Platform • Software stack for mobile devices – Includes an OS, middleware & key applications – Java based applications run on Dalvik, a custom VM designed for embedded use – Dalvik VM runs on top of a Linux kernel • Light weight and full featured • Extensible
  • 27. Features • Graphics Library • Messaging – Adaptable to custom 2D – SMS & MMS graphics library, 3D • Web Browser graphics library based on OpenGL ES 1.0 – WebKit Application Framework • Storage • Dalvik Virtual Machine – SQLite for structured data storage – Specialized VM implementation for • Connectivity applications written in Java – GSM/EDGE, CDMA, optimized for mobile UMTS, EV-DO, Bluetooth devices & Wi-Fi
  • 28. Features • Media Support • Development – MPEG-4, H.264, MP3, Environment AAC, OGG, AMR, JPEG, – Device Emulator PNG, GIF – Debugging Tools • Additional Hardware – Eclipse IDE & plugin Support • Application Framework – Cameras, touch screens, – Enable reuse and GPS, accelerometers & replacement of accelerated 3D Graphics, components Compass
  • 30. Linux Kernel • Kernel version 2.6.x • Acts as an abstraction layer between the hardware and the rest of the software stack • Core services : – security – memory management – process management – network stack – driver model
  • 31. Linux Kernel to Android • Goldfish – virtual CPU executing ARM926T instructions • YAFFS2 – high performance interface between kernel & NAND flash devices • Bluetooth – fixed bugs related to Bluetooth headsets, added Bluetooth debugging and access control functions • Scheduler – modified CPU process scheduling & time keeping algorithms
  • 32. Linux Kernel to Android • IPC Binder – processes to provide services to other processes • Low Memory Killer – scan list of running process and kill one • Ashmem – adds interfaces so processes can share named blocks of memory • Android Debug Bridge – protocol that runs over a USB link between a Android hardware device and a developer writing applications on a desktop
  • 33. Linux Kernel to Android • RAM Console & Log Device – store kernel log messages to a RAM buffer • Power Management – added new power management system • Miscellaneous – additional debugging support, keypad light controls, and management of TCP networking
  • 34. Libraries • System C Libraries – tuned for embedded Linux • Media Libraries – support popular audio/video formats • Surface Manager – manages access to display subsystem • WebKit – modern web browser engine • SGL – 2D graphics engine • 3D Libraries – based on OpenGL ES 1.0 • Free Type – bitmap and font rendering • SQLite – lightweight relational database engine (~500KB)
  • 35. Android Runtime • Runtime includes core libraries & Dalvik VM • DVM specifically designed to run in limited environment – Non standard JVM – Not Java SE, ME – No Swing/AWT windowing toolkits – .jar files are converted to .dex files to generate efficient bytecode – Device can run multiple VMs efficiently
  • 36. Dalvik Virtual Machine • Bytecode interpreter for systems with – Slow CPU (250-500 MHz) – Little RAM (64 MB) – No swap space – Battery power Java Dalvik Eclipse Dx Converter Compiler VM
  • 37. Dalvik Virtual Machine • Consider the loop inside this simple method public static long sumArray(int[ ] arr) { long sum = 0; for (int i : arr) { sum += i; } return sum; Java Byte Code } DVM Byte Code 000b: iload 05 0007: if-ge v0, v2, 0010 000d: iload 04 0009: aget v1, v8, v0 000f: if_icmpge 0024 000b: int-to-long v5, v1 0012: aload_3 000c: add-long/2addr v3, v5 0013: iload 05 000d: add-int/lit8 v0, v0, #int 1 0015: iaload 000f: goto 0007 0016: istore 06 0018: lload_1 30% less instructions 0019: iload 06 001b: i2l 001c: ladd 001d: lstore_1 001e: iinc 05,
  • 38. Android Runtime • Core libraries are basically Java core libraries – java.io.* – java.util.* – Java.net.* – Java.math.* • Relies on the Linux kernel for underlying functionality
  • 39. Application Framework • Simplified architecture for reuse of components • Applications are based on set of services: – A rich and extensible set of Views – Content Providers – Resource Manager – Notification Manager – Activity Manager
  • 40. Applications • Android ships a set of core applications: – Email client – SMS/MMS program – Calendar – Maps – Browser – Contacts
  • 41. Application Building Blocks • Divide the application into following components: Activity UI component corresponding to one screen Intent Receiver Responds to notification or status change Service A task that runs in background Content Provider Enables applications to share data
  • 42. Application Building Blocks • Define & list all components to be used in AndroidManifest.xml file – Required file for all the applications located in the root folder – Contains: • all global values for the package • all the components and its classes used • intent filters, which describe where and when the certain activity should start • permissions
  • 43. Lifecycle of Applications • Each application runs in its own Linux process. App is launched inside a new instance of the VM • When a new app is installed, its having user permission, so it has access to only certain resources. • Process’s lifetime not directly controlled by application • Determined by the system depending on: – running applications – their importance – available memory • Components impact the lifetime of the application’s process • Importance hierarchy for killing processes based on – components running in them – state of these components
  • 44. Application Life-Cycle • Android is responsible to manage which application should run and which should be killed • Android takes the complete headache of allocating sufficient memory to each App. • It manages it very fast & without any user interaction
  • 45. Platform Initialization Kernel • Boot loader loads kernel & starts init process • Daemons for handling low Init level hardware interfaces • “Zygote”, the initial Dalvik VM Daemons Zygote Runtime process is created • Runtime process initiates the Service Manager Service Manager • Runtime process requests Dalvik VM Zygote to start a new instance System Server of Dalvik for running the Registration System Server Surface Manager • The first process handles graphic outputs Telephony Bluetooth … • All the others android components are then started Activity Manager Package Manager Service Manager
  • 46. Developing Applications • Best support for developing programs is to do it through Eclipse IDE – Eclipse IDE version 3.3 or newer – JDK 5 or 6 – Android SDK – Java Beans IDE • Install the Android Development Tools Plugin (ADT) – ADT automates a lot of what you would have to do manually
  • 47. Programming API’s Android.graphic Provides low level graphics tools such as canvases, color filters, points and rectangles that handles drawing to the screen directly Android.hardware Contains classes to manipulate data returned from content providers Android. database Provides support for hardware devices that may not be present on every Android device Android.telephony Monitoring the basic phone information, such as the network type and connection state, utilities for manipulating phone number strings
  • 48. Programming API’s Handle screen layout and interaction with the Android.view user Android.Webkit Provides tools for browsing the web Android.Os Basic operating system services, message passing, and inter-process communication on the device Android.Widget Contains (mostly visual) UI elements to use on your Application screen
  • 49. Android SDK • SDK, an open-source package is available for – Windows – Linux – Mac OS • Java is indeed the programming language for software running on the Linux-based phones • Use the open-source Eclipse IDE, founded by IBM, along with an Android plug-in • Includes an emulator, write software even without phone hardware. "The look and feel of the UI in the emulator is a placeholder for a final version that is under development." • Contains APIs that support location-based services, video and audio streaming and playback, and 3D graphics. • Bluetooth and 802.11 wireless networking APIs aren't yet available.
  • 50. New Project in SDK 50 50
  • 51. Example – Hello Android package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /* Called when the activity is first created */ @Override public void onCreate(Bundle savedInstState) { super.onCreate(savedInstState); TextView tv = new TextView(this); tv.setText("Hello, Android");setContentView(tv); } }
  • 53. Android Debug Bridge (ADB) • Android Debug Bridge (adb) is a versatile tool that lets you manage the state of a device or emulator. • Some of ways you can use adb include: • Run shell commands on a device • Manage port forwarding on an emulator or device • Copy files to/from an emulator or device • The sections below introduce adb and describe many of its common uses.
  • 54. Native Applications for Android • The ADB debugger gives a root shell under the Android Emulator which allows native ARM code to be uploaded and executed. ARM code can be compiled using GCC on a standard PC. Running native code is complicated by the fact that Android uses a non-standard C library (known as Bionic). The underlying graphics device is available as a framebuffer at /dev/graphics/fb0. • The graphics library that Android uses to arbitrate and control access to this device is called the Skia Graphics Library (SGL), and it has been released under an open source license.Skia has backends for both win32 and Cairo, allowing the development of cross-platform applications, and it is the graphics engine underlying the Google Chrome web browser. • Native classes can be called from Java code running under the Dalvik VM using the System.loadLibrary call, which is part of the standard Android Java classes.
  • 55. Android Emulator • SDK includes a mobile device emulator - a virtual mobile device that runs on your computer. Emulator is based on QEMU • Allows to (without using a physical device ) : – prototype – develop – test applications • Mimics typical hardware and software features (except that it can not receive or place actual phone calls) • Allows application to use the services of the Android platform to: – invoke other applications – access the network – play audio and video – store and retrieve data – notify the user – render graphical transitions and themes • Includes a variety of debug capabilities, such as : – a console from which kernel output can be logged, – simulate application interrupts (such as arriving SMS messages or phone calls), – simulate latency effects and dropouts on the data channel.
  • 57. Developer Challenge • Android’s Vision – cool applications that surprise and delight mobile users – Total award amount - $10 million – 50 teams qualified as finalists, each received award of $25,000 – 10 teams received an award of $275,000 each – 10 teams received $100,000 each
  • 58. Android Apps Market • Google’s application store, where users can search, download, buy and install software • Android Market allows developers to offer applications to people with Android based smartphones. – 27.10.2008 opened for developers to upload free software ($25 one time application fee) – Q1 2009 developers can distribute paid apps (developers get 70% of the revenue from each purchase, remaining part goes to carriers and billing settlement fees)
  • 59. Sample Applications - List • Cab4me • BreadCrumbz • Compare Everywhere • CookingCapsules • Ecorio • Maverick • GoCart • PebbleBox • Life 3600 • PhoneBook 2.0 • Locale • Piggyback • PicSay • Pocket Journey • Softrace • Rayfarla • TuneWiki • ShareYourBoard • Wertago • Teradesk e-Storage
  • 64. Sample Applications - Snapshots Cab4me Compare Everywhere
  • 65. First Android Handset T-Mobile G1(Dream)
  • 66. Features • 500 MHz, 192 MB RAM, HVGA • Touch Screen • QWERTY keyboard • One-Touch Google Search • Real Web Browsing • Easy Access to Google Apps – Google Maps street view (in-built compass) – Calendar – YouTube, Gmail, GTalk • 3G Network and Wi-Fi Access • IM/Text/E-mail • 3.2 Megapixel Camera • Music Player • Android Market • Customizable Home Screen
  • 67. T-Mobile G1 Sale • Launched on 22nd Oct, 2008 • T-Mobile has totally overshot their sales expectations for the G1 • 1.5 million G1s have already been sold in pre-orders
  • 68. Android on Notebooks – ASUS Notebooks: – Nokia Internet Tablet: • EEEPC 701 • N810 • EEEPC 1000H
  • 69. Market Share Window Mobile iPhone OS (Apple) BlackBerry OS (RIM) (Microsoft) Android (Google) Symbian (Nokia) Platform • Closed • Closed • Open • Open • Open Source Code • Closed • Closed • Closed • Open • Open (in future) Q2 WW Market • 2.8% (1) • 17.4% • 12.0% • n/a • 57.1% Share (Gartner) Smartphone traffic • WW: 4% • WW: 11% • WW: 13% • n/a • WW: 64% share (AdMob) • US: 16% • US: 31% • US: 29% • US: 2% Pros • Early momentum • Strong reach • Manufacturer / • Manufacturer / • Massive global • Data hungry early (particularly in US) carrier agnostic carrier agnostic reach adopters • Open source • Open source • Powerful innovation innovation distribution channel Issues • Apple dependant • BB dependent • Distribution • Late to market • Limited reach in US • Distribution • Uncertain • Distribution consumer demand Application • >3K apps (~20% • Fewer free apps • >18K apps • Android Market • >10K apps ecosystem free) • BB Application • Skymarket to announced • Claims >90MM • More than 1M Center being launch in 2009 • $3.8MM awarded in installs over last 2 installs in only a developed for Developer years few months Storm Challenge
  • 70. References • Android Open Source Project • http://www.youtube.com/watch?v=7Y4thikv-OM • Introduction to Androidology • http://android.com • http://code.google.com/android/ • http://www.youtube.com/watch?v=QBGfUs9mQYY • http://www.youtube.com/watch?v=fL6gSd4ugSI • http://www.youtube.com/watch?v=MPukbH6D-lY • Dalvik Virtual Machine • http://www.youtube.com/watch?v=RF62c4HgbU4 • HTC G1 Android Phone • http://www.youtube.com/watch?v=0ZHgZr3SXCA
  • 71. Android – Is It a Revolution?