We use a program called Myriad for all our broadcast automation, asset management and general playout purposes. It’s made by a company called P Squared, who are a very able and friendly bunch of people and who make ultimately a fairly decent product.
However, as with anything these days, a single app isn’t sufficient no matter how good the app is. The expectation to end users is that everything should play together nicely and you should be able to get data from A into B with a minimum of fuss. And as a developer, you clearly want to enable this- it means your app has more happy users, and if your app is commercial that translates to more cash. If you make a really, really good API then you can end up with a veritable ecosystem around your app; other companies pouring money into development, all supporting your business. So APIs are good for business.
But more importantly APIs are good for consumers. If you’re listening on your DAB radio or (in our case soon, with any luck) an RDS equipped FM radio, you want some metadata. Who are the presenters you’re listening to? What’s this song? Listening online? Then you want the song title. This is all pretty basic stuff we’ve come to expect thanks to media players on computers. If you’re a big company like the BBC you just adjust your tools and systems to support the APIs you need, or specify them in your requirements to outside vendors and get them to add support. But what about the little guys?
P Squared have made a good step in the right direction as of their last major release of Myriad; they added a TCP/IP interface that lets you query Myriad for some basic variables. Through a fairly bodged-together little set of scripts we can get data out of Myriad like what song is playing now, and what’s coming up. But it’s still awkward.
So I whipped up a little Sinatra webapp that does the appropriate little dance to act as a gateway to that awkward TCP/IP gateway from the land of HTTP. Everything speaks HTTP, or can be prodded to speak HTTP quite easily. It’s far and away the best tool for interacting between applications, since it’s well understood and simple to understand. Now I can have a script poke Myriad and our website’s API, combine the two, and suddenly all our metadata can be updated: “There Will Be Cake with James Harrison: Around The World (Radio Edit) – Daft Punk”. And while there’s absolutely no need to tell people the name of that particular song, we’re still adding a lot of value by providing more interactivity to our listeners through updated content. And hell, it’s just more professional. Click through for the scripts. Continue reading The importance of APIs in broadcast