Getting Social

I’ve been working on integrating social media into my service composition work. My advisor suggested it as a way to add a little more kick to the work. I’m sure the fact that he’s teaching a class on social networks this semester has a little something to do with it as well.

The concept is pretty easy — find the pages for service providers on a social network, mine the information available to make a judgment about how that provider compares to others. I expected the hard part to be learning the APIs well enough to retrieve the information from the networks. Oddly enough, it seems that’s the easy part. The hard part is finding APIs for the various networks.

I decided to start with the 800 pound gorilla of social networking, Facebook. There’s an excellent and dead-simple API called RestFB that does everything I need and is easy to use. But because I”m (nominally) working with business services, I thought that looking to sites devoted to business reviews would be a good next step. Yelp was not a disappointment; they also have an easy-to-use search API. (These are both REST APIs, but are easy to use with thick clients as well.)

But that’s about it. Angie’s List doesn’t have a public API available, and don’t get me started on trying to learn anything from the Service Magic site — don’t waste your time on it. I still need to look at other organizations like the Better Business Bureau, but it looks like there’s not much out there for my purposes beyond Facebook and Yelp (I don’t want to get into trying to divine emotions from Twitter — that’s someone else’s dissertation.)

At the same time, I’m learning the Manchester OWL API so I can query an ontology to find potential service providers and read in their social network IDs. Luckily, the OWL API is also proving pretty easy to use.

But for now, I’ve managed to figure out how to find the service providers in an ontology, read in their Facebook ID, and get the number of “Likes” for that business from Facebook. Not too bad for a week’s work, given that I’m not a real programmer and I’m holding down a full time job.

Another Learning Curve

I met with my advisor about 10 days ago as the new semester started, and we discussed adding social network aspects to the paper I’m working on for the SRII Conference. So I’ve spent some time learning the APIs for Yelp and Facebook (as a start).

The good news is that the APIs don’t seem all that complex. Well, the Yelp API isn’t that complex; I haven’t worked with the Facebook API enough to make a judgment. Complicating the fact is that I’m writing thick client Java code, and these apps are both built on the assumption that it is other web sites that will be using their applications. The practical effect is that the responses I get are JSON objects that I’ll need to parse if I want to get at the information of interest to me. Not necessarily a difficult task, just a pain.

But I am making progress, so that’s a good thing.