Skip to content

banane/markettools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=== MarketTools

Originally materials for the Prototyping workshop for Women 2.0 Labs.

This set of code shows two kinds of version testing: 
1) A/B versioning, so that users either experience one view, or another, site-wide, comprehensively throughout their session.

2) Individually per view- an element can be toggled, such as a button, on a more detailed level. Also on the session level.

As an example, I've changed the background color for each toggled version. Version A has blue, B has red. To test, open a new browser and visit the home page. It should alternate for each new client session created. The buttons are toggling on the same level- session visit.


=== Details

A simple scaffolded model, "products" contains two additional attributes, "session_version" and "button_version". Using hidden fields, the values are dynamically rendered but stored in the database once the user progresses.

In the application controller, a site-wide variable stores the last version that somebody viewed. The value is toggled and saved for the new visitor- in this way we can truly alternate each view per visitor. An array describing the versions is used to more readably store that session string. This is the same string that is stored with each "new" model save.

The button versioning is not in a controller but inside the view (new.html.erb). The point of this is to show fine-grain versioning- based on altenrating client sessions, but not necessarily a site-wide change. These values are also saved whenever the visitor progresses through the site.

About

A way to A/B version test site-wide, and individual elements

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published