This weekend I’ve been finding out about the power of Gobby. Gobby is one of those things that ticks all the buzzword boxes (collaborative, distributed, real-time, cross-platform) but I’ve never been in a situation where I needed to use it. Until this weekend.
I’d installed and played with Gobby before, but only sufficient to show that it worked and only over my LAN. This weekend I wanted to write some documents from scratch with some friends. We could have used a wiki to do this – I love wikis – but they only cope with one person editing a page at a time. If more than one person does edit a page, there’s a conflict which usually means resolving it manually. Also, at this point in time we wanted to keep the documentation private.
Having apt-got Gobby, I ran it. I was going to host the session, so I hit the “Create session” button. I had an option to change my username, colour (changed made by each user are show in a different colour) or the port number, but the only thing I needed to do was enter a password for the session.
Because I wanted people to connect to this session from the Internet, I had to forward the port from my firewall to the system running the Gobby session. One thing that might be cool is if there was a server version that could host sessions without needing a GUI and would automatically save documents every so often. However, I can totally understand why they have written the software in the way they have – everyone’s client can also host a session so no further software is needed.
Joining a session is just as easy as creating one – click the “Join Session” button, specify a host (and port if different from the default) and you are prompted for a password when you connect, assuming one has been set for the session.
Once in, there is a simple three pane view. The main pane is the text editor. The text editor supports all the standard features; tabs, copy, paste, a range of syntax highlighting, line numbers. At the bottom of the screen is a simple IRC-like chat system. This allows users to talk about the documents they are editing without having to comment the document itself. The right-hand panel shows the users that are currently connected to the system and the colours that represent their edits. Users “subscribe” to any of the available documents in order to see the changes being made. I guess not subscribing to irrelevant documents saves on bandwidth.
So having created a session with literally two mouse clicks and forwarded the port on my firewall, I then just let my friends know the password and they too connected. Edits in a document are shown in near real-time, with multiple users able to edit the same document at the same time – their typing appears simultaneously in different places. If a user types really fast then changes can start to be buffered, but this wasn’t really an issue. The only time this could affect things is if someone pasted a load of text in. We did have a moment of confusion when someone deleted a line that someone else was still editing, but apart from that there were no problems.
Each user can save documents to their own storage space, and anyone can create a new document within the session. New documents appear as a new tab, ready for people to subscribe to.
Gobby has just reached version 0.3.0rc3, although we were using the versions in Debian Etch and Ubuntu Breezy: 0.2.2. Gobby is also cross-platform, with Windows and Mac ports available. They also have some pretty screenshots. There is an iritating bug in the version in Etch at the moment where, for a handful of people, it crashes when reading its own config file. This has been fixed upstream though.
Update: Alan Pope informs me that there is a server version of Gobby (as I suggested above) called Sobby. It’s a new development, available in source code form only at the moment – it’s not packaged in Debian or Ubuntu yet.Pin It