Posts Tagged ‘api’

Facebook Wants To Control The Social Graph

October 7th, 2010 - Jeff Turner

We knew there was a reason the Facebook personal profile API was so limited.

A few months ago we were approached to build a Facebook app that would collect data about the conversations taking place in a persons personal Facebook stream. The goal of the app was to help someone identify who they were having conversations with and who they were not. It would alert the user to communicate with someone if they hadn’t poked, commented, like or messaged them in a period of days or months. It was something we had talked about internally and at conferences many times, so we set out to create it.

Not so fast. I’ll reserve comment on the sketchy documentation in the Facebook API, that only slowed the process. But after several attempts, it quickly became apparent that Facebook was purposefully limiting access to certain actions in the personal stream. We could not track, for example, we could not successfully pull back the correct number of “likes” on videos and photos. And we found this reported by many in the developer forums. While those are seemingly insignificant actions, the simple press of a button, not being able to get to that kind of data made creating an accurate picture of interaction impossible. So we stopped trying.

Listening As A Strategy

I’ve been speaking a great deal recently at various conferences about listening in the social media space and writing about the need for better listening tools. I try to make the best use of what’s available. Example: I use Facebook’s friends list feature extensively. It helps me segment conversations and listen with intent. When I ask audiences if they use it, the vast majority answer “no.” Mark Zuckerberg confirms my anecdotal findings in the video below.

Tell me who my friends really are.

Last week I spoke in Virginia and related our Facebook app story to the audience. I said at that time that an effective form of social CRM would be a killer app. In truth, no matter how many “friends” you have on Facebook, you only communicate with a small subset of those friends. Who do I pay the most attention to? Who pays the most attention to me? Who pays no attention to me at all? This is valuable information, especially if I’m attempting to be somewhat purposeful in my networking.

The value of identifying the connections in the social graph has not been lost on the Facebook team. They want to control the social graph. They’ve been mapping our conversations without the limitations of their API all along and have created “an index for each relationship.” And they are now ready to tell us who our friends really are.

I’m actually looking forward to seeing what they’ve come up with, whether I like it or not. Are you?

Why Should You Care About An API?

March 31st, 2010 - Jeff Turner

Last week I spoke at RETech South and my first presentation was directed at Broker/Owners of real estate offices. After the session, I asked a trusted adviser to give me a harsh critique. They didn’t, but  they said something to the effect of, “I think you need to stop using acronyms that are comfortable for you, but foreign to your audience, like API.”

What they were referring to was a point in my talk where I advised the audience members to stop looking at the apps and tools put out by developers as an end unto themselves. Instead I wanted them to start asking the question, “how could I use the ‘ideas’ behind their tools to accomplish my specific goals? Does their API provide a path to use their tool in ways the creators would not have imagined?” As I write that now, I understand that I should have explained further.

So, let me explain further. First, API stands for “application programming interface.” It’s a way of explaining how different software applications communicate with each other. So, if you want your website or tool to interface with another website or tool, the API tells you how to do that and let’s you know what is and is not possible.

Now, the interesting thing about how most API documents are written is that, in many ways, even a non-programmer can get an idea of what’s possible. And this is why you, as a non-programming business person should care. Because if you know what’s possible, doors to new ideas and creative uses may open up for you. Here’s an example.

The Foursquare API

Much to my dismay, Foursquare doesn’t appear to be going away and among the current location-based social networks, it is the leader. But if I’m a business owner, in this case a real estate broker, I don’t want to just sit back and wait to see how the developers at Foursquare are going to move their platform forward. I want to take advantage of the network and make it work for me. First step, understand what it will let me have access to and make sure how I want to use the data is within the limits of their terms of service. The terms are simple enough to get to. Their terms of service are clearly displayed on their API page.

How can I tell what I have access to if I’m not a programmer?

I think most people will be surprised at how much “human-readable” text is contained in a well-done API document. Here’s a section of the Foursquare API that is under the category – “Check-in Methods.”

Checkins

Returns a list of recent checkins from friends.

If you pass in a geolat/geolong pair (optional, but recommended), we’ll send you back a <distance> inside each <checkin> object that you can use to sort your results.

Some notes on how to parse each <checkin> block:

  • if <venue> exists, it’s a check-in to a proper place.
  • if <venue> and <shout> exist, it’s a check-in to a proper place with a shout.
  • if only <shout> exists, it’s a shout (no check-in). shouts are like callouts or tweets to your network. they need not be tied down to a particular place. it’s useful for sending messages like: “hey who’s up for hanging out later tonight?”.
  • if no <venue> or <shout> exists, then it’s a silent check-in (“off-the-grid” as we like to say). this shows up in the timeline so that you know the person is out and about (to make it easy to meet up after they are done with whatever they are doing. it’s useful for stuff like dates, business meetings, etc).

URL: http://api.foursquare.com/v1/checkins
Formats: XML, JSON
HTTP Method(s): GET
Requires Authentication: Yes
Parameters:

  • geolat – (optional, but recommended)
  • geolong – (optional, but recommended)

Even if you’re not familiar with programming, you can learn several things from this section. A quality high school education is probably a good start, but I don’t need  to understand the formats, http methods or how to pass along the parameters to see that if I “pass in a geolat/geolong pair” that Foursquare is going to tell me how far away <distance> each place I can <checkin> is from my latitude and longitude. I know that my phone can figure out where I am and that a programmer can figure out how to get that information from my phone.

So, I now know that I can use the Foursquare API to deliver information about where I can check-in. In the next section of the API it tells me what I can do when I get that information. I can make a “shout” and send it out to my friends. I can check-in to one of the venues they send back. I can create a new venue and tell them about it. Just like I can do with the Foursquare app.

But this is where it gets cool. As long as I’m within the terms of service, I can then use that data to distribute information to places that the Foursquare app might not provide. Where might that be? Other websites? Other tools? I don’t know where it is for you, but you might. I know where that knowledge leads me. And armed with a better understanding of what’s possible, you may be spurred to create a new use for the tools, one that the developers never saw coming.

This is why the API is made public. This is where innovation lives. Diversity – of thought, experience, and need – provide the energy required for growth and change. It’s the beauty of an open system. And I believe that the missing ingredients in fueling commercial growth are the thoughts, experiences and needs of the average business owner responsible for making these tools work for their business.

So, do yourself a favor and take at look at the API of one of the tools you like using. Spend an hour studying it. Read past the programming jargon and sift through the text that feels like common English to see if it sparks some creative juices. I think you might be surprised.

And let me know how it goes. :)