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

2,340 views
2,227 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,340
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. 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   thai@lightbox.com   Twi;er:  @thait   www.lightbox.com  
  2. 2. 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  
  3. 3. Android  has  fragmenta@on  diversity   The  Lightbox  tesAng  lab  
  4. 4. 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  
  5. 5. 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  
  6. 6. 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  
  7. 7. 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/  
  8. 8. 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  
  9. 9. 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  
  10. 10. 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  
  11. 11. Q&A  thai@lightbox.com   Twi;er:  @thait  www.lightbox.com  

×