views:

62

answers:

1

Hi,

I'm going to be running some large scale usability tests of my software for a science project. We have a lab of about 30 computers running Windows XP. Our application is written in Python and PyGTK.

We want to be able to collect the following without staff intervention (automatically on our application start):

  • A recording of the user session (a la GtkRecordMyDesktop)
  • All tracebacks and errors produced by our application
  • Amount of time till the user reaches a certain point in the application.
  • A short survey presented at application exit

I think the last point is pretty straightforward, and I know how I'd store the data, but I don't know how I'd implement the other points.

+1  A: 

For your first point, I believe you can drive recordMyDesktop directly from your Python code pretty easily -- I haven't done so, myself, but the docs make it look easy (and both existing frontends to it are in Python).

For your second point, set sys.excepthook to intercept the exceptions and prepare your report via the traceback module.

For your third point, register the time at start (e.g. via datetime.datetime.now) and again at the point you care about, and log the difference.

Alex Martelli
from what I can tell, however, RMD is Linux-only...
lfaraone