2001 Conference Proceedings

Go to previous article 
Go to next article 
Return to 2001 Table of Contents

An Open Specification Software System Applied to Research, Education and Testing

Christopher M. Piedmonte
Eagle Creek Systems, Inc.
504 East Alvarado Street  Suite 205
Fallbrook, California 92028 USA
Phone 1 760 731-3251
E-mail: cpiedmonte@ecs.com

Over the past ten years, a collaborative research project between the School of Optometry at the University of California, Berkeley, Pasadero, Inc. (a company founded by Dr. Lawrence Boyd for the research and development of software to assist those with disabilities) and Eagle Creek Systems, Inc. (a commercial software development company partnered with Pasadero) has resulted in the development of a unique and revolutionary approach to the use of software for conducting research studies. This software, called ProtoGenie™, along with its supporting web site, will significantly help reduce the cost and complexity of providing research applications, educational software and testing of subjects to the global community.


For the past decade or so, Dr. Ian Bailey of the School of Optometry and Dr. Lawrence Boyd of Pasadero have conducted numerous research projects in the field of low vision, color perception, dyslexia and other areas of perceptive disability. To facilitate their work, software was developed by the staff of Eagle Creek Systems to provide a framework for these studies.

Initially, the developed software took the form of stand-alone programs specifically targeted at particular experiments. Although this approach yielded the required results, the efforts were essentially "throw-aways", in that the software had little use or application outside of the specific research.

In an attempt to reduce the waste associated with this approach, the concept of an application capable of running many different experiments and visual presentations was devised. This concept was implemented in an application that became known as LabTester™ and was used for continuing the research at UCB. However, as the complexity and number of experiments grew, the additions to the LabTester software necessary to support these experiments made the program large, slow and difficult to configure and use. Eventually, it became obvious that while some benefit was gained by continuing with the same application, the disadvantages that were introduced made this approach uneconomical and less flexible than desired.

In the spring of 1998, individuals from Pasadero and Eagle Creek Systems met to discuss the problems with the previous approaches and to design a new and better platform. These discussions focused on a modular application that would provide the basic framework for experimental research and that would be extensible through the use of plug-in modules. The idea was to develop a "researcher’s toolkit" that could be easily configured and extended for various experimental procedures. Two years (and several more research projects at UCB) later, the ProtoGenie system was born.

The ProtoGenie System

The ProtoGenie system is not one program, but a collection of various discrete parts. These parts include the ProtoGenie framework application, a collection of components that can be used with ProtoGenie and a supporting web site.

The ProtoGenie framework is based on the assumption that most people understand the concept of a procedure, its steps and decision points, and that it has a distinct beginning and end. Based on this assumption, the ProtoGenie framework was designed to provide a graphical flowchart-like environment to design and execute experiments. The interface, much like Microsoft’s Visio, provides for an environment where an experimenter can drag and drop individual icons, representing discrete components of their experiment, onto a virtual canvas. These icons can then be connected by arrows to indicate the direction or flow of the procedure. Once this diagram (referred to as a dynagram in ProtoGenie parlance) is complete, it serves as a visual representation of the experiment as well as the instructions to the computer on which components to execute and in which order.

The ProtoGenie components, represented in the framework as individual icons, are the real advantage of ProtoGenie. These components, based on Microsoft’s Component Object Model (COM) and unique extensions to COM designed specifically for ProtoGenie, are the workhorses of the system. Each component is designed specifically by an experimenter or researcher to perform one individual step of their overall research project. This can be as simple as collecting information from the user, such as their name and ID number, or as complex as providing visual stimuli while monitoring eye movement with an external tracking device. The ProtoGenie framework executes a procedure by calling each of these components in the order specified by the procedural dynagram created by the experimenter. The components are granted complete control of the computer system and execute whatever function they were designed for. When the component completes its task, it signals the framework that it is done, and the next component specified by the dynagram is activated.

This unique approach is the real power of the ProtoGenie system. The specifications for these components have been placed in the public domain, making it possible for anyone with some programming skills to create ProtoGenie components. As the COM specification for ProtoGenie components is language independent, components can be developed using C, C++, Visual Basic, Java, Delphi or any other language. Once developed, a component can be added to the ProtoGenie framework’s palette of components and made available for use. To assist developers with creating components, a Software Development Kit (SDK) has been prepared and is available on the ProtoGenie web site. This kit includes the specifications for ProtoGenie components, source code for several sample components, and instructions for testing and publication of components once they are completed.

Finally, the ProtoGenie web site, located at www.protogenie.com <http://www.protogenie.com>, provides a means for experimenters, researchers and educators to exchange components, ProtoGenie dynagrams, and other information. The web site also provides for distribution of the ProtoGenie framework and updates to the application. It is also the intent that the web site becomes a forum for discussion of experimental methods, research approaches and the use of the ProtoGenie application for various educational purposes.

ProtoGenie in Action

Because of its open standards, extensibility and general promotion via the ProtoGenie web site, the ProtoGenie system should quickly find its way into a wide range of research and educational applications. Some of these are presented below: