[an error occurred while processing this directive]

learning.now: at the crossroads of Internet culture & education with host Andy Carvin

[an error occurred while processing this directive]
July182008

Going Ape over APIs

When educators talk about Web 2.0, they often focus on the community and publishing aspects of it - social networks, blogs, user-generated content and the like. And while these tools come in a wide variety of shapes and sizes, there’s often one important thing they have in common - something most educators probably haven’t heard of. It’s called an API, and it helps make the Internet the rich, interconnected ecosystem it is today.

Perhaps we should start by taking a quick look at the Wikipedia definition of API:

An application programming interface (API) is a set of declarations of the functions (or procedures) that an operating system, library or service provides to support requests made by computer programs….

On second thought, let’s not - it’s just too technical for those of us who aren’t programmers.

In the simplest terms, an API is a way for two online tools to exchange information from one to the other so it can be used in new ways. Take the photo-sharing website Flickr. On its own, Flickr is a pretty powerful tool - it lets you post a personal profile, upload photos, tag them with keywords or geographic locations, create groups to share photos with other people, etc. For a lot of people, Flickr’s features are more than enough to keep them busy with their photos, but others may want to push the envelope and develop new tools.

Enter Flickr’s API. It’s basically a set of instructions for people with a bit of programming skills to tap into the content contained within Flickr, including all of those profiles, photos and tags uploaded by its millions of users. The API allows programmers to develop entirely new applications that take full advantage of all of that content and present it in ways that the people working at Flickr might otherwise never attempted. In other words, they’re able to create interactive mashups based on Flickr data.

The website Programmable Web, which tracks APIs and mashups created with them, lists literally hundreds of mashups that have been developed for Flickr. Flickr DNA, for example, will display all sorts of interesting stats for any Flickr user (here’s mine). Flickrvision takes the most recently uploaded Flickr photos, figures out where they were taken, and plots them on a Google map. AlphaLearnr is an attempt to help kids learn to read by automatically generating photo sets of objects beginning with a particular letter of the alphabet.

And that’s just one website. Many popular online services, from YouTube to del.icio.us to Twitter have APIs. ProgrammableWeb is currently tracking more than 800 APIs and 3,000 mashups created from them - and there are probably a lot more out there.

Even public broadcasting is getting in on the act - just yesterday, NPR launched its own API, which will allow programmers to tap into more than 250,000 news stories created over the last 13 years. For those of you who don’t know, my day job is with NPR, and I’m really excited about the API launch. As my colleague Dan Jacobson, who runs NPR’s software development team, wrote on the Inside NPR.org blog, “There are only a few of us but millions of you.” In other words, the number of things NPR’s small developer team could do with all of this content is relatively limited compared to the collective creativity of countless programmers who might tap into the API and create new tools out of it.

And it’s not terribly difficult to get started. For example, I was curious to see what recent stories NPR had done covering the digital divide, so I used the API’s query generator to create this widget:

With a bit more programming skills, you can come up with snazzier offerings, like this one, which displays the latest NPR stories on a globe:



What are people going to come up with next? I have absolutely no idea. But all of this got me wondering how educators might take better advantage of APIs for their own use in the classroom. Granted, most teachers aren’t programmers, but a growing number of schools, particularly high schools, teach basic programming. It would be very interesting to see some of these programming classes take on mashup projects that have been commissioned by teachers and their students, not unlike a company commissioning a software vendor to build an application for them. Basic mashups that tap into APIs like Flickr, Google Maps or NPR could be used in a variety of creative ways in classrooms, so why not have students doing the mashing? -andy

Filed under : Cool Tools

[an error occurred while processing this directive]