Thursday, September 7th, 2006

MobWrite: The Web-based Open-source Multi-user Real-time Plain-text Editor

Category: Showcase

Neil Fraser has created MobWrite, a “Web-based Open-source Multi-user Real-time Plain-text Editor”.

How does it compare to Writely, SynchroEdit, et al?

For one, it uses differential synchronization to connect all of the users with eachother, which is more sophisticated than the bulk syncs of most other beasts.

When I went to checkout the editor, Neil was “there” so I conducted a short interview using his tool:

Dion: So, why did you make this?.
Neil: It's part of my MSc dissertation.  I'm building a multi-user IDE.

Dion: very cool. what have been the toughest challenges?

Neil: IE of course.  It's harder to make things work in IE than in all three other browsers combined.

Dion: any particular issues?

Neil: The non-existance of the Range object would be the biggest.

Dion: Where are you taking this next?

Neil: Next up is a full multi-user IDE so that programmers can edit code collaboratively.

Dion: the IDE will be browser based?

Neil: Absolutely.

Dion: Why? (versus writing a plugin for one of the IDEs out there)
Neil: The environment I'm targetting is a Moo.  This is a centralized object-oriented database.  So Microsoft Visual Whatever (for example) wouldn't  be happy with it.

Dion: using Twisted or anything Comet-ish on the backend?

Neil: Nope, everything is built from scratch.  It's a  daemon
 written in Python.

Dion: one thread per usr? select()? does it scale? :)

Neil: One thread per connection, so potentially several threads per user.  Preventing race conditions was 'interesting'.  But the server end seems to be rock solid, haven't had to tweak it at all.Yes, it does scale, see the network topologies on this page:


Posted by Dion Almaer at 7:35 am

3.4 rating from 23 votes


Comments feed TrackBack URI

The differential sync looks a lot like RSS SSE. Neil, if you’re there, perhaps you could talk a bit more about how they might differ.

Comment by Charles — September 7, 2006

Looks very interesting – too bad it has been put down. Don’t You just love the message: “This page has actually generated interest among web users, so we had to put it down.” Though I can image the a lot of people using the DIFF in real-time can put so much load on the server, that it probably would no longer know whether it’s running Windows or Unix. An interesting idea might be to use the computing power of the client for this task – though I suppose there would be tons of security issues DIFFing the text on the side of the browser.

Comment by nxt — September 7, 2006

Some joker pasted the entire Book of Genesis into it, which caused the load average to rise to unacceptable levels, which caused our sysadmin to kill it.

I’ve deleted the biblical spam and put MobWrite back up. It’s quite well-behaved if unless one abuses it.

Comment by Neil Fraser — September 7, 2006

useless. why? there are no controls over input. the issues you will see are the same that you see in social networks. who is the alpha-male? who’s input gets presedence?

Comment by Karl Moz — September 7, 2006

It looks like Karl needs an editor to proof his text. I bet if multiple people were submitting his message, those errors wouldn’t slip through (I count at least 7).

Comment by english nazi — September 8, 2006

I think that this work is useful in many contexts (though not in the form of MobWrite). It would be nice to take turns adding to a document with colleagues or coworkers jumping in to add stuff or edit what I’m saying. And, if he finishes his work on the programmer’s IDE with multi-write then it could prove to be very useful to pair programming teams or setting up a quick pair programming session between a code maintaner and a new intern at a company, especially if they’re not in the same office buidling.

Now, emacs has had this functionality for *many* years, but you have to xhost and coordinate with that person through a separate channel, and that could take some time. I’ve done it rarely just because it takes such effort to set it up.

But, looking at the MobWrite demo, it’s obvious that if you make it *too* easy to set up, then there will be a lot of malicious users ruining the act of content creation, often resulting in chaos. But, it looks rather easy to set it up on an intranet somewhere, especially if a server is dedicated to it. Were I in industry instead of academia, I would suggest it to my sysadmin.

Comment by kbdamm — September 8, 2006

Leave a comment

You must be logged in to post a comment.