Friday, August 07, 2009

Google Wave Preview: Seven things to improve about you ...

While Google deserves credit for bringing out an early preview of their new Wave technology, there are several lessons to be learned from the experience.

1 No help link

If there is one thing wrong with the Wave Preview, it's that there's no Help link in the menu bar. Even a popup window telling us how to search for the (self-hosted) "Welcome Waves" documentation would make a huge difference.

2 Ambiguous bug reporting

The user interface has a "Create Bug" link (sic), but it's broken. Outside of that, there is a Known Issues wave, and a Release Notes wave, and also a Google Code issue tracker. Not all of the issues listed elseswhere are reflected in the public issue tracker. While Team Wave must have their own comprehensive issue tracker, there is no one outward-facing place where we can see if a bug has been reported or not.

3 No roadmap to indicate planned features

While there unimplemented controls in the user interface, and scattered references to planned features, there does not seem to be an outward-facing roadmap that indicates which features are planned to be implemented and when. Not knowing what is already planned leads to a lot of general agnst, fear, uncertainty, and doubt. Also, since there is no list of Google Team Members, we can't discern between a pundit's guess and a team member's assurance.

4 No undo or revert

When you are testing alpha-quality editing software, it hurts not to have an undo. Worse, if something is deleted, by yourself or someone else, there's is no revert. One recourse is to use the the Playback feature and copy and paste a prior version to the head. If a Wave has had many changes (some are in the 100s), it can take five or ten minutes for the Preview to "fast forward" to the latest version.

5 No editing restrictions

While Team Google can "hack" sometimes a wave to prevent editing, no type of access control feature has been implemented. Everyone can edit anything, which, without undo or revert, is leading to lost content.

6 No external documentation

The only documentation for the client application is spread out over half-a-dozen waves. It's great that Team Wave is eager to be self-hosting, but, honestly, it's way too early to present the documentation as a waves. As it is, we're being giving a DVD player which ships with 100% of the setup instructions on a DVD. The Sandbox is hosted as a Google App, so it would be easy to provide documentation as a Google Doc. While that may not be eating your own dog foot, we'd at least be eating cat food by the same vendor.

7 No internal announcement mechanism

When improvements are made to the environment, the word trickles out. An announcement might be posted, or the release notes might be updated, but there is no central page where all changes are guaranteed to be posted. The sandbox inbox is chaotic, and it's hard to discern between important updates from Team Wave and the general sandbox chatter. Again, a help page that indicated important changes would make a world of difference.

These points have been added to the Google API issue tracker. If you have a Preview account, and agree, drop by and star a few.

Thursday, July 23, 2009

Google Wave: Not everyone is human ....

(Google has made a limited number of development accounts available for a preview of its forthcoming "Wave" product. If you get yours, look me up. I'm ted.husted@wavesandbox.com.)

A few years back, when I first tried IntelliJ IDEA's refactoring tools, I felt like I was pair programming with Commander Data. In the background, IDEA would compile my code, correct my syntax, and suggest fixes when my programming got sloppy. IDEA helped me write better code in less time.

Being a Camelot of good ideas, Google Wave, in the guise of robots, includes its own twist on intelligent background agents. Spelly scans input to a wave and corrects spelling errors on the fly (using the web as its dictionary). Likewise, Linky scans the wave for text that looks like a hyperlink. If the reference leads to YouTube, Linky will even offer to embed a player into the wave. If language is a barrier to collaboration, Rosy the robot (no joke) will translate a wave into your native language.

To a wave, a robot is just another participant on the wave. A wave is often described as a conversation between participants. (In fact, to use a robot with a wave, you add the robot as a participant.) Just like any other participant, a robot can make real-time changes to the content.

Also like a human participant, a robot can interact with an external system. For example, Tweety can post from a wave to a Twitter account, and Bloggy can post a wave to a blog. If any changes are made to the wave, Bloggy will update the blog entry.

Aside from blogs, there are many other systems that a wavebot could update. While Wave has its own version control, a robot could also update an external Subversion repository with all changes made to a wave. Likewise, a robot could create a static HTML page from a wave, so we could edit a wave and automatically update a high-performance website.

Even though Wave is only in developer preview, there are already dozens of robots available, and more are being written every day. (A new website, Wavety.com, is already creating a directory of Robots and Gadgets.)

An "interesting" new robot is Eliza the Robot therapist. Eliza scans the wave input looking for chances to reflect. "How do you feel about that?" (Some people are calling Eliza the first spambot!) If you are unsure whether to chat with Eliza, decide with a quick round of rock/paper/scissors.

Already, I am feeling a need for a reverse Turing Test for wave participants -- is it live or is it cybernext?

Press the Button

If robots are the workhorses of Wave, gadgets are the showdogs. Gadgets add interactive forms and animations to a wave, imposing focus and structure over participant input. Several gadgets are already available, including Polly, for polls, and Checky, for checklists. The gadget API is compatible with OpenSocial, making a host of existing gizmos available to wave developers.

Of course, the real test of any gadget platform is games. Already, we are seeing several multiplayer games bobbing into waves, including chess and soduko.

Although the full power of Wave is still rising to the surface, it's easy to see that it will be a powerful platform for project management, content management, intranets, team communication, customer support, and just plain fun.

While we may not be able to use wave as a desert topping or floor wax, with the right robots and gadgets in play, we may be able to use it for everything else.

Resources

Tuesday, July 07, 2009

The Fifth Wave: Google's Real-Time Collaboration Tool ...

At VanDamme Associates (soon to be fka VA), we like our social media. Besides being blogging and Twitter fanatics, we integrate websites and Association Management Systems with various social media platforms, including ThePort, Go Lightly, and our own Ektron Group Application.

An up and coming player on the social media horizon is Google Wave. Although it is not available to the public now, Google announced a developers version at Google IO on May 28. Google Wave is presented as an open-source, real-time communication platform, combining elements of email, instant messaging, wikis, web chat, social networking, and project management. Google Wave looks to be an elegant, in-browser communication client that anyone can use to bring together a group of friends or business partners. The group following the wave can discuss topics and share files -- in real time, character by character.

Along with the real-time dimensions, Wave is bringing extensibility, embeddability, and sharability to the table. We will be able to embed a Wave in any blog or website, and we can also build widgets or gadgets that utilize Waves. Like today's wikis and Google Docs, anything written within a Wave can be edited by anyone else.



Visually, a Wave resembles a rich, web forum. Appearances aside, there are key differences.
  • Everything is shared. While some web forms allow for editing of posts, being able to edit everything, wiki-style, is part of the Wave DNA.
  • Not everyone is human. The environment includes helper robots that access the Wave as if they were collabators. Some of the robots already in service include Debuggy (an in-wave debugger), Stocky (which pulls stock prices based on stock quote mentions), Tweety (the Twave robot, which displays tweets inside of a wave), and Spelly (a natural language spell checker).Files are first class citizens. While forms and email system often support attachments, we will be able to drag and drop documents and images into a Wave. Within a web, images are presented in albums, sound files can be played, and documents are shared.
  • Plugins are seamless. Gadget and widgets can be designed to work within a Wave -- including rich applications like issue trackers -- and other platforms can embed a Wave into a page, much the same way we embed YouTube today, to create, for example, a instant chat room or talk-back channel.
  • Playback's a breeze. Wave’s playback feature walks-through how the entire conversation developed from the start, player-piano style, making it to figure out "how we got there from here". For someone joining a Wave-in-progress, Playback is a great catch-up on the thought process.
But, the strangest bit about Wave is that Google is not only enabling collaboration but competition. The "lion's share" of the product will be available as open source, and there are already basic, non-Google hosted implementations of Wave. Once Wave becomes generally available, companies will be able to install third-party Wave implementations on their own servers and retain control of their own collaborative assets. If a discussion takes place inside a intranet firewall, it can stay within the firewall. (Or, alternatively, just let it ride on the Google cloud.)

At the moment, there's no published schedule indicating when Google Wave will be made available to the public. But, it is real and already available to bleeding edge developers. For more, check the resources section.

Resources