« An Adventure with Google OpenSocial »
Pretty much every company that I know of has an annual company-wide meeting and ours is no different, however we do a little bit more than just meet somewhere for food and drink. We gather everybody in the company together in one place for a few days. This year it was in the Toronto office, and last year it was in the Palo Alto office. In addition to a dinner, we discuss the past year's achievements and progress we've made as a company. We also have a programming competition, in which we divide the developers up into two teams and pit them against each other in a race against time. This is something that I really enjoy, and that I look forward to every year.
This year, the challenge was to build a game which would exist on a social networking site. The game would be a two-player, turn-based game which would share state (the game board). Our team was assigned Google's OpenSocial platform as our development environment, and our competitors were assigned the Facebook API. Both teams chose Battleship as their game of choice, and with a little over 24 hours available to construct our masterpieces, the teams set to work.
First, I'll give you a quick OpenSocial overview. OpenSocial is an API created by Google which is based off of the Orkut social networking site. The idea behind OpenSocial is that multiple websites can implement the OpenSocial API (such as MySpace, hi5, Plaxo and LinkedIn) and this gives each of them access to all of the OpenSocial widgets that have been written. In effect, you can write one widget to one API specification, and have it work on many websites. It's an interesting idea, but what is the implementation like?
The first hurdle that we encountered ended up being the biggest. In order to develop an application using the Google OpenSocial API, you have to sign up for an Orkut sandbox account. This doesn't seem like much of a hurdle, until you discover that the registration process is apparently not automatic. You submit a request, and at some point in the future you hear back from Orkut that your account has been activated and that you can now access the sandbox. In our case, we registered at 11:00 a.m. on Monday, and the competition was scheduled to end at 3 p.m. on Tuesday. We didn't hear back that our accounts had been activated until after 2 p.m. on Tuesday, which made using Orkut's sandbox impossible.
As soon as we realized that we would have a delay with the Orkut sandbox, we started looking around for other OpenSocial implementations. The only one that we found was hi5's sandbox, and it's fair to say that their sandbox environment was a bit of a mess. The sandbox site was obviously a live development environment, with fairly random things floating about on the pages and assorted debugging strings embedded in different locations. We ended up stumbling upon the application preview section by pure chance. It was a small upload box hidden on the bottom right side of the application preview pane, and it would occasionally throw errors at us just to keep us on our toes. We also discovered that the only portion of the OpenSocial API that seemed to be implemented in the hi5 sandbox was the part which allowed access to your own profile. The portions which allowed access to friends, messages and other profiles appeared to not be implemented yet. This made it impossible for us to do what was originally scoped out in the contest guidelines, so we adapted by implementing an AI which enabled a usable single-player game.
OpenSocial widgets are built on top of Google's Gadget API, which is quite nice. A gadget is written in HTML and JavaScript, and it's stored in a publicly-accessible XML file. There are a fair number of powerful and useful APIs available (such as a drag-and drop system), and the choice of HTML and JavaScript as the development languages are a natural fit for a web-resident application. It allows for a lot of flexibility, and it also lets you take advantage of all of the existing libraries (such as Dojo). We ended up writing a fairly detailed Battleship game, with highlighted ship-placement mode, in-game animations, a multi-phasic adaptive AI and a high score board, however our erstwhile compatriots took the prize.
Overall, it feels like OpenSocial is not yet really ready for people to use. The platform has a lot of promise, if some of the discussions and promises which are flying about are to be believed, but at this
point there are still numerous wrinkles to sort out which make it very difficult to actually develop to the platform. While these sorts of issues are common with a new platform, given the massive popularity of Facebook, OpenSocial is going to have to get it's act together in a relatively short period of time otherwise they may end up being consigned to history as another footnote technology.
2 Comments | 
Reader Comments (2)
At the same time, the investigation<h1>Coach Outlet</h1> that led the United States to <h1>Coach Outlet</h1>the bank, the Lebanese Canadian<h1>Chanel Handbags</h1> Bank, provides new insights <h1>Coach Outlet</h1>into the murky sources of<h1>Coach Outlet</h1> Hezbollah’s money. While law enforcement <h1>Chanel Bags</h1>agencies around the world <h1>Coach Factory Outlet</h1>have long believed that <h1>Coach Outlet Online</h1>Hezbollah is a passive beneficiary <h1>Coach Outlet</h1>of contributions from loyalists <h1>Coach Outlet</h1>abroad involved in drug trafficking <h1>Coach Outlet Online</h1>and a grab bag of other<h1>Louis Vuitton Bags</h1> criminal enterprises, intelligence <h1>Coach Factory Outlet</h1>from several countries points <h1>Louis Vuitton Bags</h1>to the direct involvement of <h1>Coach Factory Store</h1>high-level Hezbollah officials <h1>Coach Outlet</h1>in the South American cocaine<h1>Coach Factory Outlet</h1> trade.One agent involved in the<h1>Coach Outlet Store</h1> investigation compared Hezbollah <h1>Coach Factory Outlet</h1>to the Mafia, saying, “They <h1>Coach Outlet</h1>operate like the Gambinos on <h1>Chanel Bags</h1>steroids.”On Tuesday, federal <h1>Chanel Bags</h1>prosecutors in Virginia announced <h1>Louis Vuitton</h1>the indictment of the man <h1>Coach Factory Store</h1>at the center of the Lebanese<h1>Chanel Handbags</h1> Canadian Bank case, charging <h1>Coach Outlet</h1>that he had trafficked drugs <h1>Chanel Bags</h1>and laundered money not only <h1>Louis Vuitton</h1>for Colombian cartels, but also for<h1>Coach Factory Online</h1> the murderous Mexican gang <h1>Coach Outlet</h1>Los Zetas.The revelations about <h1>Chanel Bags</h1>Hezbollah and the Lebanese Canadian<h1>Coach Outlet</h1> Bank reflect the changing <h1>Louis Vuitton Bags</h1>political and military dynamics<h1>Coach Factory Outlet</h1> of Lebanon and the Middle East. <h1>Chanel Bags</h1>American intelligence analysts believe<h1>Coach Factory</h1> that for years Hezbollah
<h1>discount designer bags</h1> cheap and fashion
<h1>designer inspired handbags</h1> Acclaimed
<h1>air max 2011</h1> high quality
<h1>nike shox tl3</h1> wholesale nike
<h1>women puma shoes</h1> Particular style
<h1>air max tn</h1> Different
<h1>puma shoes</h1> Very famous
<h1>puma shoes online</h1> Popular brands
<h1>women timberland boots</h1> A great feeling
<h1>wholesale gucci shoes</h1> Online Sales