New Google Wave Robot API v2

Finally there is an update to the Google Wave robot API. In the blog Introducing Robots API v2: The Rise of Active Robots the new features are described.

It is really nice to see that a lot of new features has been delivered. It is a long time since the last release of any updates on the API, so it looked like the development or patching had stopped. But this new release solves many of the problems that have exists. I have written my comments to all to all of the functions.

  • Active API: In v2, robots can now push information into waves (without having to wait to respond to a user action). This replaces the need for our deprecated cron API, as now you can update a wave when the weather changes or the stock price falls below some threshold. You can learn more in the Active API docs.

This features is really useful for enterprise contexts, where it is required that you will be able to update the wave based on external events. With this features you can get a new Wave, when something happens that you need to react to. From the SAP perspective there is Universal Worklist where all events that you have to process are. With this Wave you can achieve some of the same ideas.

  • Context: Robots can now more precisely specify how much information they want to get back from a particular event. If only the contents of the affected blip needs updating and you want to reduce your robot’s bandwidth, then you can specify the new ‘SELF’ context. On the flip side, if you do need all the information in the wavelet, you can specify the new ‘ALL’ context. You can learn more in the Context docs.

With this enhancement it will be much easier for robots to interact with the wave, because they can get a much better control of what the data is need in each instance. This will make the development easier because you got the date that you need and it will specify the data you need.

  • Filtering: In a similar way, with this new API, the robot can specify what events it needs to respond to, conserving valuable bandwidth — and ignore all those that don’t apply. You can learn more in the Filtering Events docs.

With this function you will only get the events that you need in your robots. Simply create a regular expression and then only the entries matching the expression is sent. This is quite useful if you only want events, when a large number of capital letters is written.

  • Error reporting: Robots are now able to register to receive errors about failed operations, such as insertion on non-existent ranges. You can learn more in the Error Reporting docs.

This function will make it possible to make better and more stabile robots. The use requires that you work, how the robot should interact when an error is created.

  • Proxying-For: Robots can now convey to Google Wave that their actions are actually on behalf of a different user, via the proxyingFor field. For robots like the Buggy sample, which connects with the Google Code issue tracker, this means that the wave can be updated with attribution to users on non-wave systems. You can learn more in the Proxying-For docs.

I can see that this function will be really interesting when working with one place to monitor all of your solution. It will also make collaboration with external partners much easier.

With all of this information it looks like the robots have been much more decentralized and acts as regular clients. So in the principle the new features will allow you to create a client to Wave using the robot API and some proxy functionality.

There is still room for improvements in the API. This is the two things that I see that currently are missing.

  • Better form handling and the ability to apply styles to the forms, so they don’t look as 90ish.
  • UPDATE: This is also possible. Integration with Gadgets, so the robots can update the gadgets with new information. With the Active API is this even more interesting. It is now possible to update the statistic gadget when you get a new expression.

Pamela Fox has created a great presentation describing what how the features connect.

Bookmark and Share

12sprints and Google Wave

Now it seems like the story about 12sprints have leaked a bit more. Since Cmswire and also a blog on SAP Developer Network, so I will also be able to write about it.

12sprints or constellation, which it also has been know as, i a service developed by SAP.

I got access to 12sprints on Monday as  a part of the SAP Mentors forum. I’m not sure how much, I can talk about the product. I’m not allowed to show screen shots of the application before the launch. On the frontpage of 12sprints.com are some screenshots of the information provided by SAP/12sprints.

I have just tried using 12sprint a little to see how it feels like,  so I’m unable to fully compare it to Wave. It has a nice interface and are able to use the functions quite easy. I have not seen how the multi user functionality works, or if it is real time.

12Sprints is a tool for creating decisions based on the response from multiply persons. So it is target more towards enterprises, and but it could probably also make sense to use 12sprints when you need to make decision with your spouse on where to go on vacation.

To assist with the decission making are diffrent tools like pro/con tables or cost benefit tables, you can use collectivly. It would be the same kinds of tools you would use to make a decision in a group normaly.

Compared to Wave 12sprints are more structured and probably easier to find and comment on decisions in. I see that you can have more unstructured data in Wave, but with the right tools/gadget in Wave you could create an environment close to 12sprints. I’m going to look future into how 12sprints works and when to use it over Wave.

Follow 12sprints on twitter, to get more updates on the release.

Bookmark and Share

Google Wave as a replacement of Notes databases

databaseI was talking a person how was using Lotus Notes to administrate some of their interfaces towards the users. That made me think if Google Wave can replace Lotus Notes.

I have been using Notes 6.5 and seen some of their databases. I did try to create some databases/application back in Notes 5. I was not really great at creating the applications. Some of the companies I have worked with have been using Notes to mange parts of their enterprise. Some use notes to employees easy has access to create new customers instead of using the more complex SAP screen for it. Or to build workflow applications to make the approval process of new customers easier than developing the same in SAP. I have also seen Databases with extract from SAP, where Notes just was a different interface.

I have not see how the newest version of Notes 8.5 works, but a lot of improvements should have been implemented to make it even more user friendly. I have always seen Notes as a system which was not really user friendly. The previous versions of Notes mail solution was not worth using compared to outlook, but the new version should be better. So I have always thought the killer app of notes was the many databases you could create and not the mail feature.

Lotus Notes is like Wave a collaborative software, which helps many people work together. I don’t think it is possible to edit documents together. But Notes has the Instant messaging feture, which works nicely together with the email contact. I see Notes databases as a strong force that it has the option of synchronization to off-line work.

Can you create an application on Google Wave to perform the same as you would to in a Notes database? Lots of the examples that I have created like the workflow and form demo, es-robot could be examples an example of where an application was exposed on Wave instead of the ERP system. That is basically what Notes also does.

Wave is not a good container for lots of unstructured data. In the instance we want to have our customers in Google Wave, we can either create a Wave pr customer or we can create one Wave with all the customers. The best would probably to have one Wave pr customer. It will be easy to find a specific customer using the search function, for name or street. But if we need all customers in the northern part of Zeeland ie post numbers 1000-3000 it will be difficult. You could tag the customers with lots of different tags like area, this will require a structured approach to create the customers.

When you have found the customer you want to perform an action on there could be a form making it possible to create order in a new Wave or a link to the Wave of previous orders.

It would be interesting to have all orders in Wave. I don’t think that it will create so much value, because you can just find them but not do anything with them. I think that it will be a bit deficult to make a great Wave robot/gadget for analizing changing sales orders. From my experiacnes with sales orders is that they are quite complex, when you use scheduling and have different processes for handling them.

But back to the question if  Wave will replace Lotus notes. I think that companies what to have their data more structured, which Lotus Notes supports best. In university I learned about the semi structured data, but I don’t see that it adopted on a massive scale.  On a longer sight there might be a swift toward using unstructured data to store data unstructured, with the structured data in the ERP system. I think Wave could be one of the places where Notes databases should be dropped.

If the development APIs for Wave became better to make applications, it would probably be easier to expose your data in Wave.

Image fo.ol

http://www.masteringwave.com/2009/08/workflow-and-forms-in-wave/
Bookmark and Share

What to do before the Google Wave invitation arrives

I’m currently waiting for invites to the live Wave system,. The sandbox works still fine, so I can still collaborate. So an obvious choose is to follow up on what is happening and research for news. Try to have a look at the API’s for the system, and then you can start your development. Try to get the AppEngine plugin up and running.

There are some interesting blogs, to read for the day. ReadWriteWeb has an article on what to expect from the Wave launch, this gives some interesting pointers to how the launch will take place. Among that you can nominate 8 friends with invitations. There will be no new features for the wave system.

Lars Rasmussen and Stephanie Hannon wrote about what he google blog. They write about the teams process and the fun they had when they was at a school and had the children write stories together. Lars and Stephanie believe that people will be more productive with wave when communicating and collaborating, which I believe is a large part of the day. I would have to agree with them.

Stephanie Hannon also wrote about what happened in the wave sandbox on the google blog. She mentions the SAP and Sales force as some of the vendors how have made some impressive demos of the potentials.

Stop checking the twitter channel for #googlewave, it is way to full today so you will just get a lot of messages. It is really difficult to follow the conversations. The just wait till people starts receiving the team had received of feedback and the use cases which was presented from the sandbox period.

So when you get online try to check out the maps gadget, Pamela Fox has made.

Then hope that you get an invitation. I just hope that I get an invitation for my domain, so I can start collaborating with the team.

Bookmark and Share

A Google Wave robot explained in 5 minutes

I created the SAP Enterprise service robot, which is described in the blog. I wanted to give you an explanation on how this robot was implemented.

I have therefore created a 5 minutes screen capture, showing what is going on and what the moveable parts are. Probably 5 minutes is a little too short, but if you have anything, which you want me to explain, I will do it. I hope you find it interesting.

I’m not proud of using crafted XML documents, instead of sending SOAP documents. But it was the only way that I could find to call SOAP web services from Appengine. If you have any suggestions to how I can avoid this, please let me know.

Bookmark and Share