Assessing Refactorings for Usability in E-Commerce Applications Experiment replication instructions and resources

The following is a set of instructions for conducting an experiment to measure the impact of usability refactoring when applied to e-commerce web applications.

The original experiment was conducted by Julián Grigera, Alejandra Garrido, Jose Ignacio Panach, Damiano Distante and Gustavo Rossi, members of LIFIA, Universidad Nacional de La Plata, Argentina, Escola Tècnica Superior d'Enginyeria, Departament d’Informàtica, Universitat de València, Valencia, España and Unitelma Sapienza University, Rome, Italy.

The raw results for the first run are also available for download - Tasks.Results.xlsx 396 KB

Please address your questions/comments to julian.grigera@lifia.info.unlp.edu.ar.

1. Install the e-commerce sites - experiment's objects.

1.1 Create the following databases, and a user with permissions for each one:

1.2 Import the databases dump files.

Databases.zip
333 kb

1.4 Download the applications files

Zencart Refactored Version
zencart_r.zip
5.6 MB

Zencart Non-Refactored Version
zencart_nr.zip
5.8 MB

Webid Refactored Version
webid_r.zip
15.6 MB

Webid Non-Refactored Version
webid_nr.zip
9.0 MB

1.5 Copy and configure the applications

Complete the following configuration files (read the file's comments for details).

Zencart (both versions)

includes/configure.php

...
define('HTTP_SERVER', '********');
define('HTTPS_SERVER', '********');
...
define('DIR_FS_CATALOG', '********');
..
define('DB_SERVER_USERNAME', '********');
define('DB_SERVER_PASSWORD', '********');
define('DB_DATABASE', '********');
			

aadmin/includes/configure.php

			...
define('HTTP_SERVER', '********');
define('HTTPS_SERVER', '********');
define('HTTP_CATALOG_SERVER', '********');
define('HTTPS_CATALOG_SERVER', '********');
...
define('DIR_FS_ADMIN', '*********');
define('DIR_FS_CATALOG', '*********');
...
define('DB_SERVER_USERNAME', '********');
define('DB_SERVER_PASSWORD', '********');
define('DB_DATABASE', '********');
			


Webid (both versions)

includes/config.inc.php

$DbHost	 = "localhost";
$DbDatabase = ""; // database name
$DbUser	 = ""; // database username
$DbPassword = ""; // database password
$DBPrefix	= "";
$main_path	= ""; // server path to your webid installation
$MD5_PREFIX	= ""; // random pre helps keep your users passwords secure
			

2. Set up the tool and results recorder

2.1 Download the tool add-on, the recorder script and database, and the tasks definitions.

Guide Tool Add-On
player.xpi
454 KB

Recorder Script
bdPersistence.en.php
2 KB

Recorder Database
wutt.sql.zip
925 B

Tasks Definitions
Tasks_English.zip
42 KB

2.2 Create the database and a user with permissions

2.3 Host the recorder script and configure it with your database name, user and password.

$conexion = mysql_connect("localhost", "USERNAME", "PASSWORD");
mysql_select_db("DATABASE", $conexion);
		

2.4 Edit the Add-On XPI

Open the xpi which is in fact a ZIP file (just rename it) and edit the file /content/ScenarioRecorderSideBar/scenarioRecorderSideBar.js, then find the following code on the function TimeRegister.prototype.sendResults:

httpRequest.open('POST', '[ENTER PATH TO bdPersistence.php]', false);

and replace with the URL to the recorder script.

Run the experiment!

Install the Add-On by dragging the xpi file to Firefox. Open Firefox and load a tasks file from the "Web user time testing” menu. Then hit “start”

You can check the wutt database for the results/