Lars Rasmussen is a member of Google's technical staff, based in the Sydney office, and with his brother Jens is co-founder of the Google Wave effort. In early 2003, the brothers co-founded a mapping start-up, Where 2 Technologies, which was acquired by Google in October of 2004. Lars joined Google and worked as one of the lead engineers in the team that turned this acquisition into Google Maps, now used by millions of people around the world. Lars holds a Ph.D. in theoretical computer science from the University of California at Berkeley. He has possibly the world's least developed sense of direction, and consistently types faster than he can spell.
Jens Rasmussen is a member of Google's technical staff, currently based in the Sydney office, and with his brother Lars is co-founder of the Google Wave effort. In early 2003, the brothers co-founded a mapping start-up, Where 2 Technologies, which was acquired by Google in October of 2004. Jens joined Google and worked as one of the lead engineers in the team that turned this acquisition into Google Maps, now used by millions of people around the world.
Stephanie Hannon, the lead product manager for Google Wave, is based in Google's Sydney office. Prior to Sydney she worked in Google's Zurich office, leading the product team for Google Maps for Europe, Middle East and Africa, and before this she was product manager for Gmail at Google in Mountain View, CA. Stephanie holds a B.S. Computer Systems Engineering and M.S.E.E. from Stanford University and an M.B.A. from Harvard Business School. Despite her eagerness to take on ever more life-threatening sports since she moved down under (one week kite surfing, the next week swimming with sharks), Steph has yet to get hurt (badly).
Tell us about the technologies and platforms Google Wave uses. What are some of the key technical design decisions you made?
Casey: To me, one of the most interesting technologies we've developed is the concurrency control system, which is what lets you do the real time collaboration which is so fundamental to everything that Google Wave is. The primary ideas are that everything is live, and everything is editable. On its own the concurrency control stack is not necessarily that sexy, but it lets you do things that are near-impossible otherwise. It used to be that with collaborative editing programs, you had a choice between live editing or richly formatted text. We've extended already well-known concurrent algorithms to handle the structured data, so you don't have to make that choice any more.
It's also worth noting the fundamental decision to build the client as a really powerful web app using the Google Web Toolkit. Rather than try to anticipate every possible use it will be put to, we've made it open and extensible so developers can come up with what they think is cool and useful.
Which pieces of the technology are you personally most excited by?
Rob: For me, it's the fact that with Google Wave, you get to make documents truly extensible. Just the other day we wrote some code so that when you type TM it turns into the trademark sign, for example. All these little features remind me of the change that took place with mobile phones ... it used to be that new phones launched and the manufacturers told you what features they had, but today with the Apple iPhone and the G1, they say 'we don't know how you're going to use this, but let's give you the platform so you can figure it out for yourself'.
The automated translation feature that we demonstrated at Google I/O also blows my mind, because it's potentially giving people with no common language the ability to communicate and collaborate in real time. And best of all for developers, the translation feature took hardly any time at all to implement once the platform was in place.
What do you think developers will be most excited by?
Adam: Developers are going to see the potential of Google Wave as a platform - we hope they'll leap on it. It's a very versatile platform, and in building it, we've tried to solve a lot of problems that developers have had historically ... we store their data, we resolve their conflicts. They'll be able to integrate it with existing systems they use today, or produce new tools that allow people to improve and manage their communications - which is, after all, one of the most important things to people nowadays.
Casey: I agree, Google Wave has solved a bunch of the stuff that has traditionally been really hard ... real time collaboration, hosted data, structured data ... developers won't have to think about all of that, they'll be able to just build their app and go.
Tell us about a highlight during the development of Google Wave?
Rob: For me it was one of our first spell checking demonstrations. Someone made an edit to a sentence which triggered 'their' to turn into 'they're' ... and then they made another one 'to' became 'too' ... and I had the realization that this wasn't just a spell correction function, it was moving into grammar correction and getting it right. If the red underline under a mis-spelled word was a cool development, then Google Wave takes things a whole lot further.
Adam: My most exciting moment was having a meeting with an engineer in London and a few engineers in Sydney, using Google Wave. I'd developed the agenda as a wave, and during the course of the meeting all the participants just spontaneously started adding links and details into the wave, and it started growing and building into this really rich document. It was a moment when I felt we'd really got closer to not having to be in the same room to meaningfully meet with people any more.
Any dark moments during the development process? Challenges you had to overcome?
Rob: The initial development phase, in a small room, with a small team, working towards a prototype, was a tough time. The room didn't get much sun - it was literally a dark moment!
Casey: People sometimes use the analogy of replacing the engines of a 747 while it's in flight to describe major endeavors on a project ... we certainly had a moment like that during the project, where we engaged in a major rewrite of the core of the system. It had to be done, and it was worth doing, but it was painful at the time. Also, people have been using existing communications tools and the web for so long that it can be hard to see beyond what's currently possible - that was one big challenge that we had. Given the scope of Google Wave, we've had to work hard to find the right balance between a product people will love and a new communication platform.
Adam: When we were working away on the prototype, and working tremendously long hours, and didn't know if anyone else believed in the product ... those moments were tough. When you're working on such a big idea, it's important to get external feedback, so it was a relief to get to that point. And now we've started to get feedback from other Googlers, and soon from developers ... and it's awesome to see people respond to it. When you're working on it really closely all the time, it's sometimes hard to remember how truly different it is.
Tell us about the team in Sydney ... any particular quirks compared to other Googlers?
Casey: Having this whole experience in Sydney has been awesome. Pretty much all of us working on the project were based here, so we grew really close and were perhaps unusually focused on the project. The weekly team huddles are also something special, when we get together and show off the things we've been working on during the previous week ... it has evolved to include theme songs and prizes ... and outside of that, we're indebted to one team member in particular for his quest to help us all develop our chocolate palate beyond M&Ms ...
Rob: Working in Sydney has been terrific - you get a great lifestyle down here, and get to work on an amazing project at the same time. In the morning I might go for a run on Bondi Beach, and half an hour later I'm at work developing a new product that we're about to show to people all around the world ... it's tough to get that anywhere else. The consistency of purpose has also been remarkable. A while back we wrote down all the things we thought Google Wave might be able to do, and over the last little while have just gone about building them ... it's incredibly satisfying to see that happen when we talked about it for so long. Every week a team member is showing something awesome that they've developed. And of course, we know for certain there are things we haven't thought of, which is why this next stage of the process is so exciting, letting developers get in to it.