Workflow applications in Google Wave

One interesting aspect of Google Wave is the way that users can make semi structured workflows. In the workflows everyone can interact with each other in a simple flow manner. The workflow can be created just by adding other people to the conversation, and ask them questions or guide the process. This type of workflow can

But for some workflow instances you want to have the user to follow certain guidelines. You want another person for approve or sign the document, so what there is an agreement for the document. Something like this can also be performed by using voting Gadget. With the help of robots is it possible to make the workflow more structured. I have created a sample workflow application. The application emulates a bank loan submission form.

The process is as following:

  • The customer creates a Wave and writes a reason for getting the loan.
  • Then he adds the Bank robot. He thereby gets a form to fill in some fields, in a structured manner.
  • He submits the form. The robot sends the form to a bank employee. In this case the users “test” user for approval. The customer can’t approve the form, because of access limitations.
  • When the bank employee approves the application, the form data can be sent to the backend system.

This workflow is showed in the following video.

This is a proff of concept solution and demonstrates that it is possible to build workflows in Wave.

Using wave for frontend for a workflow engine, will allow the users to interact more with each other. It will give the participants a much better idea of the whole conversation and change the content in the mean time. I believe that this semi structured way for handling workflows is the easiest way to handle many of the tasks in today’s organizations. You don’t have to follow the rules completely, but can work the most natural way.

One problem with Wave workflows is that you don’t know which workflows you need to take action on. You just have a list of all the Waves, which has changed since you where on the page last time. This could maybe be solved using tags, which each user could search for.

For some workflows you need very strict or concrete results, like invoice approval. When you need to approve an invoice you need to assign the right cost elements to the different lines, get approval from manager and pay the vendor. This might be an area where the information given is too much structured data, so it is better to handle this in the ERP system.

Bookmark and Share

Architecture for Google Wave applications.

I’m designing an application for Google Wave, which interacts with the user. The following is the considerations that I have for how the architecture of the application works best.

The application that I’m planning on should consist of a Robot which interacts with the user. The other part of the application should be a web application where users can configure how the robot should interact and view status from the waves. There should also be some analytics capabilities. The backend application needs to be rather a little complex to fulfill the requirements.

The most convenient way would be to use appengine, since it is the place that is mostly integrated with Google Wave currently. Continue reading Architecture for Google Wave applications.


As I was creating my first robot, I wasn’t surprised on how little the number of resources available in the internet were, specially about capabilities.xml. I didn’t find any documentation on its schema yet. So, I decided to write about what I’ve learned.

My robot only needs the “document_changed” and “wavelet_self_added” events but I wanted to know what possible tags  I can add up to the file for my robot settings. As of now I only know two properties that you can set in the file, the capabilities/events and the version of the file.

Here’s my capabilities.xml
Continue reading Capabilities.xml

Google Wave and HR

Wave is really interesting especially on how it can be used in organizations. One way is in the HR processes. Some parts of HR is ordering a lot of unstructured conversations. They could be hiring processes or performance reviews. The other part of HR is hard facts like name, addressee, organizational position and salary. The hard facts need to be kept in a ERP or HR system because they are needed to create payrolls or reports.

The first part of HR, which deals with a lot of unstructured data, is a prime candidate for using Google Wave space. People involved can collaborate easy with each other and see changes. Also it is possible to have private conversations in the Wave, this allows to participates to discuss the other persons involvement. I could imagine this will be helpful in a hiring process, where applicant is part of one wavelet, while people involved in the hiring also is a part of the other.
Continue reading Google Wave and HR