Added to official ideas list at http://drupal.org/node/234746
GSoC Project idea: Suggested and discussed at UMN after Usability Testing as a way of Measuring the UX (user experience), and further discussed with Jimmy Berry, who is interested in taking this on as a student. Measuring the UX is the primary UX goal for Drupal.
This needs more work, but is a starting point for a project proposal.
Glossary:
- 'data' refers to user-input text and feedback, logs, video and audio
- 'usability unit test' is misleading. I want to capture the concept of the same scenario, tasks, and interview questions that multiple evaluators are given.
Deliverables:
- Usability Unit Test module
- allows a test designer to create a Usability Unit Test, including
- evaluator requirements questionnaire (to validate evaluator's eligibility)
- privacy statement / agreement
- evaluator demographics, background and experience questionnaire
- scenario document
- tasks, at least one per test
- for each task
- list of actions that indicate success or failure in completing the task.
- include php snippets and/or actions/triggers to identify when they occur
- e.g. 'Created new content type', 'disabled content_access permission for anonymous role'.
- task feedback questionnaire
- optional dynamic elements to questions
- e.g. only ask 'What made you click the link to FOO?' if the user clicked that link.
- test feedback questionnaire
- drupal data capturing requirements
- object types to log/watch
- database dumps
- for each test/evaluator, coordinates
- several data-capturing modules and/or browser extensions
- elements of a usability test, such as
- questionnaires, agreements
- statement of purpose (software is being tested, not user)
- scenario
- tasks
- feedback
- anonymizing data, if necessary
- collection of data from multiple sources in a central repository
- support for S3 (existing module) would be valuable here, since raw data is large
- post-processing of captured data
- generates 'across-the-board' data such as
- heat maps
- analysis of user feedback and logs for common and repeated keywords, success points, failure points, incomplete tasks, etc
- output
- allows a test designer to create a Usability Unit Test, including
- Modules and/or FF extensions to Capture and Store:
- mouse movement
- clicks (Click heat map module)
- drupal log of
- clicks / uri's / paths / pages
- form submissions
- changes to drupal objects (nodes, node types, taxonomy, terms, blocks etc.)
- audio -- user's thoughts
- user text log as a fallback if no microphone or other technical issues
- screencast
- videocam
- database snapshots
Everything needs synchronized timestamps -- use the same source for timestamps. Since some of these data capturers may not know about the web server where other data capturers send their data, we might need the server to use client's timestamp instead of local, or vice versa.
The accruacy of the time is unimportant, nor is the timezone. Only the relative times of all of the data is important, in order to post-processing and reviewing data. To facilitate this a consistent time format should also be used, with granularity smaller than 1 second.
Bundle and compress merged, and raw data and save locally, or send elsewhere (email, sftp?)
Server can intellegently merge video, audio, logs and other data into easily-portable and viewable file/s -- such as one combined video file with data split screen and data overlays.
For example: If data has been captured from all of the above sources, create video with split screen of screencast and videocam. uri or path and summarized drupal log are overlaid like subtitles. Audio is included.
If no audio was available, overlay the user log.
If no screencast was available, overlay mouse movement data on screenshots.

Comments
I would like to work on this
I would like to work on this for my project.
As I said, let me know how I
As I said, let me know how I can help you out (testing, docs, etc.).
Jimmy, I'm not spending much
Jimmy,
I'm not spending much time on gdo, so please pm me if you want help to flesh this out into a proposal.
Bevan/
Bevan/
Proposal Posted
I have posted the proposal.
This related comment is
This related comment is important: http://groups.drupal.org/node/9474#comment-32965
Bevan/
Bevan/
testing of websites
Usability is an important topic, but I guess it doesn't capture much attention from the developer crowd.
The way you described this, it sounds more like a drupal resource (e.g. a central database to capture the usability feedback, etc.) mainly meant as a tool for Drupal core/module testing. It also sounds like a lot of work, there are several modules, a central depository, isn't this to much for 1 summer?
It would be great however to have such a usability testing framework that also can be used to generate usability tests for Drupal implementations. That would probably increase the enthusiasm of corporate types. But maybe there are already alternatives to this?
--
Check out more of my writing on our blog and my Twitter account.
Proposal
My Proposal:
To measure usability:
For the data collected and post procesing:
I will conducted the integration to the Drupal to Clickheat, Usability, Quiz Module.
I will make test usability module contain an alternative test, the number of questions, number of test, and statistics based on the equation of usability problems (Virzi, RA, Refining the Test Phase of Usability Evaluation: How Many Subjects is Enough? Human Factors, 1992. 34 (4): p. 457-468.).
Basically integrate some modules for drupal.
For the heat map I will use this:
http://drupal.org/project/click_heatmap
For list action:
http://drupal.org/project/click
For Chart:
http://drupal.org/project/charts
For Data export:
http://drupal.org/project/importexportapi
For the test Usability Module:
I choose 6 to 7 cms regulars users to test usability and running for the list of errors found.
The proceeds of this module will help create iterations for each test and also have the option for future tests can be performed independently by other users.
Finally
I would like to use other Peripherals as webcam or microphone but escapes a bit of my knowledge unless you use SWF and cron to manage a new wizard which can install a versiond and drupal for evidence and then to remove it when you finish ... That would be out the environment drupal
unimauro Could you please
unimauro
Could you please clarify what you are proposing for and who your proposal is addressed at. Thanks
Bevan/
Bevan/
Jimmy, I've given your
Jimmy,
I've given your proposal my support on http://code.google.com/soc/2008/drupal/app.html?csaid=Ml0GHARcUSARNwQBAS...
I clicked the button 'I am willing to Mentor'
, but I think Angie or another Admin need to approve that before the project 'has ownership' on http://code.google.com/soc/2008/drupal/open.htmland Angie has approved that.With 23 positive votes your proposal
should beis sitting at place number 2once that happens. Well done. :)Cheers,
Bevan/
Bevan/