• Lars Rasmussen, Using Google Wave for Collaborative Software Development

Lars Rasmussen, one of the Lead Engineers who started Google Maps, and leading the Google Wave project, spoke with The Bitsource in this exclusive interview.

Lars Rasmussen, and Google Wave Panel at Google I/O 2010

Lars Rasmussen (left), and Google Wave Panel at Google I/O 2010

Please tell The Bitsource’s developers a bit about yourself.

Lars Rasmussen: Sure thing, I’ve worked for Google for about six years. I came to Google in 2004 when they bought a little company, called Where2 Technologies that my brother and I had started and we did mapping software which we turned into Google Maps. I worked on Google maps for 3 years and then three years ago I started working on Google Wave.

Are there software development teams which are using Wave for facilitating and boosting efficiency in the various phases of the software development life cycle?

Lars Rasmussen: Yes, for sure. My own team, of course and there are a couple of teams at Google that use Wave for that exact thing. The Google Web Toolkit Team internally uses Wave for all of their work: tracking of their tasks, testing, processes, design documents, and discussing features.

There’s a story I really like, Google was recently asked to do a partnership with VMWare. Bruce Johnson was talking about this partnership during today’s keynote where they integrated the Google Web Toolkit with Spring Roo, which lets enterprise developers put together enterprise applications very quickly. Bruce was telling me how, when they started working with VMWare, they encouraged them to adopt Wave so that the GWT team and the VMWare team could Wave together. The VMWare team was actually in two other countries, and they all really loved it. It made their work much easier to coordinate in Wave and I spoke to one of the VMware guys who is here today and he is trying to get other people at VMWare to use it internally at VMWare as well.

How would one benefit by extending a continuous integration system such as Hudson or Atlassian Bamboo by integrating that into Google Wave?

Lars Rasmussen: Interesting you should ask. We’re giving a presentation tomorrow about Google Wave in the enterprise, the example I think the presenters for Google Wave and the Enterprise Environment are going to show an integration between Wave and the release system at Google with Robots and Gadgets. Every time you want to do a release, you start a Wave, which you use to do all of the coordination. Throw in a Gadget, and it goes and gets the current state [of the release] from the build system. By combining the two, you get all of the powerful discussion features [of Wave]. And when something goes wrong, something always goes wrong, you have all of the powerful discussion features, plus you have access to a control panel where you can manipulate the process right there.

In regard to Hudson and Bamboo, I don’t know if anyone is working on those particular systems, but I think Wave and development tools in general, there’s a lot of different areas where you can see some really cool integrations.

Also with coding itself. There is a team, I don’t recall they’re name, but they have this great thing where they used the Wave Federation Protocol to make programming collaborative inside of Visual Studio, and I know there’s a couple of folks at Google that are starting, too. We have a code review process, where a junior programmer will write the code and send it over to a senior programmer for review. The way it is currently, it is a serialized process. One person writes the code, they send it over here, it gets reviewed, comments go back, and the first programmer implements the comments, and it goes back for review.

Some of my colleagues are starting to play around with (they haven’t completed it yet), if you put those processes inside Wave it will go from being this very serialized, sometimes quite drawn-out process to being a much shorter and much more collaborative process. The code I write, can sit in a Wave, visible to the reviewer, and instead of sending back comments, they can just edit the code, and maybe even put comments in real-time if were online at the same time, and then I can understand what was done, and we can save ourselves a couple of round-trips.

Can Wave intelligently categorize Wave updates from an operations engineer differently than a software engineer?

Lars Rasmussen: Wave doesn’t do that on it’s own, but this something that extensions could do for you. In particular if you have a closed environment, you write Robots that has access to a database that has access to all of that information. Then a Robot could categorize what sort of person is writing what sort of thing.

Something I’ve seen developers working on a lot is working on Robots that will identify related content, which you can then choose to add to the Wave.

Please tell us a bit about the new Wave API’s that were announced today

Lars Rasmussen: Sure thing. The key thing is the top-requested features. In the past, Robots, which are web-application can interact with Wave just like human users, had to live on Google App Engine; which was mostly a security thing. We have now a system that you can authenticate a Robot that lives anywhere on the Web, which will make it a lot easier for programmers to do integrations. Like you were asking earlier about integrations with release management tools, for example. It’s a lot easier to do that integration if the Robot can live where the release management tool lives, instead of having to live in a third place; App Engine.

We also have a new API, a simple data API. A lot of people want to build notifiers and lighter-weigth clients for mobile devices. The sort of core API for collaborative editing can be a bit too much for some of the devices. And this API will allow you to build lighter weight clients.

We also added media and attachment features. Now, Robots has access to attachments on a Wave. For example, if you have a bunch of images in a Wave, you could have a Robot that [automatically] uploads images to a media sharing site, or vice-versa. If you have bunch of images on, say Picasa, and you’d like to share them on a Wave, you could write a Robot that does that.

For more information, follow @GoogleWave on Twitter, or subscribe to the Google Wave blog: http://googlewave.blogspot.com/

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • E-mail this story to a friend!
  • FriendFeed
  • HackerNews
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • Twitter
  • FSDaily
  • Ping.fm

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Leave a Reply

You must be logged in to post a comment.