This is what I saw the other day when I clicked on a movie title:
And today, the Times released its first API. How does one relate to the other? Because distributing programming over the Web and onto iPods is not the only way to embrace a digital future. You can let other people do things with your data.
Geistards™ are always calling for CBC to open up to the Canadian public all the archives it owns (or has the rights to; these are viewed as equivalent). Just like the BBC did! And they want the archives opened up under Creative Commons licensing.
By now you would expect I would have problems with all this. Not conceptually – public broadcasters’ “content” should be available to the public. And not just CBC’s – TVO’s, the Knowledge Network’s, everybody’s.
But proponents are making a Jack Valenti–style error here – assuming that video and audio content can be easily made available in bulk. It can’t. Implicit in the proposition is full-on digitization of content, which is inordinately expensive in bulk, takes acres of disc space (however inexpensive per gigabyte that might be now), has to be provided in multiple formats, has to be backed up and transcoded into the indefinite future, and – wait for it! – has to be accessible.
It would be cheaper if we just made you a VHS.
The whole thing is too big for the CBC to handle. It would need an entire new department with a large budget. That would require extra real estate, and we can’t have that. They’re having trouble keeping a certain department afloat as it is – let’s not add another one. And we’d need an all-new, customized copyright licence (not Creative Commons).
So if we’re going to clone something the BBC did in the name of public access to our “content,” can we start small instead? Like with program (not “programme”) guides?
The BBC Backstage project published an API for program listings, among other things. An API is documentation of whatever data is publicly accessible. You can refer to the API and write your own application to do something with somebody else’s data.
A lot of features on Flickr use the Flickr API, for example – “embedding” a dozen recent photos on one’s blog is one example; Moo Cards are another. (Recursively, Moo has its own API.) But even Flickr uses its own API for its own functions; the API is written for internal use first and later for outside use.
People have written dozens of little miniapplications using BBC data. Could it happen here? Yeah. And you wouldn’t have to lift a finger; somebody else would do the inventing for you.
For CBC, you could write your own little application (not necessarily for the Web) to list every show featuring Sarah Polley, every show not featuring Paul Gross, everything hosted by Patti Schmidt, every NHL game with more than five Canadian players, every movie for the next six months, the full Simpsons sked.
Real-world example I could actually use: A feed of all the late-night Canadian and foreign films. At present, they are broadcast in separate respective ghettos with barely any promotion. And when you try to look them up, you get something almost as bad as a 404 error message, as shown above.
When I say “you” wouldn’t have to do anything, I don’t mean that it would happen by itself. Somebody has to do it, and that somebody is the tinkerer-geek. Put enough of these people together and they’ll gin up something useful – just because they can. You in the viewing public can just enjoy the results.
Look at MyTTC.CA – they wrote their own API (in effect) and looked up their own data so they could write their own trip planner for Toronto public transit. That’s three times harder than writing a little application using existing data and an existing API.
CBC is just the sort of entity that tinkerer-geeks would obsess over. (You think they’d give a shit about an API from YTV? Or TV5?)
This is one or two or ten levels of abstraction away from an everyday user. But APIs aren’t for everyday users; they’re for developers developing for everyday users. (And themselves.) Make it technically possible to do something interesting and it will get done.
I.e., if you think this will never help “real people,” I have two words for you: “Facebook app.” Isn’t that why you’re on Facebook? For the fun little applications? Now imagine useful little applications built around CBC data. There’s actually a lot of data to work with here – think of every radio and television network in all languages, including RCI and CBCR3. It’s a good-sized playground.
So what do I want out of an API? Well, for starters I want an API to exist. I’m told that one is coming, at least for program listings. But cute, lovable Blake Crosby has already kind of blown it there, decreeing that nobody has any business looking at program listings from the past: “There really is no need to know what was on CBC.” Yeah, there is: What was that movie I channel-surfed halfway through last night? What was that program that aired without captions last Thursday? (BBC publishes its captions.)
(Besides, CBC can’t go around destroying records. Are we expected to file an information request to find out what was on TV last Canada Day?)
A CBC API was always a good idea. It just takes a lot of work, and CBC is not known for overstaffing its Web departments. But the mighty Times has done it, admittedly for a rarefied audience using rehashed public data. So has the BBC. Is that enough legitimacy? Can we finally act like great artists and steal?