Android
An Open Handset Alliance Project
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
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
- typical screen may be HVGA (320x480)
- may be in portrait or landscape
- very high DPI, Display Pixel Per Inch, - small text may not be readable
- touch resolution is very low (~25 pixel)
- Network access may be slow and (very) intermittent
Opportunities
- More than 100s of millions of mobile phone users
- Very high growth
- “wild wild west" of application development
- think 1985 on the desktop (if you were born by then)
- no dominant 3rd party developers.... yet
- what will the killer app categories be?
- what does it mean to have any app + the internet in your
- pocket?
- You can develop for it today!
Possibilities
Augmented Campus Reality
camera + maps + compass = heads
up info
Games multi-player (Bluetooth, WiFi, cell) location-based (scavenger hunt) Custom overlays for maps Weather, Traffic, friends Web scraping news filters sport scores
Distributed computing?
10,000 phones all donating
their idle time
tiny terminal (phone) + fast
cpu/network (server).
Project Suggestions
- Web Scrapers [movies, weather, sports, <topic> news]
- Find multiple web sources
- Scrape them for the relevant information
- Present in a custom UI on the phone
- Asynchronous games [chess, poker, risk]
- Develop an API for all games to communicate through
- Establish connections by phone number
- Send and receive game data
- Ability to reopen connections
- Planner/To-do list with location data
- Decide route to next class, meeting, etc
- Find a order/route for non time-critical tasks
- Connect to campus directory to find teachers/classmates
Next Lesson :