Sunday, June 17, 2012

A better tool for private social and working networks? Using Open Source Apache Wave (used to be Google Wave)

OK, maybe now we should just call is Wave.

As I talked about a few years ago in my blog, I really enjoyed using Wave for interacting with family and friends, and also experimenting writing Wave Robots hosted on AppEngine. Those good times have ended :-(

Fortunately, the Apache Wave incubator project provides the code and directions for running Wave on your own servers.

If you are lucky, installing Wave is as simple as:

git clone git://git.apache.org/wave.git wave
cd wave
ant compile-gwt dist-server
ant -f server-config.xml
./run-server.sh
The default data store is the file system but you can use MongoDB instead. After you have started the server, you can use two different web browsers (e.g., Firefox and Chrome) to create two different accounts using the Register a new account link on the right side of the welcome page. After logging in under two accounts with two web browsers then create a new note under one of your Wave accounts and invite the other user account to that note. As you type on one account you see the characters echoed on the other.

Wave has a beautiful UI, cleaner than the original Google Wave. A beautiful example of a GWT web application. The code base is moderately large with about 1800 Java source files and 450 Java test files. There are 26 GWT modules. So, lots of code, but it is well organized and written, and so not too scary: certainly possible to make custom modifications for different business uses.

Apache Wave in its current form seems stable (but I like to back everything up before doing a git pull, and I don't git pull updates very often) and with a MongoDB back end, Wave looks like it would be a nice tool for private workgroups, families, groups of friends, etc.

Anyone considering an open source private Facebook-like system might want to take a long look at Apache Wave. While I wish the Diaspora project (and other open source Facebook alternatives) well, I can't help but think that Apache Wave is a better place for people to combine their energies so we all have a good tool to set up private social and working networks.

No comments: