MTV Music API

Thursday, Oct 30. 2008  –  Category: Songbird

I’ve been futzing around and exploring MTV Music’s new APIs lately. In a testament to how easy both the MTV Music and the mashTape Provider API is (okay, granted, I’m biased on the mashTape one… but still)… I threw together an MTV Music Video mashTape add-on. This add-on adds MTV Music Videos to mashTape’s Video Tab… letting you see full-length, high quality original artist music videos.

All I have to say is that it’s awesome. MTV deserves serious kudos for opening up such a fantastic and powerful API free of the usual red tape and crap that many APIs come with. Honestly, I was expecting a much more restrictive API with badges, and app keys, and embedding restrictions ( iMeem, I’m looking at you), and all that. And, I’ll just say it… I had really low expectations given this was coming from MTV. My impression of MTV lately is that they just don’t “get it”. “it” being music on the Internet, and in the age of Web 2.0.

Fortunately I was horribly horribly wrong, and I’m quite pleased with the new API. The only thing missing is external script control of the player, which I asked about. Hopefully it’ll come soon.

mashTape and APIs

Sunday, Mar 30. 2008  –  Category: Songbird

Hacking on my mashTape extension has been a great way to find some wicked APIs and get the extension developer’s perspective on Songbird platform development. This morning’s hacking has made me realise we need a better way to allow extensions using display panes to set context for when their display pane should be visible. For instance, mashTape makes little sense when not listening to music. I’d love to be able to set something in my install.rdf, or in my display pane registration code to the effect of:

  • Don’t show when “not playing”
  • Don’t show in a non-media view (e.g. when I’m browsing the web, etc.)

I’ll have to think about it a little more and writeup a story/bug to figure out how I’d like to register this context for my display pane. Right now I’ve done it in mashTape through a combination of a tabbrowser select-tab listener, and a WebProgressListener, which seems like a lot of unnecessary work.

On the topic of APIs… I love Last.fm’s APIs, but it’s frustrating that their API for getting the artist bio information is incomplete. Perhaps it’s to drive traffic to their site (which is understandable), but I often get email requests to expose more of the bio information. Looking around, Freebase has got a wicked cool API, and they’ve somehow scraped Wikipedia’s great content into a bio/article for the artist. I’d love to use it… if only I could figure out how to get the bio! I played with their APIs for at least an hour this morning, and could grab all the information for everything except the “a.k.a.” and “bio/article” sections. Ugh.

Somehow I got from Freebase’s site over to DBpedia where they’ve built XML/RDF interfaces for Wikipedia’s content, and within 5 minutes I had a successful call to grab and parse out the full Wikipedia abstract text for artist bio, years active, etc. etc. I’m psyched. Now I just need to integrate that into mashTape and I should have a full artist bio.


Recent posts