All in the <head> – Ponderings and code by Drew McLellan –

Collaborative Document Editing

Last week, I participated in a collaborative editing session using SubEthaEdit. For those who’ve not encountered at tool of this nature (in fact, is SubEthaEdit the only thing in its class?), the tool basically enables multiple people to edit the same text document in a networked environment in real-time. The networked environment can be anything from a LAN to the net to a fancy-pants RendezVous network. The effect is one of literally seeing multiple cursors on the page with everyone typing at once. It’s extremely cool.

SubEthaEdit itself is promoted as a development tool. The idea is to enable two or more developers to team-program on the same file at once. As such, the final output of the session is a plain text file with all evidence of collaborative working removed. Of course, this is just what you need for team programming, but once you see a technology in action it’s very easy to grasp the possibilities. Throughout our session (which was part editing and part IRC-like chat), the group very quickly began to see the potential for collaborative editing in a broader sense, and the need for a ‘collaborative document format’.

Such a document format would record a lot more about the process of collaboration itself, and not just the output. With this format it would be possible to see who said what, and when. Imagine the possibilities for replacing face-to-face meetings with a collaborative editing session. When the outcome of the meeting needs to be a document, why not all work on the document together instead of talking about it? Such functionality would be killer in online-based organisations like the WaSP, as well as with traditional business.

Towards the end of the session, Michael and I lamented on the process itself, and made some observations:

  • With more than 8 people it easily becomes super confusing. At least when there is no clean-cut purpose in mind. Once we started editing the features request list, things went smoother and smoother.
  • Because the colors weren’t always trustworthy (two people can have the same colors, and colors don’t seem to match between clients), it could be problematic to keep up with who was doing what.
  • Reading the document after a little while, becomes like looking back over your own though-process. Points are raised, rebuted and countered. Once an agenda has been set everyone starts focusing and the refining sets in.
  • Perhaps a good idea for future collaborations would be to a) have an IRC client running for chatter. b) have two documents, one for throwing down thoughts, and one where the refined material can go.
  • Having a ‘project leader’ that can make executive decisions on what stays and go’s would be a great idea, since it can be daunting to challenge someone else’s suggestions.
  • Working on an ideas-based document (rather than collaboratively coding) is a lot like a face-to-face meeting in terms of interactivity. The difference being it’s way more dynamic and maybe four times as productive.
  • The environment encourages you to be your own, as well as others, editor. Going back and making edits is transformed from a failing to a triumph. It celebrates the fact that noone gets it right first time, and promotes refinement.
  • If working with a lot of active contributors, it really helps to be a fast reader, as well as a fast typist. It sucks to be the slowest participant, whatever your level of competance.
  • Brainstorming becomes super-efficient. Everyone can throw their ideas down without being inhibited. The output from the brainstorm can then simply be edited to form the final document.
  • Compared with face-to-face collaboration methods, there’s far less opportunity to get distracted and go off on a tangent. At least if you do, there’s no chance of forgetting where you got to.
  • However, going away and coming back also means that you’ll have no idea what’s gone on while you were away. And for experiments such as this, when you come back, you’ll have no idea what has been going on.

I’m really excited about this technology at the moment, not only because it’s very cool but also because of the immediate, real-world uses it can be put to, especially for businesses. The only drawback, however, is a major one. It’s only available for OS X at the moment, which makes it next to useless in a business context. This product can be big – but it’s going to have to run on Windows first.