I like to write with others just about as much as I like to write by myself. SubEthaEdit has long been one of our primary tools at TidBITS for collaborating simultaneously among editors and writers. The program lets us write in the same virtual document while seeing each other type. We can quickly produce a lot of text and edit each other's work, all the while checking in (sometimes through an iChat backchannel) on changes as we make them.
Simultaneous writing might seem like the authorial equivalent of the four-way intersection car crash in Steve Martin's "L.A. Story." Instead, we find it makes it possible for us to write faster (especially under deadline during real-time events) and to speed up editing, as well.
EtherPad treads on SubEthaEdit's turf. The software, now available for general use, is a free, hosted Web application with many of SubEthaEdit's key collaboration features, while also being freed from many of SubEthaEdit's desktop application constraints. (EtherPad was originally released in a form of public beta, which went private due to so much use. It opened on 03-Feb-09 to all comers.)
Let's take a look at the two.
Compare and Contrast, in Real Time -- SubEthaEdit (from Coding Monkeys, 30-day trial, 29 euros or US$38) requires one writer to host a document and others to connect over the Internet or using Bonjour on a local network. Once the document has been announced and unlocked, other writers who have been given read/write permission are automatically assigned a unique color, and can begin editing at once. Text appears color-coded by author as soon as a character is typed or deleted on all participants' open copies of the document. (Deletions aren't shown or retained. You can use Undo to revert back through your own edits, however.)
EtherPad (from AppJet, free) does away with many of these constraints, although its first release is nowhere near as mature as SubEthaEdit. But let's be fair: SubEthaEdit has been under development for years, and EtherPad is just as impressive as SubEthaEdit (then called Hydra, for obvious reasons) was when it first showed up as something close to a student programming project in 2003.
EtherPad opens up editing to any platform with support for one of several major browsers: Internet Explorer (version 6 or later), Safari (3 or later), and Firefox (2 or later). Other browsers may also work. This means that iPhone users can (tediously) participate as well as our friends suffering through Windows or enjoying their own unique blend of GNU/Linux.
Because the service is hosted as a Web application, EtherPad does away with the requirement for one user to have a publicly reachable IP address. This has bedeviled us many times, sometimes requiring us to open a SubEthaEdit document on a Mac OS X Server system to all who participate. Many features, like color coding of each participant's changes, will be familiar to SubEthaEdit users.
EtherPad provides revision saving coupled with restoration from stored versions, something not found in SubEthaEdit. EtherPad also centralizes storage of the current document and revisions on AppJet's servers. Both editors lack auto-save, a feature we've wanted for years, but EtherPad's capability to save a version trumps SubEthaEdit's simple Save command, which overwrites the previously stored version. (You can use third-party programs to add an automatic saving option and version tracking to SubEthaEdit, but this should be a piece of core functionality, especially considering that one of the authors of SubEthaEdit, Martin Ott, puts together the Mac OS X installer of the Subversion version control system.)
Centralized storage means that any participant always has access to the current state of the document or previous revisions. With SubEthaEdit, users other than the host can save a copy at any point, but aren't assured of having the last version of the document unless they save and the host immediately closes before any other edits take place.
SubEthaEdit was designed, in part, for Extreme Programming, which includes the principle of pairing programmers to work on the same code at the same time. Some studies have shown that multi-person programming actually improves efficiency by reducing errors and producing more readable code in fewer lines.
As such, SubEthaEdit includes a long list of syntax coding options for popular programming languages, where code elements are colored for better recognition and to avoid making errors in spelling a name. Help in ensuring paired, nested parentheses and braces is also found in SubEthaEdit. (Nearly all non-collaborative SubEthaEdit features appear in BBEdit.)
EtherPad even throws in chat among participants in a document, providing chronological archived discussion alongside the live space in which everyone is editing. This works remarkably well, since there's often backchannel discussion about what's being written that doesn't belong in the document itself.
Competition Improves Collaboration -- I look forward both to more developments in EtherPad, and the response from Coding Monkeys. For many years, I've wanted to have a tool that's a bit easier to use - especially freed from the storage and public IP requirement - for less-technical friends and colleagues. And Windows users have previously been left out in the cold.
Competition should help spark innovation, but EtherPad will certainly allow more unfettered communication. We know from history, more communication either leads to better understanding or a complete breakdown. I hope for the former.