Open Handset Alliance , a consortium of 47 hardware , software , and telecom companies devoted to advancing open standards for mobile devices. Includes Texas Instruments , Broadcom Corporation , Google , HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel and T-Mobile
The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.
Maybe more profitable with ads than actually selling the app
Why Mobile App Development? The fact that we can! Only a few years ago you had tobe in the Motorola inner circle to do it! Mobile platform is the platform of the future Double-digit growth in world-wide smartphone ownership3 Job market is hot Market for mobile software surges from $4.1 billion in 2009 to$17.5 billion by 20121 2010 Dice.com survey: 72% of recruiters looking for iPhone appdevelopers, 60% for Android1 Dice.com: mobile app developers made $85,000 in 2010 andsalaries expected to rise2 Students (and faculty!) are naturally interested!1 http://www.businessweek.com/technology/content/oct2010/tc20101020_639668.htm2 http://it-jobs.fins.com/Articles/SB129606993144879991/Mobile-App-Developers-Wanted-at-Ad-Agencies3http://www.gartner.com/it/page.jsp?id=1466313
Why Android? A lot of students have them 2010 survey by University of CO1: 22% of collegestudents have Android phone (26% Blackberry, 40%iPhone) Gartner survey2: Android used on 22.7% ofsmartphones sold world-wide in 2010 (37.6%Symbian, 15.7% iOS) Students already know Java and Eclipse Low learning curve CS0 students can use App Inventor for Android1http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/2http://www.gartner.com/it/page.jsp?id=1543014
Why Android? Transferring app to phone is trivial Can distribute by putting it on the web Android Market for wider distribution• It’s not 1984
Brief History 1996 The WWW already had websites with color andimages But, the best phones displayed a couple of linesof monochrome text! Enter: Wireless Application Protocol (WAP) – stripped downHTTP for bandwidth reduction Wireless Markup Language (WML) – stripped downHTML for content
Brief History Many issues (WAP = “Wait And Pay”) Few developers to produce content (it wasn’t fun!) Really hard to type in URLs using the smallkeyboards Data fees frightfully expensive No billing mechanism – content difficult tomonetize Other platforms emerged Palm OS, Blackberry OS, J2ME, Symbian(Nokia), BREW, OS X iPhone, Windows Mobile
Brief History - Android 2005 Google acquires startup Android Inc. to start Android platform Work on Dalvik VM begins 2007 Open Handset Alliance announced Early look at SDK 2008 Google sponsors 1stAndroid Developer Challenge T-Mobile G1 announced SDK 1.0 released Android released open source (Apache License) Android Dev Phone 1 released
Brief History cont. 2009 SDK 1.5 (Cupcake) New soft keyboard with “autocomplete” feature SDK 1.6 (Donut) Support Wide VGA SDK 2.0/2.0.1/2.1 (Eclair) Revamped UI, browser 2010 Nexus One released to the public SDK 2.2 (Froyo) Flash support, tethering SDK 2.3 (Gingerbread) UI update, system-wide copy-paste
HoneycombAndroid3.0-3.Brief History cont. 2011 SDK 3.0/3.1/3.2 (Honeycomb) for tablets only New UI for tablets, support multi-core processors SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich) Changes to the UI, Voice input, NFCIce cream SandwicAndroid 4.0+
The Android DeveloperWebsite http://developer.android.com/index.html This should be your homepage for the nextsemester!
Distribution of DevicesData collected during a 14-day period ending on January 3, 2012http://developer.android.com/resources/dashboard/platform-versions.html
What is Google Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux to provide core system services Security Memory management Process management Power management Hardware drivers
Mobile Devices: Advantages (ascompared to fixed devices) Always with the user Typically have Internet access Typically GPS enabled Typically have accelerometer & compass Most have cameras & microphones Many apps are free or low-cost
Mobile Devices: Disadvantages Limited screen size Limited battery life Limited processor speed Limited and sometimes slow network access Limited or awkward input: soft keyboard, phonekeypad, touch screen, or stylus Limited web browser functionality Range of platforms & configurations acrossdevices
Developmentprocess for anAndroid apphttp://developer.android.com/guide/developing/index.html
Android Apps Built using Java and new SDK libraries No support for some Java libraries like Swing &AWT Oracle currently suing Google over use Java code compiled into Dalvik byte code(.dex) Optimized for mobile devices (better memorymanagement, battery utilization, etc.) Dalvik VM runs .dex files
Building and running ADB is a client server program that connects clients on developermachine to devices/emulators to facilitate development. An IDE like Eclipse handles this entire process for you.http://developer.android.com/guide/developing/building/index.html#detailed-buildCompiled resources(xml files)Android Debug Bridge
Building and running (moredetails) Expandfigure Android InterfaceDefinitionLanguage (AIDL) –Definitions toexchange databetweenapplications (thinkSOAP)http://developer.android.com/guide/developing/building/index.html#detailed-buildAndroid Asset Packing ToolAllows processes acrossapps to communicate.
Applications Are Boxed By default, each app is run in its own Linuxprocess Process started when app’s code needs to beexecuted Threads can be started to handle time-consumingoperations Each process has its own Dalvik VM By default, each app is assigned unique Linux ID Permissions are set so app’s files are only visible tothat app
Publishing and Monetizing Paid apps in Android Market, various othermarkets Free, ad-supported apps in Android Market Ad networks (Google AdMob, Quattro Wireless) Sell your own ads Services to other developers Ex. Skyhook Wireless (http://www.skyhookwireless.com/) Contests (Android Developer Challenge) Selling products from within your app
Android Market http://www.android.com/market/Has various categories, allows ratingsHave both free/paid appsFeatured apps on web and on phoneThe Android Market (and iTunes/App Store) isgreat for developers Level playing field, allowing third-party apps Revenue sharing
Publishing to Android Market Requires Google Developer Account $25 fee Link to a Merchant Account Google Checkout Link to your checking account Google takes 30% of app purchase price
Android Design Philosophy Applications should be: Fast Resource constraints: <200MB RAM, slow processor Responsive Apps must respond to user actions within 5 seconds Secure Apps declare permissions in manifest Seamless Usability is key, persist data, suspend services Android kills processes in background as needed
Leveraging the web To keep your apps fast and responsive,consider how you can leverage the web What ____________ can be ________ on aserver or in the cloud? Tasks/performed Data/persisted Data/retrieved Beware, data transfer is also expensive and canbe slow
Other design principles http://developer.android.com/design/index.html Great reference!
Apple vs. Google Open Handset Alliance 30+ technology companies Commitment to openness, shared vision, andconcrete plans Compare with Mac/PC battles Similar (many PC manufacturers, one Apple) Different (Microsoft sells Windows, Google givesaway Android)