Google+ Hangout Hackathon

posted in ...

Last night, I was invited to a Google+ Hangout to participate in a Chrome extension hackathon. I was not able to participate much due to some technical issues. It is really too bad, because I felt that I could have learned much from the other coders involved.

The project that we were working on is a chrome extension that allows users to play a game of pong while using Hangouts. This adds a whole new dynamic to how users can participate in Hangouts. Kudos to whomever first thought of the idea.

To be able to pull off creating this extension, we had to delve into the Hangouts source code. While doing this, we noticed a couple of interesting things after being pointed out by Mohamed Mansour.

Google+ Hangouts Uses Google Wave

One of the tasks needed to get the extension to work is that we needed to find a way to easily and programmatically access the list of all users currently in the Hangout. Mansour discovered a hidden <iframe> that contained much of its logic and data.

Deep inside this maze, Mansour noticed that Hangouts made some calls to Google Wave services. This was pretty interesting considering the fact that Google wave was retired almost a year ago. Well, not that interesting in that they stated that they will extend the technology for use in other Google projects. I really liked Wave none the less, and I wish it had caught on. That was not the only interesting discovery made during our code spelunking, though.

Google+ Hangouts Uses jQuery

Mansour had also discovered that Hangouts uses jQuery. Hangouts is powered by jQuery all throughout. This seemed like an odd finding for a couple reasons. The first strange thing about this choice of JavaScript library, is that I have not seen its usage in any other Google product. The second oddity is that none of the JavaScript was optimized nor minimized with the Google Closure compiler. Is Google getting real JavaScript web developers to work on these new projects and beginning to shy away from the Java and Google Web Toolkit programmers from their previous products (like Wave)? I didn't mean to sound harsh there, but I think that JavaScript needs a little more respect than the GWT project gives it.

All and all, for the brief time that I was participating in the hackathon, I was enjoying myself immensely. I would love to do one again, but before I do, I need to tune my desktop and switch to a faster ISP.