The Feature Selection Game

Introduction

The Feature Selection Game is a way to collect end-user input on potential features for future development or enhancements to a web collection or application (or just about anything that involves User Experience Design!). The game is very simple in design to be easy to configure and easy to play.

The Feature Selection Game Board

The User Experience Practitioner can decide how many items they have in mind and how to describe them, then give the end-users a link to the page for the game. Users can spend up to $100 in various amounts on the items they feel are most important to them. At the end, they submit their spending and the results get added to a flat file for later analysis by the UX Practitioner.

The game is written in JavaScript and HTML. The flat file is created by a Perl script and is in tab-delimited format, with one row per survey response. The number and description of the options can be modified quite easily, as described below, for varied applications of the game.

The end result of this game is end-user driven choices for your next development effort! The results are very compelling for development teams and management... you've collected real-user input in a meaningful and easily measurable way.

Requirements

To use The Feature Selection Game, you must have:

In addition, your users must be connected to the Internet. The game board uses the Dojo Toolkit, as hosted on Google's Content Delivery Network (CDN), and will not function if users are behind a firewall that blocks access to Google.

Deployment Steps

For deployment on Windows servers, the Feature Selection Game is distributed as a zip file. For deployment on Mac OS X, Linux, or Unix, the game is distributed as a gzipped tar file. Unpacking either file creates two directories named htdocs and cgi-bin. After unpacking the file, deploying the game then consists of 4 steps:

  1. Customize the game board—features.html—which you'll find in the htdocs directory;
  2. Customize the script that records the game results—features.perl—which you'll find in the cgi-bin directory;
  3. Copy everything in the htdocs directory to a directory where users will be able to reach it through your web server; and,
  4. Copy the CGI script to your web server's cgi-bin directory.

The following sections describe each of these steps in greater detail.

Step 1: Customizing features.html

Action URL

The action URL of the form at the bottom of features.html points to /cgi-bin/features.perl on the same web server. Depending on how your web server is configured, you may need to change this URL. (Consult your web server administrator if you need help with this.)

Survey Name

There's a hidden input field named survey in the form at the bottom of features.html. Replace the value of that field with a name that identifies your survey. The value you put here will appear on every line in the flat file that records responses to your survey. This means you can have multiple surveys that get logged to the same file, and you'll be able to filter the contents of that file based on the value of the survey field.

Footer

You'll need to edit the contact link at the bottom of the page. As downloaded, the contact address is you@your.org and the subject of email sent using that link is PLACE_YOUR_SURVEY_IDENTIFIER_HERE.

Other Customization

In addition to changing the action URL, survey name, and footer as described above, you're free to edit features.html in any other way you wish. Indiscriminate changes, however, are likely to break the page. Guidelines for editing features.html are as follows:

Step 2: Customizing features.perl

The script provided with this download—features.perl—is a minimal script that saves survey responses and redirects users to a "Thank You" page of your choice. If you need something more functional, you'll have to consult a Perl developer. In many cases, however, this script is all you'll need.

Perl

The first line in features.perl says it expects Perl to be installed at /usr/bin/perl on your web server. If it's installed somewhere else, you'll have to change this line. (Consult your web server administrator if you have any questions about this.)

Log File

The location of the log file to which you want survey responses appended appears as the value of PATH_TO_LOG_FILE in features.perl. Change that value to whatever is appropriate in your case. (Consult your web server administrator if you have any questions about this.)

Thank You Page

The page to which you want users redirected after they submit a survey response appears as the value of URL_OF_THANK_YOU_PAGE in features.perl. Change that value to whatever is approprivate in your case. (Consult your web server administrator if you have any questions about this.)

Step 3: Putting features.html Where It Belongs

You can put features.html anywhere users can access it from their web browsers. The only thing to remember is that everything in the htdocs directory must accompany features.html. This includes:

Step 4: Putting features.perl Where It Belongs

You can put features.perl anywhere CGI scripts can be placed under your web server. If you put it anywhere other than at /cgi-bin/features.perl, however, make sure you modify the action URL on features.html as described previously. (Consult your web server administrator if you have any questions about this.)

Parting Shots

This software is provided on an "as-is" basis. You're free to use it in whatever way it may be useful to you. If you enhance it in a way that may be useful to others, please consider sending me your changes, so I can make those enhancements available to others.

Last, but not least, I'd like to acknowledge the part played by Bryn Dews in developing this software. Bryn was instrumental in shaping the design of the page, and it was she who suggested making the page available to anyone who might find it useful. Thanks, Bryn!

ThomBrando@verizon.net

Version History

Version Release Date Notes
1.0.0 June 9, 2010 The initial version, as presented at the UPA Boston miniconference at Bentley University.