Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Customer’s Choice @ GDG Android Berlin on January meetup


Published on

Presentation of the lightweight Android library named "Customer's Choice" at the GDG Android Berlin on the January 2013 Meetup

Published in: Business
  • Be the first to comment

  • Be the first to like this

Customer’s Choice @ GDG Android Berlin on January meetup

  1. 1. Customers ChoiceLet the users decide, which is the best solution.
  2. 2. about me Hasan Hosgel Twitter: @alosdev Github: alosdev G+: Hasan Hosgel Senior Developer @ImmobilienScout24 Mobile enthusiast
  3. 3. Current ScenarioProduct Management, Designer & Developerhas created a new screen with a button for anAndroid application.They cant decide on two Variants, whichposition should be the button.
  4. 4. Current Scenario possible button positions
  5. 5. Current ScenarioThey decide to make a user test with about sixparticipants.=> NO explicit resultWhat now?!
  6. 6. Current ScenarioAlready a published application in thePlaystore. => make a so called AB-Test It is a Test on a live application, where an amount of users get one variant and the others another. Depending on the success ratio you have now the best fitting solution.
  7. 7. Development PartCreate switches depending on a business logicand create a proprietary solution, which is notreusable.Republish the application and hope everybodywill update after the test to the final solution.
  8. 8. Here comesCustomers Choice
  9. 9. Customers Choicea lightweight Android library for making simpleusability tests on a live application
  10. 10. Usageadd the library (*.jar) to your projectCustomersChoice.getVariant("Variant name");returns the chosen variant for the test andreports the test startCustomersChoice.reachesGoal("Variant name");for reporting the goalTHATS ALL ;)
  11. 11. Does it crash?
  12. 12. No
  13. 13. Minor Problem: it returns always variant 1
  14. 14. Configuration of Variants● code● JSON string in resources● configuration file on the SD card● configuration file in the networkFor testing purpose over a Broadcast Intentwith overwriting.
  15. 15. Attributes for a Variant● Name (required)● startTime in Milliseconds● endTime in Milliseconds● spreading, int definition for ratio of different Variants{"variants":[{ "startTime": 768997, "endTime": 3787789, "spreading": [1,2,1], "name": "Variant name"}, {...},...]}
  16. 16. ExtensibilityYou can write easily plugins for:● Reporting● LoggingOpen Source
  17. 17. Live Coding-/ Demo time
  18. 18. Demo Application
  19. 19. Attentionmake always clearwhat and how toreport.Also gaining theresults you need. source:
  20. 20. Q&A
  21. 21. Really Last Slide● Repo: https://github. com/alosdev/CustomersChoice● Demo-Application alosdev.customerschoice.demo● Slides gdgandroidberlinjanuary