« Previous | Main | Next »

URIplay released as free/open source software

Post categories:

George Wright George Wright | 10:27 UK time, Tuesday, 7 April 2009

Hi all

RAD's really pleased to announce that we've released some recent work as free/open source software. It's a project called URIplay. The code was produced in collaboration with the BBC by an indie startup called Meta Broadcast who pitched the idea to us some time ago. We've been working on this together over the last few months and are delighted that it can now be shared. The reference code release bundle is available at http://ftp.kw.bbc.co.uk/backstage/rad/uriplay/uriplay-bundle-revision-2877.tar.gz. It's important to note that since our reference release, there's been a lot of progress on new features (mentioned below) and development of that is taking place over at http://uriplay.org/download/  -  so go there for the full-fat code experience.

You can investigate RAD's reference URIplay implementation, see the richer version operated by Meta Broadcast or read the API and find out more about the ontology

URIplay allows developers to access information on media brands or programmes (from a wide range of sources) using standard data formats and API calls. This means, for example that if a blog post refers to a piece of content on the BBC Radio site, and the URIplay API is used, people looking at the page from outside the UK, or outside the current rights window for that piece of content, could be provided alternative options - be that a pay-for aggregator, or information about when it's on next, or many more options (if they exist - This system can't create the rights to distribute content where the deals haven't been done!), and depends on upstream providers to make their content available in sensible formats and publish their URIs.

It currently works with a number of different content sources:

  • Podcasts and YouTube data through the same interface
  • Read data using standard RSS or RDF libraries.
  • Get context from Wikipedia,
  • Look items up via their iMDB links
  • Include data from the live web, via Twitter search. For example, what's hot on YouTube
  • Subscribe to links in iTunes (e.g., this aggregate podcast made from an OPML file of interesting stuff) and in Miro (e.g., this list of the latest YouTube videos discussed on Twitter--paste it into Miro's box titled 'Add Channel').
  • Follow links to other sources of data, such as MOAT and Freebase.

It's built on the fantastic work done by the team in BBC Audio and Music around /Programmes and is meant to be extendable for new uses we haven't thought of yet.

It returns RDF or RSS XML, and it's a strong follower of Web inventor Tim Berners-Lee's suggestions around Cool URLs not changing and Linked Data

It can operate as a federated service, allowing a number of different URIplay instances to run on different servers - querying the correct server for the correct information set. It doesn't store any data itself but queries its upstream data sources.

It's written in Java and we've had it running on Debian GNU/Linux and tested/ deployed on RHEL/Centos, but should run on any sane Java stack. A more detailed README around deployment/ real world war stories is coming this week.

We've used the Apache 2.0 licence, to allow the most widespread use possible for the code that we are contributing. This means you are free to use, modify or adapt this code for your purposes.

We're using URIplay in a number of our prototypes including our work on Totem/ Ubuntu, P2P-Next, and our recommendations system. We'll be going into detail about these soon.


There have been no comments made here yet.

BBC navigation

BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.