In order to share your thoughts, ideas and knowledge, you often have to write them down. This will often take the form of a short document, a memo if you will. But a memo is really static and boring. What’s interesting is the evolution of thoughts and ideas through collaboration. This paper outlines a software system to support this (on the web, of course).
Say Wendy Wise has a great idea about how to make politicians tell the truth. She writes up some initial thoughts about it into our software system, then publishes it. A bunch of people will get alerted about it and read it, and she also sends an email with a link to some of her friends. People read it. If they have something to add, they can post a comment.
Wendy can tell form Sid Smart’s comments that he already gave this subject a lot of thuoght, so Wendy and Sid talk about it and agree that Wendy make Sid a co-author. They keep thinking about the subject (how to make politicians tell the truth). the many enlightened comments make them see new perspectives on it, so they revise the document several times as they grow smarter.
Eventually, they might realize that their fundamental assumption (politicians are not stupid) was wrong. So they decide to rewrite the whole argument, which makes all the existing comments irrelevant. So they mark this “version 2.0” and comments start afresh. Version 1.0 and all intermediary versions are still available as a link, with all the respective comments, but their thoughts have evolved to a new level, which is reflected in version 2.0.
The Software Details
The software is fundamentally a tool for groups of authors to share ideas. The authors are in the drivers’ seat.
The authors can edit the document through a web form, or use a desktop editor and upload versions. The documents will be in HTML, because that’s what’s used on the web. The software will keep track of all versions so users can go back to see how it evolved. The URL of the document will never change. There’ll be one URL that will always point to the latest version and another that will always point to a specific version, and thus is guaranteed not to change. This is important because we want to encourage links to documents.
Everybody, readers and authors alike can post their comments right there on the page, just like on this page. The comment-on-the-page facility doesn’t acommodate discussions very well, so if comments turn in to a discussion, it can be redirected to a discussion forum attached to the document.
The author can decide who should have access to read or write the document. Often, you want to work a little on a document before you publish it. Thus, the author decides when to publish. Also, the author can name something an entire new version of the document. Unlike revisions, a new version will not inherit the comments of old versions. The author can work on the new version without publishing it, just as with the first version. (The same should probably be the case with revisions.)
We want to encourage and support multiple authors. The obvious problem is with concurrent editing. <a href=”http://www.loria.fr/~molli/cvs-index.html”>CVS has solved these problems pretty well. It involved being able to show your intent to edit, perhaps even obtain a lock, but more importantly, the ability to automatically merge changes as long as they’re not overlapping, and alerting the user to conflicts that must be manually resolved. Our software should include these features.