A Wave To Wash Our Problems Away?

The majority of this article was prepared in the weeks leading up to the public demonstration of Google Wave, a federated protocol for preparing collaborative documents with real time interactions (http://wave.google.com). Alongside this Wave provides means of adding powerful functionality both to the document and to act over the document. At the time of writing only third party reports and some documentation were available but it is clear that Waves have a huge potential to provide a framework that will make it possible to deliver on many aspects of the program described here.

The Wave protocol and framework is certain to have a large impact on communication online and will probably replace email and instant messenging in the medium to longer term. However the key functionality it provides for the current discussion is a collaborative document authoring system in which multiple participants, either human or automated, can act at the same time. The Wave protocol framework provides two types of automated functionality, Robots which are automated participants in the authoring of the document, and Gadgets, which can be used to modify the display and content of specific parts of the document.

Automated participants in the research record: Instruments, databases, and vocabularies

In the context of the current discussion there are two main applications of this technology. Firstly the use of robots to represent either instruments or sample management systems. As a document that describes a procedure is being authored the researcher can define the types of input or output that are expected by including specific participants in the document. For a PCR reaction these participants might be an oligonucleotide database, a thermal cycler, and a gel imager. By including these participants in the "conversation" the researcher flags the specific feeds that will contain inputs and outputs of the process. This can be taken one step further by creating a robot participant that represents a minimal description requirement or controlled vocabulary for a specific type of experiment. The robot, interacting with a web service that provides the most up to date description of the required information, would then automatically add the other appropriate robot participants and provide a formatted interface for selecting from the possible inputs and outputs they provide. Because the document remains live, if the vocabulary or description requirements change, the robot can attempt to update the description by inferring it from existing information, by interacting with the other automated participants, or by returning to the human researcher to ask if they can update the record. The robots are all capable of adding machine readable descriptions of what has taken place to the wave that are not necessarily visible to the human participants but are available for automated parsing of the record.

Data analysis procedures could be handled by taking a Wave received from the output of an instrument, and including a robot analysis tool as a participant on the wave. Again the analysis robot might present a set of options as a formatted table or drop down menu to the researcher, and send the data, and the parameters to a web service, notifying the researcher when the results are back simply by adding them to the Wave. Again all the automated participants can add appropriate markup to the local wave and/or to a global record or feed to describe what has happened in a machine readable form via the use of appropriate ontologies and vocabularies.

Assisted authoring: Supporting the inclusion and effect use of controlled vocabularies and linking

This is conceptually extremely powerful where well structured and unambiguous requirements are available for a specific type of experiment. However it is less appropriate when such descriptions do not exist, where an experiment is exploratory in nature and does not have a well defined expected outcome, or in any case where the tools are not integrated. In this case the researcher is most likely to write a free text description of what they are doing and what they plan. As part of the Wave introduction two particular demos got a very positive, even adulatory, response. These were a real time, contextually sensitive, spell checker, that could for instance determine whether "bean" or "been" was the correct spelling in two adjacent sentences, and a real time translator that provided a running translation of an English text into French.

These were examples of programmatic objects within the Wave that can modify content by referring objects and events, like the addition of text, to outside services, such as a spell checking web service. It is not too large a leap from this to imagine exactly the kind of "inline help" described above where the document offers you alternative terms or references, automatically adding links to the appropriate objects or concepts online, complete with the links carrying a full semantic load. Several such services could be acting within one document; one that checks a feed of recently printed sample labels to suggest which specific sample you are referring to, a similar service that checks for new data files, and one or more services that monitor your preferred set of controlled vocabularies to suggest the right terms for you to use.

None of these approaches is impossible with currently existing tools. Such a system could be put together using PHP, XML descriptions of vocabularies, intelligent sample management systems. However such systems would be specific, taking the user away from their existing authoring and communication systems. What Wave provides is a framework in which all of the tooling that makes these systems easy to develop is already provided in what will possibly be the default communication and authoring environment for a significant proportion of global users. The future penetration and effectiveness of the Wave protocol remains to be seen but with Google behind it and it being an open federated protocol the prospects are positive.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution 3.0 License