When it comes to collaboration, the old Google Documents (the word processing part of the Google Docs suite, which also includes spreadsheets and presentations) could take the changes made to a document made by one user and mirror them out to any other users who were editing that document at the same time.
The process required nothing of clients but a Web browser and Internet connection. It usually took 10 to 15 seconds, but it was still faster than the desktop alternative which, from a publish-and-subscribe architecture point of view, isn't remarkably different. It's just that the discreet steps (depending on which exact solution is in place) take even longer.
By these measures, Google was already the closest of the major vendors to delivering realtime document collaboration, if ever such a thing existed. The question for Google was whether it could close the gap altogether. Is it possible to mirror the keystrokes to all collaborators to each other, as they happen? According to Google staff software engineer Micah Lemonik and Google Documents product manager Jeff Harris, those 10 to 15 seconds were "really hard." Said Lemonik, "It took two years."
In InformationWeek's testing of the new Google Documents (we used it so the authors and editors could collaborate on many of the stories written for our Special Report ), up to three people were editing documents at the same time. While keystrokes weren't mirrored in up to the microsecond realtime , they were certainly mirrored fast enough for Google to use the "realtime " label.
From a collaboration point of view, it's sort of like breathing pure oxygen. But it takes some getting used to and the process worked best for InformationWeek when the collaborators were on a conference call (not too much to ask) and could say things like "let's try this wording to the second sentence." Thanks to the way Google Docs works, collaborators don't necessarily have to announce where they are about to make a change. One of the realtime features is called "presence," and it tells you where exactly in a shared document the other collaborators have their cursors positioned.
Google Docs shows when collaborators are present.
(click for larger image)
The "presence" feature helps the other users to avoid stepping on each other but could probably be improved upon. For example, it may show you where the cursors of the other collaborators are positioned, but, as shown in the screenshot, it only shows you the names of those collaborators when they are actively typing. Once a collaborator stops typing, you can see where their cursor is, but the name disappears and all you can see is a colored vertical bar that indicates the position of their cursor.
This could be a matter of taste, but in our tests, we felt it would be nicer for the name associated with each cursor position to consistently display itself. "Suppressing the user's name while that user is inactive is simply to reduce visual noise" said Google engineering manager Alan Warren in response to a fact check. "You can always see who it is by putting your mouse over the cursor in question. Making this behavior a user preference should be pretty easy."
The cursor presence feature also lacks the ability to show when one of the collaborators has highlighted certain text -- a block of text that he or she might be preparing to replace, edit, or delete.
To the extent that realtime presence indication helps to prevent collaborators from stepping on each other (working with the same block of text), it would be good to know not just when someone has highlighted a block of text to work with, but also how big that block of text is. According to Google Documents product manager Jeff Harris, showing remotely highlighted text is possible. "It's something we're exploring, though [there are] no specifics on if or when the feature will be available to end users," said Harris.