David Frackman
PO Box 380753, Brooklyn, NY 11238 917-548-3786 <david HAT nodalspace DHOT net>

jump to project: 12[3]45
Client:Yale University
Project:OATS Survey System
Categories:Education, Research, Publishing, Data Collection, Workflow, Extranet
Roles:Analyst, Architect, GUI Designer, Programmer
Technologies:Swing, J2EE, Tomcat, MySQL, PHP, Javascript
Completed:Q1 2003

This application creates, edits, administers and collects data from large surveys that are given on the web as part of research experiments in education and psychology.

This system is a replacement for an earlier system developed in house which was written in PHP - In concert with interviews I used the older system to discover some of the requirements for the new system and then added the new features which were requested. The older system is being phased out but I patched it up to be able to continue its run in production as long as necessary.

The new system has many, many features. It consists of a Swing Client and Servlet that both connect to the database. The Swing Client allows building, editing and data collection from surveys. The Servlet creates the presentation of the survey and administers it to respondents over the web. This project walked a fine line between a special purpose tool and a complete HTML editing environment - in the end it allows extensive customization of the presentation where desired but has a built in presentation manager that makes the simple stuff look nice too.

The client can bulk import text files to create surveys of many types, including many common psychological instruments. It can create survey questions that use any HTML form elements. It supports timed question pages, images, multiple answers. Surveys can be saved into and recovered from files as well as the database, and the system can export survey result data in formats appropriate for SPSS and Excel.

I managed to hide quite a bit of functionality in the client's interface by using context sensitive functionality and trying to organize things in such a way as to conceptually relate clusters of functions. The surveys themselves are organized into a tree and there are a number of tree manipulation operations available - reordering, creating children, etc. I created an editor which allows editing of many types of nodes (each with many different types of data) automatically using introspection, and a persistence layer which manages their storage in MySQL.


David Frackman
PO Box 380753, Brooklyn, NY 11238 917-548-3786 <david HAT nodalspace DHOT net>