Customer's Choice @ Moosecon 2013

478 views

Published on

Customer’s Choice is a AB-Test library for Android. Unlike the Amazon’s offer, you can use it in every productive application, configure it freely and it’s easily extensible. It is provided as an Open Source library that can be used within any Android project. The slides will be an introduction into the library and will present a Demo for showing the practical usage of Customer’s Choice.

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

  • Be the first to like this

No Downloads
Views
Total views
478
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Customer's Choice @ Moosecon 2013

  1. 1. www.immobilienscout24.deCustomer‘s ChoiceLet the user decide, which is the best solutionmoosecon | 07.03.2013 | Hasan Hosgel
  2. 2. About me Hasan Hosgel Twitter: @alosdev Github: alosdev Google+: Hasan Hosgel Slideshare: hosgel developer @ ImmobilienScout24 Page 2 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  3. 3. Agile Scenario The Product Owner defines following user story: „As a user I want to purchase the products on a shopping card with a click on a button.“ Page 3 moosecon 2013 | Customer‘s Choice | Hasan HosgelSource: http://www.flickr.com/photos/europedistrict/4292951182/
  4. 4. First design Page 4 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  5. 5. Design Variants Page 5 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  6. 6. User Test page6Source: http://www.flickr.com/photos/lwaldal/4900501706/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  7. 7. User Test Results Page 7Source: http://www.flickr.com/photos/couragextoxlive/3054488331/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  8. 8. What now? Page 8Source: http://www.flickr.com/photos/mkamp/2429091134/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  9. 9. What now? What do we normally in the web? Page 9Source: http://www.flickr.com/photos/mkamp/2429091134/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  10. 10. Make an AB-Test Page 10Source: http://www.flickr.com/photos/8047705@N02/5366637592/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  11. 11. AB-Test for AndroidYou have an application, which is probably publiclyavailable.Send an amount of users to another variant than thenormal one.  Depending on success ratio you have the best suiting solution. Page 11 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  12. 12. The Development Page 12Source: http://www.flickr.com/photos/geminidustin/275375865/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  13. 13. Developer’s Todo List● Create switches depending on the business logic● Create a proprietary solution Not reusable● Publish application Waiting for the results● Remove switches and republish application Waiting that everybody updates to the new version Page 13 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  14. 14. Smarter SolutionThe library Customer’s Choicewith a common approach
  15. 15. Customer’s CoiceA lightweight Open Source Android library makingsimple AB-Tests in an application, which can beconfigured over the network.Possible AB-Tests variants:● For layouts and positions● For colors● For workflows● For textshttps://github.com/alosdev/CustomersChoice Page 15 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  16. 16. Usage● Add the library (*.jar) to your project● Configure your switch based on the variant CustomersChoice.getVariant(context,“VariantName”);● When you reach your expected goal, report it CustomersChoice.reachesGoal(“VariantName”);● done Page 16 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  17. 17. Usage● Will an exception be raised? Page 17 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  18. 18. Usage● Will an exception be raised? No Page 18 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  19. 19. Usage● Will an exception be raised? No● Will it have full functionality? Page 19 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  20. 20. Usage● Will an exception be raised? No● Will it have full functionality? Not really Page 20 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  21. 21. Usage● Will an exception be raised? No● Will it have full functionality? Not really● Why? Page 21 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  22. 22. Usage● Will an exception be raised? No● Will it have full functionality? Not really● Why? It is not configured, therefore #getVariant(String) will always return variant 1 for the given variant name Page 22 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  23. 23. Configuration of Variants● Through code● JSON String in resources● Configuration file on SD card● Configuration file in the network with standard caching mechanism, like Etag- and Modified Since Header● For testing purposes you can overwrite a variant with a broadcast intent Page 23 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  24. 24. Variant’s Attributes● name: String (required)● startTime: Integer in Milliseconds● endTime: Integer in Milliseconds● spreading: Integer array for ratio of different variants● reset: Boolean for resetting the current value{“variants”:[{ “name”:”VariantName”, “startTime”:768997, “endTime”:1022222, ”spreading”:[1,2,1], “reset”:true}, {…},…]}Global Attribute: resetAll – reset all variants Page 24 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  25. 25. ExtensibilityYou can write custom plugins for: ● Logging ● ReportingYou can fork the library on Github, make your changes andsend a pull request.https://github.com/alosdev/CustomersChoice Page 25 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  26. 26. Demo timeShowing code samples
  27. 27. Demo Application Page 27 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  28. 28. AttentionAlways make clearwhat and how toreport for gaining theresults you need.Otherwise you can geta comparison like thediagram. source: http://i.imgur.com/h2JClux.jpg Page 28 moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  29. 29. Q&A Page 29Source: http://www.flickr.com/photos/21496790@N06/5065834411/ moosecon 2013 | Customer‘s Choice | Hasan Hosgel
  30. 30. www.immobilienscout24.deThanks for your attention!We are hiring!Contact:Hasan Hosgel Customer‘s ChoiceTwitter: @alosdev Repo: https://github.com/alosdev/CustomersChoiceGithub: alosdev SlideShare: http://de.slideshare.net/hosgel/moosecon-2013-customerschoice

×