What it basically allows you to do is to get access to user data stored on myspace. So it’s not like Google’s iframe solution but it’s really getting access to the actual data.
Technically it’s quite cool because they use open standards like OAuth and the OpenSocial Restful API to make this happen. This is quite clever as many people are working on OpenSocial support anyway and moreover OpenSocial defines an extensive user data profile (including basically everything you can define on social networks about a user). And OAuth is a standard which allows users to authorize these third party sites to get access to their data in a revokable fashion and without giving out their passwords to these sites.
The problem is on the policy side of things because as TechCrunch knows the Terms of Service does not allow 3rd party sites to store or even cache anything of this information except the myspace userid. The main issue here is that it defeats one of the main points of DataPortability which is:
The users should be in control of their data, not the services.
We did not officially agree on that but I think it’s a quite widespread opinion and I hope we can also soon officially agree on such things :-)
Of course the reason for not allowing this is also technical as this way it’s made sure that the data shown is always uptodate but it also makes additional service on that data complicated. Imagine you want to match interests, you then would have to read the interest fields of every user each time? And what happens to derived data actually such as common interests you might have discovered? Are you allowed to store these? Or do you have to recompute this every time aswell?
I think this makes it highly impractible.
Another problem is that it’s only a one-way street. You can read data from myspace but you cannot write it out again. Now if you want to write a service which changes some profile information on all your social networks automatically you cannot really do it that way (like your email address). It only supports the GET method as far as I can see.
What is needed?
I think two pieces are mainly missing:
- A protocol which allows you to inform other service of changes to your profile to allow caching and storing
- Some mechanism to keep data in sync to allow both read and write.
What it brings us right now
I think what it will bring is some boost to OpenSocial and esp. to use this not only for the purpose it was intended for (creating widgets/gadgets) but also to use the RESTful specification as a general data format for moving social networking data around.
For all those data portability efforts out there it might mean that a closer look and an implementation of the OpenSocial spec is needed.
Not a bad thing I guess as it’s so far an easy to understand and also more or less complete data set of social networking data.