Hacking the Android Market to distribute a private beta - DroidconUK 2011

11
How to test your app on a large number of Android devices (Including hacking the Android Market to distribute a private beta) Thai Tran Cofounder, Lightbox [email protected] Twi;er: @thait www.lightbox.com

description

Thai Tran's talk from DroidconUK 2011 on how the Lightbox team hacked the Android Market to distribute a private beta, and other ways for testing your Android app on a large number of devices

Transcript of Hacking the Android Market to distribute a private beta - DroidconUK 2011

Page 1: 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  

Page 2: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 3: Hacking the Android Market to distribute a private beta - DroidconUK 2011

Android  has  fragmenta@on  diversity  

The  Lightbox  tesAng  lab  

Page 4: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 5: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 6: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 7: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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/  

Page 8: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 9: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 10: Hacking the Android Market to distribute a private beta - DroidconUK 2011

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  

Page 11: Hacking the Android Market to distribute a private beta - DroidconUK 2011

Q&A  

[email protected]  Twi;er:  @thait  

www.lightbox.com