AndroidDaniel Bradby - jTribe       @dbradby
The road to AndroidJavaOpen SourceMobilejTribe
Top 10 things ILove and Hate about      Android
Not Quite Open 1.        SourceDevelopment CyclesBug DatabaseDevice DriversCommunity Contribution
1. Development         Platform ChoiceWindowsLinuxOSX
Slow Early     2.        Growth LocallyDaily ActivationsUSWorld-wideAustralia
Background      2.           SupportDevice ConstraintsBackground is thedefaultTask Managers
3. Early lack of UI Focus  No initial UI Guidance for Devs  Standard Elements lacked polish  No common UI models between a...
3. Notifications
Immature Visual4.    Layout Editor
4.            Widgets                                   Home
Screen
[Launcher]   AppWidget     LayoutBroadcast
Receiver   ...
Tablet Emulator5.     Performance
5.           IntentsAction to be performed on data  Specific (concrete Activity)  Generic (SEND a png)Activities advertise...
Country specific     6.        rollout is slowDaily ActivationsUSWorld-wideAustralia
Alternative     6.        Market PlacesAmazonVerizonGetjar
Consumer Risk    7.         AwarenessPermissionsApp CurationTrojans
7. Constant Dev Console      Improvements
Manufacturer   8.        Custom UIOS VersionScreen SizeManufacturer
8.      Wireless App InstallNo CablesNo iTunesBrowse via web
Users Less    9.       Likely to PayAngry BirdsGoogle CheckoutFree vs Paid
9. Large Java EcosystemJava SyntaxDalvikRecompilation
10   Piracy
10 Ability to Iterate
Upcoming SlideShare
Loading in …5
×

Android Pain Points and Opportunities

2,108 views

Published on

Published in: Technology, Health & Medicine
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,108
On SlideShare
0
From Embeds
0
Number of Embeds
399
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • Started Java since 1.0\nContributed and started open source projects\nSubclipse, Hibernate, Apache etc\nTrying mobile but never fully until iPhone/Android devices\njTribe only does iOS and Android development\n
  • \n
  • No insight into development cycles\nWho is working on what right now?\nWhere can I contribute?\nStart with bugs/ test cases? \nOver 12 months ago submitted a bug with bluetooth. Still as New\nDevice specific parts are closed\nNo opportunity for community to contribute = not an open source project\nYou can read the source\nCommunity has turned to hacked roms groups\n\n
  • Move machines freely\nSupport is mostly equal across all platforms (even windows)\n
  • Daily 350K devices (Feb 2011)\nUp from 100K in 9 months\nAus Weather App (News & Weather)\n
  • Device Memory and CPU constraints make this hard\nGoogle manages and monitors app resource usage, removing if required\nRunning apps in the background has always been available and easy\nNever had an issue with an app majorly out of control eating battery\nApp switching is fast and easy\nNew dual core devices with large amounts of RAM make this even more appropriate\n\n
  • Apple has HIG\nWhich guides devs towards standardising apps\nAllows users to understand apps from the beginning\nGoogle now show-casing apps and design elements that have good UI\n
  • Peek at incoming data updates\nWithout leaving the app\nHoneycomb notifications are even more powerful\nAllowing simple controls (think pause/play)\niOS notifications could possibly look towards this?\n\n
  • Apple has Interface Builder\nSome Apple devs not a huge fan but it has its uses\nGood for tweaking exact position of elements\nPrototyping\nRecent addition for Android\nAndroid has more sophisticated layout managers required to support multiple devices\n
  • Data presented live on the dashboard\nUpdated by background running tasks\nWidgets co-exists in the same visual space\nSnapshot view of app data with touch to launch\n
  • Several minutes to startup emulator\nEmulation technology QEMU only makes use of single cores\nOnce startup performance gradually improves through JIT\nSnapshots allow the emulator to restart from previous state (think Hibernate)\n\n\n\n
  • Activities - Usually many in a single app, one is marked as the entry point (in AndroidManifest.xml)\nList SMS Messages, Display Contacts, Show email\nActivities can start another other Activity (to move between them) using Intents\nTypical Intent Action might be SEND, VIEW\nSend PNG (via email, bluetooth, foursquare)\n\n\n
  • Daily 350K devices (Feb 2011)\nUp from 100K in 9 months\nAus Weather App (News & Weather)\nGoogle Checkout rollout\nPaid apps rollout, tax and credit card issues\nAndroid Australia Group grown from 5 to 50 (one night 100)\n
  • Different styles and approaches\nCarrier from Verizon\nGoogle is non-curated\nAmazon is curated with daily featured free app\n
  • User presented with permissions before install (Read contacts, make phone calls, send SMS)\nAPI use blocked if appropriate permissions aren’t declared\nUser must accept them, but usually quickly click through\nAmazon provide App curation like Apple\nGoogle can remote remove apps\nTrojans are starting to appear\n
  • Early Days - Couldn’t see comments until my dev phone arrived. \ncomments, ratings\nerror collection and aggregation\nStatistics (by country, compare with category wide)\nAll these features have gradually been rolled out over time\n
  • HTC Sense\nSamsung Touchwiz\nGoogle publish stats on the first two market wide\nDevice stats now per app\nSome emulator support for testing\n\n
  • Browse, select, install from the web\nTook some time to get a good search (Google?)\nAutomatically pushed to the device\n\n
  • Angry Birds - $1M / month on Android - payment on use\n99c on iOS - one off payment, updates free\nGoogle Checkout vs iTunes (more credit cards)\nFree/Paid - 35/65 on iPhone, opposite on Android\n134K Free on Android, 121K on iPhone\n\n\n
  • Syntax only is Java\nCannot run Java Bytecode\nDalvik virtual machine runs Dalvik bytecode\nMajority of Java SDK implemented\nRecompilation to DEX\n
  • Warez sites dedicated to Android Apps\nMy simple apps available\nTorrents\nGoogle put in place licensing server (DRM) and code obsufaction recommendations\n
  • \n\n
  • Android Pain Points and Opportunities

    1. 1. AndroidDaniel Bradby - jTribe @dbradby
    2. 2. The road to AndroidJavaOpen SourceMobilejTribe
    3. 3. Top 10 things ILove and Hate about Android
    4. 4. Not Quite Open 1. SourceDevelopment CyclesBug DatabaseDevice DriversCommunity Contribution
    5. 5. 1. Development Platform ChoiceWindowsLinuxOSX
    6. 6. Slow Early 2. Growth LocallyDaily ActivationsUSWorld-wideAustralia
    7. 7. Background 2. SupportDevice ConstraintsBackground is thedefaultTask Managers
    8. 8. 3. Early lack of UI Focus No initial UI Guidance for Devs Standard Elements lacked polish No common UI models between apps
    9. 9. 3. Notifications
    10. 10. Immature Visual4. Layout Editor
    11. 11. 4. Widgets Home
Screen
[Launcher] AppWidget LayoutBroadcast
Receiver RemoteViews Service
    12. 12. Tablet Emulator5. Performance
    13. 13. 5. IntentsAction to be performed on data Specific (concrete Activity) Generic (SEND a png)Activities advertise their abilityto handle intentsLowers coupling
    14. 14. Country specific 6. rollout is slowDaily ActivationsUSWorld-wideAustralia
    15. 15. Alternative 6. Market PlacesAmazonVerizonGetjar
    16. 16. Consumer Risk 7. AwarenessPermissionsApp CurationTrojans
    17. 17. 7. Constant Dev Console Improvements
    18. 18. Manufacturer 8. Custom UIOS VersionScreen SizeManufacturer
    19. 19. 8. Wireless App InstallNo CablesNo iTunesBrowse via web
    20. 20. Users Less 9. Likely to PayAngry BirdsGoogle CheckoutFree vs Paid
    21. 21. 9. Large Java EcosystemJava SyntaxDalvikRecompilation
    22. 22. 10 Piracy
    23. 23. 10 Ability to Iterate

    ×