Monday, August 8, 2011

Google+ Hangout Games Are Here … Sort of


One of the more requested features in the various Hangouts I have participated in with a number of Google employees, has been a way to collaborate on things and play games within the Hangout platform.  Although Google may be working on such features, or an API which may eventually allow for all sorts of crazy Hangout activities, they have yet to release anything.  This is where Mohamed Mansour takes over.  The seemingly genius programmer, known for his Google Chrome extensions, and work with Chromium, has managed to pull off what I would describe as the most sophisticated Google+ Chrome extension to date.  In a Google+ post earlier today Mansour announced the following:
My latest hack, definitely the most complicated Google Chrome Extension I have ever created. It is for extending Google+ Hangouts to enable collaboration with all participants of the hangout. This will allow you to share the same document and collaborate with each other in real time.
The way this works is that it taps into the Hangout directly which is currently powered using the legacy Google Wave technology and jQuery using Google Shared Spaces. What I did is imitate the YouTube Hangout Gadget, and intercept absolutely all messages coming from Google Wave to the extension. In this case, I am broadcasting a unique id which is stored in the Wave that every participant can read when they join. That ID is persisted for that Hangout session only. You can then broadcast any messages to all participants, and their client side can handle it. You can implement Games, Website Sharing, collaboration software on a hangout with this.
Source Code is released as usual on GitHub, please fork and submit your pull requests! Many many many many many thanks to +John Barrington Craggswho coded with me for many hours on the Hangout, he is a genius! Many many many thanks to +Jake McCuistion for doing the awesome graphics and helping with the coding! Everyone must add these two awesome developer and designer!
This was clearly the most complicated extension I have ever have created! The lesson I learned, think outside the box and be creative, and the answer will eventually come  Give the buggy extension a try, download it from the gallery
Basically what he has done is reverse engineered Hangouts, and came up with a way to use their messaging function (Google Wave gadgets) to push messages to all Hangout participants. Everyone in a particular hangout needs to download the extension, and once done, they can implement website sharing, docs sharing, canvas sharing, etc. According to Mansour, “The only limit is the web itself.” The extension is still very buggy, especially on Mac’s, however, it worked quite well in the test they did last evening. The official name of the Chrome extension is Hangout Pad for Google+.