tag:blogger.com,1999:blog-7172827.post-12866831115847836622007-11-03T15:34:00.000-05:002007-11-13T21:53:38.613-06:00The Social WebOne of the strongest concepts behind Web 2.0 has always been "community and participation". We are seeing it quickly take over everywhere. Think of del.icio.us, Flickr, YouTube, MySpace, Facebook, Twitter, Jaiku, etc. They all have one thing in common, they are social sites where the community can actively participate.<br /><br />They are so open that each site has it's own API (except MySpace currently). They expose their data and services for me to engineer something that augments both their site and my site or application. A small little culture of Mash-Up applications and events even popped up. At these events programmers take the separate API's and mash them together to create something that combines two or more things like say Twitter and Flickr. Even I got on bored with <a href="http://whirrl.com">Whirrl.com</a> by mashing Google Maps, Yahoo! Maps, Twitter, and Jaiku into a BlackBerry GPS service.<br /><br />Funny how you lose site of the obvious so easily. Facebook brought me back to reality very quickly. Although the API's allow the data and some functionality to be used, in reality they are all different. For Whirrl.com I didn't want to stop with Twitter and Jaiku. I wanted to add it to any social service with a "status" or "activity" message. The obvious first choice currently is Facebook of course. However when I started to dig into the Facebook API I quickly realized that, unlike Twitter and Jaiku, this would not be a simple task.<br /><br />You see Facebook touts it's developer friendly API as one of it's strengths. The truth is that those interfaces are there for one purpose only, and that's for Facebook. As a developer the only thing that I can do with the API's relatively easily is add things to Facebook's site. If I want to use their API's to add some Facebook features to my own site or application things suddenly become much more of a pain.<br /><br />In my opinion Facebook has literally taken the Web 1.0 concept of a walled garden and brought it full force into the Web 2.0 world. That leaves a seriously bad taste in my mouth. So for right now, any Facebook integration is on hold.<br /><br />But never fear! Google to the rescue! Google has just released some of their API's for what they are calling <a href="http://code.google.com/apis/opensocial/">OpenSocial</a>. Unfortunately it's currently missing the Activities Data API, which is the one that I want. I'm sure they will release it soon though. The whole point of OpenSocial is to defeat this disparate API problem all over the Web right now. From the OpenSocial web page:<br /><br />OpenSocial provides a common set of APIs for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds.<br /><blockquote><br />Many sites, one API<br /><br />Common APIs mean you have less to learn to build for multiple websites. OpenSocial is currently being developed by Google in conjunction with members of the web community. The ultimate goal is for any social website to be able to implement the APIs and host 3rd party social applications. There are many websites implementing OpenSocial, including Engage.com, Friendster, hi5, Hyves, imeem, LinkedIn, MySpace, Ning, Oracle, orkut, Plaxo, Salesforce.com, Six Apart, Tianji, Viadeo, and XING.<br /><br />In order for developers to get started immediately, Orkut has opened a limited sandbox that you can use to start building apps using the OpenSocial APIs. <br /></blockquote><br /><br />Sounds very promising, we'll see how it plays out.Andrew D. Goodfellowhttp://www.blogger.com/profile/05305223415570458316noreply@blogger.com