Thursday, November 20, 2008

Eprime Learning materials

for those friends who are interested in e-prime programming. 

Getting Started Guide.pdf

Reference Guide.pdf

Users Guide.pdf

and also a useful site @ CMU
http://step.psy.cmu.edu/

Monday, November 10, 2008

SurfLogger: A Logging Browser and Data Processing Method

SurfLogger

SurfLogger , developed by He, Jibo at University of Illinois, is an automated data logging tool for web-based studies. It is written in python, free, open-source, cross-platform, and easy to modify. This page is devoted to information and resources about SurfLogger.


Features:

SurfLogger is a useful tool for collecting data for web-based researches. With its great features of automated data logging, free, open-source, cross-platform, and no dependence on other browsers, SurfLogger can free many researchers from the financial and time cost in data collecting. SurfLogger is expected to contribute more to the increasing interest in web-based researches. 



Technical Specifics:

SurfLogger is written in Python, a scripting language, and the GUI (Graphical User Interface) is created with wxPython, which is a Python bundle of wxWidget. SurfLogger can record a variety of user actions with the web pages and the browsers. SurfLogger produces two files, logfile.txt and urlfile.txt. Logfile.txt stores action IDs (natural numbers assigned to each action, used to track the record to the responding actions), the time for each actions, interaction with the browsers (such as, clicking on the BackForward,Home, etc. buttons), and mouse coordination when clicking. The time record could be used to compute the time of completion for each task. The number of button press on the browsers could be used as a measure of effort in carrying out the task. SurfLogger also captures the images of each screen when the web page refreshes. Marking the mouse coordination on the screen captures could tell us what links the users clicked at. Urlfile.txt stores action IDs and URLs (Uniform Resource Locator). Action IDs are used to synchronize the record in logfile.txt and urlfile.txt. URL record is stored in a separate file because the abundant information it can provides. I will give an example about how to extract information from urlfile.txt in case study section of this paper.

SurfLogger also calls external software to record the whole process of user actions. Currently, I used Michael Urman’s Screen Recorder named cankiri as my external software for recording, because it is also written in python and shares the same spirit of   open source.  With video record, the researchers could know more about users’ actions. If quality of recording is emphasized, SurfLogger could easily switch to call other recording software, and only one line of the code has to change to refer to the path of the external software.



Case Study


To demonstrate how SurfLogger could benefit web-based research, I will briefly explain the usability analysis of IGroup as a case study (Wang, Jing, He, and Yang, 2007). IGroup is an image search engine, presenting the results in semantic clusters. To test whether IGroup can increase search efficiency compared to MSN, we developed the predecessor of SurfLogger, which functioned similarly like SurfLogger, but less flexible. We developed a measure of Search Effort to compare IGroup and MSN objectively. Search Effort was defined as the number of query input, and number of links and cluster names clicked by the users. Query input, links and cluster names clicked were extracted from URLs recorded by our automated logging tool. A sample URL recorded in this study was listed as follows:

Wednesday, August 30, 2006 3:06:54 PM

http://msra-vss50-b/igroup2/search.aspx?q=Disney#g,14,1,-1

The characters in bold, “Disney”, “14”, and “1” were the input query, ID of cluster name, and result page. The information could be extracted from the URL by simple text processing.  For code of data reduction, URL extraction and source code of SurfLogger please refer to my project page of SurfLogger.



Resources:

1. Paper
Potential users could get more information and description about SurfLogger from my draft paper [click to download] . This paper will be presented at SCiP (Society of Computer in Psychology)' 2008 at Chicago.

2. Codes
nSource code
qDependencies:
nOr download the dependency bundle at here
nExecutable program

3. Data Processing Methods:
To be added soon.  :-P



Rights


You are free to use this tool for non-commercial purpose.  Use by commercial companies or organizations must get permission from the author, He, Jibo. 

Download

nSource code:
qSurfLogger.pyw and run.py
qDependencies:
nExecutable program
qSurfLogger.exe
q



Contact


Feel free to contact me for help and information. If you would like to help me with the development, do please let me know. 

Department of Psychology,
Beckman Institute for Advanced Science and Technology
University of Illinois, Urbana Champaign,
603 East Daniel St.,
Champaign, IL 61820
Tel: 217-244-4461(office)
217-244-6763(lab)
Email: hejibo@gmail.com 
MSN: hejibopku@hotmail.com