Hacking the Android Market to distribute a private beta - DroidconUK 2011
-
Upload
thai-tran -
Category
Technology
-
view
2.041 -
download
0
description
Transcript of Hacking the Android Market to distribute a private beta - DroidconUK 2011
How to test your app on a large number of Android devices
(Including hacking the Android Market to distribute a private beta)
Thai Tran Co-‐founder, Lightbox
[email protected] Twi;er: @thait
www.lightbox.com
About Lightbox
• Social camera & gallery • Photo ediAng & effects
• Crazy stuff under the hood – Wrote our own UI widgets – Wrote our own camera (now regreIng this) – Using the NDK for fast image processing
– Aggressive use of network connecAons
Android has fragmenta@on diversity
The Lightbox tesAng lab
Problems we’ve encountered • Crashes due to variaAons in Android OS libraries on different phones (e.g. Droid Bionic)
• VariaAons in the amount of memory and processing power available on different phones
• Vendor specific camera implementaAons, esp front-‐facing cameras
Small scale tes@ng • Remote access to phones via DeviceAnywhere – Expensive subscripAon & usage fees – High latency access from UK
• TesAng in a phone store (Free!) – Email the APK to the Gmail account on the phone
– Install the aLogCat app on the phone and email logs back to yourself
– (Remember to delete your emails before you leave) – Long cycle Ames to resolve bugs
Medium scale tes@ng • Recruit some beta testers and put them on a mailing list
• Email APK to them and ask them to load it in Gmail
• Instrument your app with ACRA (ApplicaAon Crash Report for Android) – JAR that you drop into your Eclipse project: h;p://code.google.com/p/acra/
– Posts crashes to a Google Docs spreadsheet, email, or your custom server
Installing non-‐Market apps is not user friendly
Only 8 simple steps to install the Amazon App Store: h;p://www.amazon.com/gp/mpd/permalink/m25J6SKSWIK6HC/
Large scale beta tes@ng: Hack the Android Market
• Put the app on the Android Market under a “secret” name – Allows frequent updates – Simple install instrucAons – Update noAficaAons – Crash reports
• Pifalls: – Create a separate developer account for beta apps
• You don’t want them to appear in “More from developer” – Don’t put anything in the descripAon
• You don’t want people to accidentally discover the app via search – Make the app expire aier a period of Ame
• Forces people to upgrade
Managing feedback • Beta testers will leave nasty 1 star reviews on the Market
• Market reviews aren’t very helpful • Not tagged with the app version or phone model • You can’t respond to reviews
• Put a prominent bu;on inside the app that links to a web-‐based feedback forum • Getsa@sfac@on: Has nice features like ability to a;ach
screenshots, but is not opAmized for mobile UI • UserVoice: Less sophisAcated, but has a mobile opAmized UI
• Use a different Java package name for the beta app • Market reviews are Aed to package name, and you want to
discard the 1 star reviews from the beta
Cohort analysis: Are you improving the app?
• Don’t let all the beta testers in at once – Onboard a separate group (cohort) for each new release
• Measure key metrics to determine if you’re actually making improvements to the app – Record custom events in app using Google AnalyAcs
Now we’re making improvements that ma;er