Currently, there isn’t so much hype concerning the Wave Federation Server and with particular regards to the Gadgets API or the Robot API. But there are some people around the world starting their own client application. Unfortunately, the Wave Federation Server is a moving target and there are daily changes to the code base. The client-server RPC (based on protocoll buffers) communication is far from feature complete. Some people are complaining they won’t start projects until the Wave Federation Server is stable and almost feature complete.
As far as i know there are three projects working on a client:
As the first two projects do not have any implementation yet I took a first look into the “Java Desktop Client”:
A very simple GUI based client to be used with the reference server. This is a small experiment I investigated and thus unfortunately I cannot keep the project updated or fix bugs etc at the moment, especially as google keep updating the reference code. This may or may not work with the current distribution of the google wave reference server again I haven’t tested it.
The desktop client implements a very basic set of funtcions: new wave, open wave, add and remove participants, send a message. I took a screenshot so you can see how the desktop client looks like:
Unfortunately, there is no binary or webstart version of the Desktop Client, but you can pull the sources from github and build a binary. There is no ant or maven file, so i give you a short step-by-step installation guide how to get a running version:
The Wave Federation Server is written in Java, so it is very handy to run the server as linux daemon. The JavaServiceWrapper (JWS) turns java applications into robust services that boot up automatically and restart automatically following crashes. It’s free for open source programs and has very reasonable licensing fees for commercial software.
I used JWS to start the Wave Federation Server instead of starting the server with the original run-server.sh bash script.
The important files are the configuration “wrapper.conf” and the startup script “wrapper.sh”. I just took the script from the JavaSericeWrapper distribution and renamed it to wrapper.sh. The changes to the default script are to adjust the application name and application long name.