Customer’s Choice @ GDG Android Berlin on January meetup

21
Customer's Choice Let the users decide, which is the best solution.

Transcript of Customer’s Choice @ GDG Android Berlin on January meetup

Customer's ChoiceLet the users decide, which is the best

solution.

about me

Hasan Hosgel

Twitter: @alosdevGithub: alosdevG+: Hasan Hosgel

Senior Developer@ImmobilienScout24

Mobile enthusiast

Current Scenario

Product Management, Designer & Developer has created a new screen with a button for an Android application. They can't decide on two Variants, which position should be the button.

Current Scenario

possible button positions

Current Scenario

They decide to make a user test with about six participants.

=> NO explicit result

What now?!

Current Scenario

Already a published application in the Playstore.

=> 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.

Development Part

Create switches depending on a business logic and create a proprietary solution, which is not reusable.Republish the application and hope everybody will update after the test to the final solution.

Here comesCustomer's Choice

Customer's Choice

a lightweight Android library for making simple usability tests on a live application

https://github.com/alosdev/CustomersChoice

Usage

add the library (*.jar) to your project

CustomersChoice.getVariant("Variant name");

returns the chosen variant for the test and reports the test start

CustomersChoice.reachesGoal("Variant name");

for reporting the goal

THAT'S ALL ;)

Does it crash?

No

Minor Problem: it returns always variant 1

Configuration of Variants

● code● JSON string in resources● configuration file on the SD card● configuration file in the network

For testing purpose over a Broadcast Intent with overwriting.

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"},{...}

,...]}

Extensibility

You can write easily plugins for:● Reporting● Logging

Open Source

Live Coding-/Demo time

Attention

make always clear what and how to report. Also gaining the results you need.

source: http://i.imgur.com/h2JClux.jpg

Q & A