A Brief History of Q-Assessor

25 September 2010 - 02:04

A fitting first topic for these occasional posts is a bit of historical background about how Q-Assessor came to be.

Way back during the summer of 1999, Bryan Reber was working on his PhD dissertation at the University of Missouri School of Journalism. Part of his research utilized Q Methodology, a very popular approach at Mizzou. He happened to describe Q to me at some point, highlighting the multiple, arcane steps involved, the standard need for in-person interviews, and the fact that he needed to study far more and varied people than he could readily reach given his time and budget constraints.

I had been working on a variety of web-based data collection and management projects at that point, so Q seemed to be an ideal candidate for deploying over the Internet. The big implementation challenge, though, was the high degree of interactivity that the Q-sort process requires.

You have to remember that in those ancient times, web pages were pretty much static affairs. Web pages had lots of links and forms, of course, but these merely fetched an entirely new page as a whole with perhaps a back-end database action en route. Manipulating multiple elements within a page simply wasn’t readily accomplished.

That’s not to say it was impossible. A fair bit of preliminary work was going on in the mid-1990s. Java applets were for a while going to provide desktop-like apps within browsers, but they died because they remained too big and bulky for users routinely to download just to hit a page. Microsoft’s ActiveX components were supposed to function similarly, but they were tied to the Windows operating system and posed all sorts of security issues.

But the current crop of AJAX Javascript libraries — notably Prototype and now JQuery (which is what all the Kool Kids use these days) — didn’t come into existence until the mid-2000s. Still, in 1999, JavaScript was clearly the tool to use, though, because that has all along been the main scripting language in essentially all browsers.

The somewhat hackish solution that presented itself that summer was to use Javascript to rewrite different HTML frames within a browser page. Frames were developed to allow web pages to be assembled from other web pages. But it was also possible to “write” web pages on the fly with Javascript code triggered by, say, a button click. This allowed a user action in one part of the page to update and redraw another piece of the page. For Q, this was just the ticket.

The original version of Q-Assessor had no back-end machinery. The content of the Q study (the statements, etc) were hard-coded into the page along with the code that implemented the sort interactions. When the sort was done, the results were simply emailed to the investigator. This solution was crude at best, but it still represented a huge leap, as it opened the possibility of doing Q at a distance.

Bryan did a validation study comparing Q-Assessor to the standard in-person technique and found that the new online approach was well-accepted and produced equivalent results, and we published this study in Operant Subjectivity, the premier Q journal. Bryan finished his dissertation, and we wondered whether there was any larger future for Q-Assessor.

A couple years later, I was working on database-backed collaborative websites using OpenACS — one of the first, if not the first, community web application frameworks. Mostly for amusement, I ported Q-Assessor into the Epimetrics web site as a demo. The Q-sort mechanism itself was unchanged, but the much more robust web application capabilities of that site enabled me to expand Q-Assessor’s functionality to include enrollment of participants, online authoring of studies, and database storage of results.

During the last two years, I’ve moved on to Ruby on Rails as my favored development environment. At the point the Epimetrics Group web site was redeveloped, I decided not to port the Q-Assessor demo over. However, there were enough academic inquiries — and more importantly an adequate level of interest in commercial realms — that it seemed propitious to rebirth Q-Assessor as its own entity.

This new iteration of Q-Assessor is still a work in progress. One of the most important developments is the addition of the analytic procedures. Q-Assessor now has a Ruby port of the public domain FORTRAN code from PQMethod that is what nearly all Q studies use to calculate and report factors. Going forward, I expect a number of further enhancements, based on feedback so far:

  • A new drag-and-drop interface for the Q-sort process, probably using JQuery
  • Animated visualization of manual rotations, probably using HTML5 and CSS3
  • Use of AJAX for many of the actions that currently cause entire page fetches
  • Internationalization of the Q-sort instructions and headers
  • A major cosmetic redesign of the public portions of the Q-Assessor web site


No comments yet.

To comment, you must log in first.