Latest Explorations in Google Wave
During a few moments of free time today, I did some more explorations into Google Wave. Much of the explorations my friends are doing are using Google’s Wave interface connected to Google’s Wave server. If you’ve been invited, you should spend some time exploring the interface and thinking about use cases for Google Wave. It is well worth the exploration. One friend pointed out The Complete Wave Guide as a good source for ideas about how to use Wave. However, I’m much more interested in the geeky side of things.
So, I’ve set up my own Wave server and described the efforts in Google Wave Federation on Ubuntu. Since then, I started doing some testing. First, I connected with the run-client-console.sh client program. I managed to connect to my wave from a couple different logins and see that it was behaving the way it seemed like it should.
I’ve also set up another interesting aspect. I wrote a very simple shell,
#!/bin/bash
cd /home/waveserver/wave-protocol
./run-client-console.sh $USER
I then use that shell as the login shell for users that I’ve set up. So, a person logging in on a predefined account gets taken into the client-console. It has worked nicely for testing.
Another interesting test that I did was I build the wave-protocol software on another machine. This second machine is behind a firewall and does not have an XMPP server on it. So, when I started up the client console, I wasn’t expecting to be able to do much. In fact, if I tried starting a new wave, I would get a Java error. However, I was able to do something fairly interesting. I could connect to my wave server using the client and talk between local wave users. It also appears as if I can connect with other federated wave servers.
The other thing that I want to do is to add people from different federated servers to various waves. So far, I’ve had no luck on doing this. The best, perhaps, would be to use Google’s Wave Sandbox, but I don’t have an account there yet. I’ve applied and am waiting.
As I understand things, you need to have certificates enabled to connect with Google’s Wave Sandbox. Since XMPP.NET is no longer providing certificates, and I’ve had no luck with startssl so I tried CACert. Setting up the CACert certificate was fairly easy.
The next issue was making sure that I had the latest version of the software. I’m not used to working with mercurial, which is used to distribute the software, and it took me a little while to figure out that what I really wanted to do was go to my wave-protocol directory and execute the command
hg log | head -20
This shows the top twenty lines of the log, from which you can look at the changeset to determine which is the most recent. Currently, I’m using changeset 117 for my installation.
So, I can navigate around some different federated waves and try to figure out why they don’t seem to federate the way I would like. It may be that this is an aspect of the client console not showing the federation and not a problem with the servers failing to federate with one another. That is another aspect to check out.
This takes me to the next aspect of Google Wave Federation. So far, I’ve only used the text based client-console that comes with the software. However, there are some very interesting other projects emerging. One is Ruby on Sails. This is a nice client for testing Wave. However, I haven’t managed to connect to it via federation yet. When I try from my machine, I get an error saying that wave.danopia.net does not appear to have wave.
Another interesting client appears to be PyGowave, a Google Wave Client in Python. Unfortunately, I’ve been told that it does not yet support federation and I did get a similar error when I attempted to connect to it.
As another note, it has been suggested that I should run with WAVESERVER_DISABLE_SIGNER_VERIFICATION=false
I restarted my server in this mode and it still appears to behave essentially the same way. One thing that I do notice is that waves do not appear to be persistent between invocations of the wave server. When I shut it down and restart all the waves and blips disappear. This is okay for testing for right now, but persistence of waves seems to be a fairly crucial underlying function that is necessary.
So much for testing for now. If you are running a Google Federated Wave server, playing with a fun new client, or want to test in other ways, let me know.