Data Portability or Availability?

I've been looking around the last couple of days at all of the announcements regarding the latest buzz word "Data Portability". It is interesting to see all of the major social players moving into the realm of data availability. This is much different then data portability, and should not be confused. Somehow it's been interpreted as the same thing. To most people it would just seem semantical, but it's really quite different.

Anyhow, it's interesting to see the competition and collaboration going on between Facebook, Plaxo, Myspace and Google in this area. You can read about facebook's platform "Facebook Connect" here. Myspace announced their platform Myspace Data Availability here. Google is planning on coming out with "Friend Connect" for OpenSocial, detailed here.

On a related note, it's ironic to see LinkedIn falling further behind the times in terms of their platform. I've really wanted to play around with their API, but it's completely closed to people that don't work for big companies. Right now they are only interested in PR. While they keep posting blogs and videos about their various integrations in to big named companies, I still have yet to see them announce (or even say for that matter) when they will open this up to developers as a whole. They have a ridiculous note at the bottom of each of these API posts that says if you are interested to contact them. However, when you do, there isn't even a generic reply sent back and I never got a reply back from a person. Logic would dictate that you have a few people dedicated to this email account, however it appears that only their lead guy gets them.

This is all well and good and I'm happy for LinkedIn. Really though, when will they learn that opening up something like this to all developers will begin to push them back into competition with the other social sites out there. Facebook has already started stealing LinkedIn users based on what I have read. Anyhow I guess this is turning into a rant so I will stop. It just frustrates me to no end when I read about an API, but it's all about PR and not really allowing developers access to use it.

On another side note. I looked around at the different LinkedIn implementations on the web. The javascript version could easily be put on any site. I tested it out from some websites I have and it worked great. They probably also have a server side API that is used by some of their partners.

Once again!

The Real JoeDeveloper

kick it on DotNetKicks.com


0 comments

MyspaceToolkit

After spending the last 10 days working off and on against the Myspace Developer Platform (MDP), I have released an initial version of a toolkit (class library) that integrates into the platform. It specifically integrates into the REST API's exposed by myspace. Eventually, I seeing the toolkit evolving with the platform and providing much of the same functionality that the facebook toolkits have provided. As long as there is a similar method by which myspace will allow developers to host pages on an external site and then setup a callback url everything will run well.

Some of the things that I wanted to get done with this library was the basic framework for posting the variables to the MDP API endpoint. It currently has not exposed a highly abstracted layer which would make calls to this request layer. I will be implementing this so that it is quite easy for any developer to access the data needed.

Some of the challenges that I faced while developing this toolkit resided with the authentication method that myspace is using. They are using the OAuth routine which is fairly new to authentication schemes. The general purpose behind it is that you can authenticate users without needing a username or password. You would need to use another piece of data to authenticate them other then a username or password. Then based on a some variables most importantly consumerKey, consumerSecret, Timestamp and then the method to generate a unique signature, you would be able to verify on the serverside that the request is valid based off of this unique hash using (HMAC-SHA1) and converting the result to a Base64 string.

I utilized an existing .NET class library (http://eran.sandler.co.il/ & http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs) that followed the spec to what I believe is exact. However, the class didn't seem to produce a valid signature and web address according to responses I was getting from the MDP API. You can read about all of my issues here. Needless to say after a few days and many forum posts and plenty of breakpoints I found all of the issues.

It mostly had to do with the way in which the query strings were being URL encoded as well as how the signature was being encoded. Once that was resolved making calls to the Myspace API was a breeze. Now, I'm looking at cleaning up the toolkit to provide that abstract layer in the form of a class called MyspaceClient. This would allow a developer for instance to make a call like:

MyspaceClient mc = new MyspaceClient(String apiKey, String consumerSecret, ... etc);
Datatable dt = mc.GetFriends();

I'm thinking of making it deserialize JSON if that's what is selected to be sent back, otherwise it would be deserializing and serializng of the XML.

Feel free to comment and send me your questions. Additionally, if you would like to join this project just shoot me your contact information to joe [at] joedeveloper [dot] net

Thanks!
Joseph Farrar

kick it on DotNetKicks.com


3 comments

About Me

JoeDeveloper is a great group of developers doing some cool stuff.

Call Me Now

Recent posts

Recent comments