Android

 Google
Android
     An Open Handset Alliance Project
•   http://code.google.com/android 
•   Write apps to run on mobile phones
•   Will be released as open source
•   Can download the SDK today!
Android Features

•   Application Framework
•   Dalvik virtual machine
•   Integrated (webkit) browser
•   2D and 3D graphics APIs with HW
•   SQLite
•   Video and audio codecs
•   Bluetooth, EDGE, 3G, and WiFi
•   Camera, GPS, compass, and accelerometer
Android Architecture
Challenges

• CPU typically runs 500-600 Mhz
• RAM available to an App may only be a few megabytes
• Disk (flash) access is very slow
• Lifecycle - apps must pause/quit often, and restore to give
  the illusion that they are always running
• UI design
   o typical screen may be HVGA (320x480)
   o may be in portrait or landscape
   o very high DPI - small text may not be readable
   o touch resolution is very low (~25 pixel)
• Network access may be slow and (very) intermittent
Opportunities

• 100s of millions of mobile phone users
• Very high growth, esp. in Asia
• "Wild wild west" of application development
   o think 1985 on the desktop (if you were born by then)
   o no dominant 3rd party developers.... yet
   o what will the killer app categories be?
   o what does it mean to have any app + the internet in
     your pocket?
• You can develop for it today!
Possibilities
Augmented Campus Reality       Web scraping
 • camera + maps + compass     • news filters
   = heads up info             • sport scores
                               • dook news eliminators
Games
• multi-player (bluetooth,     Distributed computing?
  wifi, cell)                   • 10,000 phones all donating
• location-based (scavenger       their idle time
  hunt)                         • tiny terminal (phone) + fast
                                  cpu/network (server)
Custom overlays for maps
 • weather, traffic, friends   Shared whiteboard
Project Suggestions
• Web Scrapers [movies, weather, sports, <topic> news]
   o Find multiple web sources
   o Scrape them for the relevant information
   o Present in a custom UI on the phone
• Asynchronous games [chess, poker, risk]
   o Develop an API for all games to communicate through
      1.Establish connections by phone number
      – Send and receive game data
      – Ability to reopen connections 
• Planner/To-do list with location data
   o Decide route to next class, meeting, etc
   o Find a order/route for non time-critical tasks
   o Connect to campus directory to find
     teachers/classmates

Introduction to android 2

  • 1.
  • 2.
    Android An Open Handset Alliance Project • http://code.google.com/android  • Write apps to run on mobile phones • Will be released as open source • Can download the SDK today!
  • 3.
    Android Features • Application Framework • Dalvik virtual machine • Integrated (webkit) browser • 2D and 3D graphics APIs with HW • SQLite • Video and audio codecs • Bluetooth, EDGE, 3G, and WiFi • Camera, GPS, compass, and accelerometer
  • 4.
  • 5.
    Challenges • CPU typicallyruns 500-600 Mhz • RAM available to an App may only be a few megabytes • Disk (flash) access is very slow • Lifecycle - apps must pause/quit often, and restore to give the illusion that they are always running • UI design o typical screen may be HVGA (320x480) o may be in portrait or landscape o very high DPI - small text may not be readable o touch resolution is very low (~25 pixel) • Network access may be slow and (very) intermittent
  • 6.
    Opportunities • 100s ofmillions of mobile phone users • Very high growth, esp. in Asia • "Wild wild west" of application development o think 1985 on the desktop (if you were born by then) o no dominant 3rd party developers.... yet o what will the killer app categories be? o what does it mean to have any app + the internet in your pocket? • You can develop for it today!
  • 7.
    Possibilities Augmented Campus Reality Web scraping • camera + maps + compass • news filters = heads up info • sport scores • dook news eliminators Games • multi-player (bluetooth, Distributed computing? wifi, cell) • 10,000 phones all donating • location-based (scavenger their idle time hunt) • tiny terminal (phone) + fast cpu/network (server) Custom overlays for maps • weather, traffic, friends Shared whiteboard
  • 8.
    Project Suggestions • WebScrapers [movies, weather, sports, <topic> news] o Find multiple web sources o Scrape them for the relevant information o Present in a custom UI on the phone • Asynchronous games [chess, poker, risk] o Develop an API for all games to communicate through 1.Establish connections by phone number – Send and receive game data – Ability to reopen connections  • Planner/To-do list with location data o Decide route to next class, meeting, etc o Find a order/route for non time-critical tasks o Connect to campus directory to find teachers/classmates