So Google made a big announcement last week about OpenSocial.  I saw that as something very interesting because, as I read about it, it became more and more clear that it was really something big.  I have always been a proponent of open standards in software especially with coming from Mindjet with it's open file format and working with the Open XML file formats.  In my opinion they seem to work best when crafted by a single entity and then opened up to the world, not designed by committee.  That's what I see now with OpenSocial. 

Google with its Orkut online community (a closed-source ASP.Net application) created an API for social applications so that developers can build applications that can then run inside other social networking applications.  They then opened up the specification for that API to other social networking applications so that all other social networking sites can (if they want to) make their sites containers for third-party applications.

So I started playing with it.  I got an Orkut sandbox account; This Orkut sandbox is the only container available today to host applications, but I expect more to go live in the future.  If you're interested, here's how you build an application.  It's actually pretty easy, they're just HTML, XML, and JavaScript.  That gave me an idea.  Since HTML, XML, and JavaScript are the foundations of Silverlight 1.0, I thought I'd try to create a Silverlight OpenSocial application.

I made a simple application with an animation that gets the friends of the user and lists them; your Hello World of Social Networking applications.  Right now, I'm a loser with only one friend on Orkut and I hope this post will change things for me! It's nothing much but it was fun to learn a new API.

If you want to see the application code, it is here.  If you want to try it out in the Orkut Sandbox or any other OpenSocial container, here is the URL:

http://hosting.gmodules.com/ig/gadgets/file/113009390747258006757/SilverlightOpenSocial.xml

The Big Question:

So what kind of real social networking applications would Silverlight enable?  Would it be network visualization or media playback or mash-ups.  I realize now that it would be very easy to put Popfly mash-ups or even Silverlight Streaming applications into OpenSocial applications as well.  What are your ideas?

image