OpenSocial Thoughts

Recently, I attended an OpenSocial Hackathon at Six Apart to learn more about the development efforts of Google and the various app developers. I thought I would share some of my notes from the meet up.

I wasn’t sure what to expect with the API that Google is developing. It seemed like a lot of people were unsure about what was going on with it since it dropped off the map. It seemed very real and that Google did have some engineers staffed on it and they were writing some code to support it. I think it dropped off the map because they are pushing for a major release (ver 0.7) that they want people to take seriously. The intermediate releases will not last long and will change so it didn’t make sense to push it.

Overall, I wasn’t too surprised with the what I learned. OpenSocial is just a spec for a Container to support (Plaxo, Myspace, Hi5, etc) and for Gadgets to expect (Rockyou, Slide, etc). So when a Gadget developer makes a function call, they can expect that call to be supported by the container (w/ some caveats..see below). Google is just helping develop the language used between a container and a gadget. So defining how a gadget can call a function to get container’s user’s friends (requestGetFriends).

Aside from writing the API spec, Google is developing some cool open source code to support OpenSocial. One piece is a javascript sanitizer called Caja. Another is a framework for people to quickly setup a site to act as a Container which they are calling Shindig. I wouldn’t be surprised if Google later offers some hosting / computing service (similar to amazon web services) to OpenSocial developers.

The API that Google is developing is a request-based model. From what I gathered, everything a Gadget developer wants to do (get friends, send messages, navigate to friends page) they have to issue a request to the Container before doing so. The container will support the request method, but they are not obligated / required to support the functionality requested by the Gadget. So if the gadget needs to be able to see friends of a user to work optimally, but the container denies / blocks that feature, the gadget is out of luck. Also, there really isn’t a good way for Gadget developers to link users on different Containers. The same user could have the gadget installed on 2 different sites (Bebo & Hi5 say), but to the Gadget company, its 2 different people. That would suck if I racked up a ton of points or whatever and couldn’t use them transparently.

Overall it seems kind of cumbersome for widget maker to develop apps / gadgets / whatever. It seems like the power is still in the hands of the Container site. Having to request every function to see if its available seems like a nightmare. It might not, but thats my impression. If my assumptions are wrong here, I’d be happy to hear about it if you have more experience working with the OpenSocial API.

We at Rapleaf love what Google and OpenSocial are enabling. We are strong believers in open systems and open data and we are pushing to build tools to progress towards these achievable goals. OpenSocial is a good step forward for what we are all trying to accomplish. It will be interesting to see what other strides are made as a result of OpenSocial.

  • Facebook
  • HackerNews
  • Reddit
  • Twitter
  • del.icio.us
  • Digg
  • Slashdot
  • StumbleUpon
This entry was posted in Google, OpenSocial. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Rapleaf Is Hiring!

    We are looking for engineers who want to solve challenging problems.

    We have great people, do great work, and have great perks.

    Know someone who might be interested? Refer a friend and get $5,000 for successful hires.

    See our current openings at
    www.rapleaf.com/careers