At the SAP Teched in Phoenix there event BPX process slam, we worked with SAP NetWeaver Collaborative Business Process Modelling (formerly Gravity) to create a process model. In the SAP community a BPX is a Business Process Expert, a person with technical and business experience. BPX process slam is an event, where different people from the SAP community were working with different tools to create a common process. All was focusing on creating some tools for a community driven power plant. The event was covered by Sandy Kemsly
My group’s goal was to test how collaboration can be done with Wave and Gravity. We were on 7 people of which 2 were in Europe, so we had to do some offline work. Our result is on the SAP wiki.
We first started to get used to the Gravity tool. It took some time to figure out how it could be used. There were people who were new to Wave, which need to see Wave and Gravity. This was not difficult with a small introduction. They seemed to pick up the usage really fast sand found it interesting.
We started to work on the process. We had to figure out what the business process it was that we were going to design on. There where multiply different process ideas that we was working on and how the models should be created. It will probably require some thoughts to figure out what the process vision is, and how the process is suppose to work. There should probably be written something about this before a collaboration can take place. If all participants know what the process should be around the collaboration will be easier.
After we started collaborating it went pretty smooth. It was possible to see each other changes and make corrections to the process. So Gravity did work well for the collaboration.
I found that the process model took up most of the screen, also on larger computers than my 10″. This means that people have to scroll around to find the collaboration area of the text. That was probably not an ideal place to work with process modeling.
When modeling the process it is required that the users has some modeling experience. The models can be quite difficult to use if you are not familiar with process models. The annotations to describe the process worked really well, they gave an overview of what was going on.
The resulting process is in this image, a larger can be seen on the wiki.
Since it is a demo version of Gravity there are some features which would make the tool more useful. The layout of the functions gets pretty messy; it would be nice if there was an auto layout feature. The shadow around the elements can be difficult to see how made them. The actions could only have around 15 characters, so you need to describe your process shortly. Lastly the modeling should be easier for users to do, so business users can use it.
Gravity has some great features and could be a really interesting application, if it was developed to a fully fledged product. It would promote Wave as a place where business value could be created easily. I hope there will be more tools, which can achieve the same level of collaboration with the users.
When you are a participant in a conference, Wave can make sense for you. I have some ideas regarding conference attendance.
Image by Smitty on Flickr
When you are at the keynote, it is possible for you to open and edit the summary. In this way, you can write about your ideas on what is being discussed, and reflect on what others have written. This is something which requires a lot of mental capacity and multi-tasking; you need to follow what the speakers are currently saying, writing the content down and then comment on other spectators’ ideas on the keynote. The keynote is really interesting, because it talks about the direction of the company. There are a number of analysts, bloggers and journalists at place, who can write about how they see the keynote. It could be interesting for them to get comments from other people on the topic of the day.
For less crowded events like some presentations, you may find that you can create your notes live. Wave will allow you to create your own notes for each session, so other participants in the wave can see what is being written or if it is an interesting presentation. If it is possible to create good notes from your sessions you will be able to learn more. Other persons wanting to attend the same session at a later stage can see if it is interesting.
There will be some issues regarding rights of the content. I could imagine that some presenters do not like to see their content on the web, but it will hopefully be very few. The alternative is to blog about each session, where the same information can be disclosed. With wave you don’t need to have the content as super well formatted but you can let it be more in draft state. In this way you have your content the same way as other places.
Wave can also be used for less formal events, like finding places to go for dinner/lunch or just to start a networking session with some like minded persons. With wave, this will be easier if you can catch people’s attentions to the wave where you want to attract an audience about something.
Twitter is quite popular at conferences, where you are able to follow the streams. I have found, that I can only focus on one thing, what the speaker is saying or tweeting about what they have said. When I start writing my tweet, I lose focus on the speech and cannot see what is being said. It is also difficult to follow the twitter stream, to find interesting points. I read the other day that speakers also should follow the twitter streams, so they could respond in realtime to the event. I don’t think I’m able to speak and read from the twitter stream at the same time. Maybe wave will be easier to follow for a presenter, since it is just in one place all information exists. And you can see what people are writing at the moment.
I will try waving at the upcoming SAP Teched conference, to test if it is a useful way to work. You can follow the tag: sapteched09 and see the result of the experiment. A problem with the Waving is that not all participants have a Wave account, so it will only be a small subset who will use Wave.
The last challenge is that my new Asus Eee is very slow, when I’m working in Wave. I don’t think the small atom processer can run all the JavaScript. I’m not sure on how often it is sending data. Maybe the Wave client could be tweaked so wave can only sent data in every 5 characters, if the computer was to slow.
The question about if Google Wave is a productive tool was raised by Robert Scoble in the blog Google Wave’s unproductive email metaphors. I have been a fan of Robert precise way to formulate stories and raise questions like this.
Scroble mentions a lot of applications, which will be much better than Google Wave for collaborating more productively. For all different kinds of collaboration he will use the best suited version. The list he mentions is absolutely correct. What I don’t like about the list is that it requires different applications for different collaborations. This means that everyone should be on friendfeed or on the Wiki. Before the participants starts collaborating, they should decide on which platform to choose. This works nice if it is some tech savvy users, how knows the ins and outs of the applications, but for everyone else it is a large hurdle to overcome. With wave it is just one platform that you need to use.
Like all other social technologies Scroble allows all his followers to contact him, using the technology which really pushes the technology to the limit. For a wave perspective this would emulate very well how a really connected person like a boss or key business person would work. With email it is easy to notify ones boss with BCC, and then the boss knows he does not have to do anything. With wave on the other hand the boss needs to be a participant in the wave, so he can see what is going on. If you could add a secret person it will probably solve this issue. But when the participants continue to collaborate, the wave will continue to get in to the inbox of the boss, and it makes it more difficult for him to find the most relevant waves. The boss will see the text being written in the inbox, which can be distracting.
There is also missing the feature with wave, about how has the next action on an item. If I need someone to decide on something, I would like to mark that he is a key person in this wave. Otherwise he will just see the wave as a continued collaboration, on something he is note involved in. With email you know if something is in your inbox, you have an action on it. A work around could be to mark the persons users as the tag, then you just should search for tag:dgraversen or tag:next-dgraversen, how you would make the context. Idealiy there would also be a part where you can write, what action you expect from him.
I hate getting chats or pings on new waves. It of cause can see that, I need to take care for that wave because the person in the other might want a reply. But when the person is not on the wave anymore it does not make sense, then I just want the pinging wave to be a normal wave. If I need to take care of a wave, it would like to be informed that there is something I need to take care of. I would probably prefer something like when I get an instant message outside of my wave client.
I’m a huge fan of the Getting Things Done method, and try to implement as much as possible in my life. This blog as been written when I was online, but it is not always the case. With Wave it is currently not possible to be offline, but does it make sense to be offline when collaborating? I don’t know how this can be solved. But I when I do writing or thinking, I don’t want to be disturbed, and just focus on the task at hand.
If not Google solves some of these issues, it will create a marked for third party solutions, which could compete on having a more productive platform.
I have been interesting in how the private messaging inside wave works. More specifically what can the participants how has the private message see. I don’t know why I have never tested it out.
I recorded a small video of how this works. (Sorry about the background noise)
The conclusion is that the participant in the private wave can only see the content inside the private wave. He cannot see it is a part of a larger conversation. That is also what you need. The participant in the private wave must not be able to see, waves he has not been added to.
This also makes sense from a productivity perspective. He should not see everything else; he does not need to comment on that.
So when you create a private wave, you need to remember that the user you are added cannot see the rest of the conversation. The content the new participant, should comment on needs to be copied into the private Wave.
Inspired by offlineblog’s blog about Live blogging and the WordPress plugins like described on my blog, and at offlineblog and the bloggy robot which can publish to blogger.com. I thought this could also be possible to perform the same with a WordPress robot.
The solution simply works by adding the robot wp-bot@appspot.com to a Wave. Then it publishes your wave to the site as an embedded wave to WordPress. With this you get a permalink to the blog, where the content is hosted. I was unable to using the API’s that Google is using for displaying that the content is shared. If you know how to use please let me know.
I found the wordpress-java library to help with creating the XMLRPC code, which I was unable to use. With this library it is pretty simple to create a blog with some content. And since the content I’m posting just is wave id=’waveID’ bgcolor=’#ffffff’, it is pretty easy to craft.
The robot in action works the following way.
The code looks like the following.
public class WPRobotServlet extends AbstractRobotServlet {
private String ownname = "wp-bot@appspot.com";
@Override
public void processEvents(RobotMessageBundle bundle) {
Wavelet wavelet = bundle.getWavelet();
// when the Robot is added publish to the robot
if (bundle.wasSelfAdded()) {
Blip blip = wavelet.appendBlip();
TextView textView = blip.getDocument();
textView.append(ownname+ " added version " +this.getVersion() +" \n");
textView.appendMarkup("\n <a href=\"http://masteringwave.com/\">MasteringWave</a> <br />");
textView.append("\n");
String rootText = wavelet.getRootBlip().getDocument().getText();
// find the first line, which will be the title to the blog
String firstLine ;
if(rootText.indexOf("\n")>0){
firstLine = rootText.substring(0,rootText.indexOf("\n"));
}else{
firstLine = rootText;
}
textView.append( uploadWave(firstLine, wavelet.getWaveId()));
}
// XML-RPC method
String sXmlRpcMethod = "metaWeblog.newPost";
// the content of the blog
String sContent = "[wave id=\""+waveID+"\" bgcolor=\"#ffffff\"]";
// Try block to create the upload
try
{
Wordpress wp = new Wordpress(sUsername, sPassword, sXmlRpcURL);
Page newPost = new Page();
newPost.setTitle(title);
newPost.setDescription(sContent);
newPost.setWp_author(sUsername);
String resultId = wp.newPost(newPost, "draft");
return wp.getPost(Integer.parseInt(resultId)).getPermaLink();
}
catch( Exception e )
{
return e.toString();
}
}
}