Before I can create the data collection API I need to create the interface for a participant to "start" a study (or test). There are several issues and possible ways of dealing with them.

Are studies going to need some sort of base site setting, pre-built content, or anything initialized? I'm thinking that would be a fairly common thing, but maybe we want the user to start from scratch?

If we want an environment setup I'm think we do something similar to SimpleTest were a prefixed database and files directory are created. This would allow multiple testing sessions to occur (without setting up different "sites" in the sites folder or something more hackish) and would allow a default set of files and database to be initialized for every participant.

The issue I'm seeing is say a participant stops halfway through a study, something I think we should support to make remote testing more feasible. They should be able to return right were they left off at a later time. In the meantime someone else may want to start theit test. That would not be possible if they were both using the same environment as it would need to be reset for the newcomer.

So I'm thinking when a participant starts a study a user is auto-generated with a pre-defined set of privileges and the participant's study progress and environment can be associated to that user.

If we don't create separate environment or relate study progress to a user only one participant will be able to run the suite at any time and they will have to complete their study before someone else can use the suite.

I'm thinking we need most of this, the only thing that may not be necessary is supporting a base environment to start from instead of a fresh install.

This was a sort of brain-dump, if anyone has some better ideas feel free otherwise I would like to make sure this follows other people's thinking.

Comments

boombatower’s picture

Bump, I've been cleaning the issue queue to try and create some flow and mark things as completed to give some kind of status.

Bojhan’s picture

It is very feasible for a remote usability test to have users stop in the middle, or take a short break from the computer. Since we have the maximum time set for a task, we can track if a user stops early with the window open ( he cant start back from where he left of if the maximum time is exceeded (starts at next task) - not sure if we can count in when a user stops to think or when he stops to go away from the screen but that's another issue).

However when a user closes the screen (task at hand will stop), or stops at that task he should be able to return. I do see this as an exception though and I am not sure what the programming logic should apply here. If your running a test for 8 users where 2 users stop in the middle and don't continue the time frame, running a usability test analyses will take very long and might allow the user to gain knowledge about the task at hand, which gives invalid results.

So the user, if he stops in the middle of the study. He should resume this instance, within the time frame of the study. Otherwise it should simply be closed, since its very likely the user has gained knowledge about the tasks. I say the usual time frame for a study 2 weeks, to put this in context.

webchick’s picture

Just to update this issue, Jimmy and I spoke on IRC, and the plan is to borrow some code from SimpleTest to duplicate the current environment for each test session that's run. A unique key will be stored in a browser's cookie so that they can recover from system crashes, and furthermore a unique code will be provided that users can fill in on another computer to get back their same session. (though I would consider this last bit scope creep for now, unless it's real easy to do :))

Bevan’s picture

> They should be able to return right were they left off at a later time. In the meantime someone else may want to start their test.

Ah, good point. I had been thinking a UTE and participants would all use one and the same instance of Drupal, but that's not going to work.

> a unique code will be provided that users can fill in on another computer to get back their same session.

Invites emailed from the system will have links with unique (not-guessable) identifiers in them, won't they?

It looks like you've solved this already, going by Angie's comment. Let me know if you need anything further.

boombatower’s picture

Status: Active » Needs review

A number of basic environment creation features have been created.

eigentor’s picture

webchick: the feature of continuing on another computer is nice, but maybe users don't expect it. If Jimmy has to root this deeply in the base code, sure, rather include it now. Otherwise I would opt for including this later. Starting and stopping and restarting appears a more basic feature.

boombatower’s picture

@eigentor: Was rather simple to implement the changing computer feature and is currently in CVS. :) The machanics around resuming a study in general need to be smoothed out. Adding things like an e-mail that will have a resume link would be nice features for later.

boombatower’s picture

Status: Needs review » Fixed

The initial implementation of this I believe is complete.

We can add e-mail invites, reminders, and such at a later date.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.