I was just ordering some moo stickers to customise my Olinda social radio after Matt and Jack discovered that the stickers fit perfectly in the little "window" for each friend. So I was thinking about what pictures I might use. And we've previously thought about one of the friend slots on Olinda actually being an automated recommendations robot - so the light goes on whenever a radio station is playing something you might like.
And I realised that you can hack Olinda. Maybe you want one of those friend lights to notify you of new email, or tweets, or your doorbell, or any other geeky alerts you might have. Or it could remind you that your plants need watering or that it's someone's birthday. Or as Matt Jones just tweeted "can you hack Olinda to switch over whenever George Lamb is on?". No comment.
And the way we've built it means that you can do this. There's a backdoor API to Radio Pop - the social listening service that Olinda uses to communicate with other radios. Basically you hit a particular URL with some data (sorry, can't tell you, it's secret) representing which Olinda this is and the station ID that you are listening to. But as Radio Pop is BBC only (for now), any non-BBC station IDs are not stored in Radio Pop but just get transparently passed on to any friends' Olindas. Now, Olinda won't know what to do with a random ID, but it doesn't matter, it will still turn the little light on. So I can go to Radio Pop, configure a dummy user to represent my alert, write a little script that pretends to be an Olinda and posts every time I want to be alerted, choose an appropriate sticker and sit back and wait for the light to go on.
Leave things a little bit open. Publish the APIs. And make things hackable.
I've recently been working on Olinda, a project to build a new radio that includes features inspired by the internet but incorporates them into a physical device. Enabling social networking around radio, providing modularity and APIs for radios and incorporating thinking around hackability and adaptive design in products. You can read about Olinda in detail on the Radio Labs blog or at Schulze & Webb. Anyway, here I just wanted to note down some thoughts which I haven't written about elsewhere.
If you've read anything by Bruce Sterling you've probably heard about spimes. His book, "Shaping Things" introduces them in a very readable fashion. Some brief quotes, somewhat selectively:
"SPIMES are manufactured objects whose informational support is so overwhelmingly extensive and rich that they are regarded as material instantiations of an immaterial system. SPIMES being and end as data. They are designed on screens, fabricated by digital means and precisely tracked through space and time throughout their earthly sojourn." [Shaping Things, p.11]
"The key to the SPIME is identity. A SPIME is, by definition, the protaganist of a documented process. It is an historical entity with an accessible, precise trajectory through space and time." [Shaping Things, p.77]
"In an age of SPIMES, the object is no longer an object, but an instantiation. My consumption patterns are worth so much that they underwrite my acts of consumption." [Shaping Things, p. 79]
"A Spime is a location-aware, environment-aware, self-logging, self-documenting, uniquely identified object that flings off data about itself and its environment in great quantities. A universe of Spimes is an informational universe, and it is the use of this information that informs the most exciting part of Sterling's argument." Cory Doctorow on Boing Boing
"These UFOs, which Bruce Sterling labels spimes, are objects precisely located in space and time. They ingest their own metadata. They accumulate histories. They network with peers. They are scary, infinitely complex and almost inconceivable." Peter Morville, "A Garden of Forking Paths"
So one interpretation of a spime is an object that is connected to the internet and creates data about itself and its behaviour. Although not meeting all the above criteria, particularly around the production aspects which are core to Sterling's vision, I think of Olinda as a radio spime. Think of the self-publishing, data-producing, uniquely identified, connected object. Olinda is a uniquely identified object (we use its MAC address), it's aware of what its owner is listening to (cf. the adaptive favourite station tuning) and it's on the internet (cf. the social listening module) throwing out data; publishing and logging the listening that happens through it (cf. the connection to our Radio Pop website). I think that might qualify as a spime.
I've also been thinking about some questions about how the listening data should be published from Olinda and I know that others are thinking very similar concepts might work in practice. Here are three scenarios:
1) Olinda sends listening data over the internet to an aggregator. The aggregator may collate data about a single user's listening across many devices, or collate lots of users' listening, or both.
2) Olinda sends listening data over the internet to an intermediary which publishes that data in a form that is consumable by others, including sites like the aggregator above. The intermediary is effectively a unique website for that Olinda radio.
3) Olinda publishes the listening data itself. Using an internal web server it becomes an active, addressable object on the internet. I guess that's a closer to a spime.
The current iteration of Olinda actually defaulted to sending data to an aggregator (Radio Pop), because that was simpler for Matt to code and didn't require Olinda to run a web server on its own hardware. I don't know which is best, I haven't thought about it enough, although I'm attracted to the third option but it's probably not practical in the short term.
And what forms of data should Olinda be publishing? RSS or another XML based format? HTTP or something more light-weight and synchronous? You'll see more of this in our forthcoming Radio Pop prototype - RSS feeds, custom XML for more detail, APML for attention profiles and OAuth for authorising the creation of this data.
Finally, I hope it's obvious that all of this potentially applies to TVs and other media.
I'm going to be talking at Radio on the Brink, sorry Radio at the Edge (urgh - no deep linking on that site) on Thursday. It's a Radio Academy event discussing the issues facing the radio industry in the future. My talk is entitled "Radio for the Facebook generation" and I'm going to be looking at consumers and the audience, social networking for radio and a new radio we're building. Right now I'm finishing off writing the presentation and checking the timing - all looking good so far.
At work I've just pressed the button to publish the first post on our new blog - BBC Radio Labs.
It's intended as a place where my department, BBC Audio & Music Interactive, can write about what we're working on, look at developments in music and radio in the digital world and show some of our prototypes for new sites and services. The last one is particularly exciting as it finally will give a proper BBC home for the prototypes and betas that my R&D team develops.
The blog is aimed at developers, designers, students, radio and music fans and anyone else who is in interested in our work and I've signed up a number of people in the team to write on it (see the first post for more details). What I really want is for the new blog to be eclectic - we'll be writing about what we do, how we do it, prototypes, betas, technology, design, innovation and all the new things that are happening online with digital music and radio. But one thing it isn't going to be is just another product announcement blog. I hope you like it.
Do any DJs use iTunes, last.fm or similar services to listen to music, outside their broadcast shows? Some of them must do. Or is everything they listen to unreleased white label 12"s? Anyway, wouldn't it be a great service if you could "tune" into what they are listening to right now? I suppose it would be extending their show outside its current temporal boundaries. It could be timeshifted as well, doesn't have to be live.
I was thinking about this as I've been listening to songs through iTunes and last.fm all day and somebody else should be able to tune into what I've listened to. OK, so no-one is very likely to want to do such a thing for my listening (well, unless you're a fan of classic 60s Impulse, new UK jazz, instrumental hip-hop and Gilles Peterson, in which case I've got excellent taste), but they might for a DJ or a record producer.
Does anything do this already? I know last.fm is close - it shows you what people are playing, and plays a stream of random music from other their profiles. But it doesn't do a stream of what they've just listened to, rights problems I guess.
Matt has just posted on the S&W blog about Olinda, a project that they are doing for BBC Radio - building a fully working digital radio with built-in social networking, hardware expandability and some interesting form and interface ideas.
Obviously it's really interesting in itself but we also hope that it will inspire and lead the digital radio industry down some new avenues with their future products. And, as Matt says, to enable this we will be making the IPR of the design and ideas of this radio available under an attribution license for anyone to use - open source hardware.
I went over to see Matt and his circuit boards earlier today and I can assure you that the DAB and wi-fi chipsets are working. Their next stage of work is to put it all together. Very exciting.
Oh, and the social "now listening" site he describes is Radio Pop (see previously), with some specific additions. Which we need to add. Quite soon.
Update: You might be reading this post because of the Olinda radio. Unfortunately we've had to take down the demo of Radio Pop because it wasn't scaling. The good news is that we've been re-building it and it should be ready for launch very soon.
Allow me to introduce the latest prototype from Audio & Music Interactive and the R&D team...
Radio Pop enhances your radio listening. Enabling you to create a personal record or the programmes you like, and see what your friends and everyone else is listening to.
So if you want to tap into your amigos, let your pulse spread the good vibrations, and feel the buzz from the crowd - register for Radio Pop. The radio service of tomorrow, today!
In this post I'm going to tell the story of how we developed Radio Pop - the idea and the prototype - and where it could go next. Or you could just go straight to the prototype.
BBC Audio & Music Interactive, and bbc.co.uk, has generally focused on quite ‘heavy’ interaction. Things that require a bit of a commitment and effort on behalf of the user, things like tagging, messageboards, comments and submitting content.
At the other side of the spectrum we wanted to look at doing something ‘lighter’ and more implicit. The BBC does some things like this - rating on the BBC Film Network and simple yes/no votes on the BBC Action Network. Something that didn't really require the user to do anything much extra - maybe tracking activity around our site or creating an Amazon-like "Page You Made". And while we were doing that maybe trying to show radio's sense of liveness and community on the web. To emphasise how powerful light-touch participation can be it is worth thinking about the supermarket loyalty card. Just by tracking what we buy supermarkets can use that data in many powerful ways. What might a BBC loyalty card be like?
It worked like all our projects this year, we took the theme of light user interaction and ran with it. Brainstorming and forming ideas for the first week or so before prototyping something in the remaining time, approximately 6 weeks. As usual, I begged and borrowed a team from around the department. We ended up with a team of 8, unfortunately not all at the same time, so this is my attempt to visualise the team over the 6 weeks.
The team featured... Yasser Rashid and Sean McVeigh on the design. Chris Bowley on the coding of the application (Rails) and the site (HTML/Javascript/CSS). Nick Brownlow, Tyrone Samuels and Matt Harvey worked on the idea, its development, the language used and generally helped out. I've also borrowed some of Matt's and Yasser's parts of the final presentation here. Sacha Sedriks stepped in at the end to help with the Flash. And I ran the project and learned a bit of ActionScript to build the Flash graphs and charts.
We started by looking at how the user might interact with radio listening and used an OS X widget as a starting point. Widgets, small self-contained applications that are focussed on one task, were particularly practical for us because we could link to the live BBC radio streams for listening but they are quite personal - sitting on a user's desktop - and allow interaction.
We looked at something that had two means of participating, what we called "lean forward" and "lean back". Lean back participation is something which takes place without you having to do something actively, it is implicit and your actions imply a form of choice (eg. if you spend an hour each day looking at business news, it's fair to assume that you are interested in business news). Secondly, more explicit, lean-forward interaction involves some active participation, from something as simple as 'expressing your love' for a track on last.fm, to leaving an album comment on a review. In the case of the widget pressing the “hit” button shows your expression of interest in the current programme or track.
And from that really simple implicit and explicit interaction data we could build many products and services. Diaries of what you’ve listened to, ownership and downloads of your listening history, personal and community data, visualisation of the data and instant feedback all over the web.
To enable these ideas we started work on the Presence Engine - a platform to store information about what radio programmes people are listening to - their "attention data".
Inputs to Radio Pop could include the Radio Player, radio listening widgets, Facebook radio players or even digital and wifi radios. I've divided the possible outputs from Radio Pop into two sections. The presentation of your personal data; member pages, widgets for blogs and items in your Facebook minifeed. And the presentation of public, anonymous, mass data; how many people are listening on Radio Player, aggregate charts and graphs, most popular programmes on a radio station etc.
We defined APIs for input and output, this enables the BBC, third parties and even users to build new ways to input data and new representations of the data. And this helps make Radio Pop loosely-coupled and part of the web of data. The event data (i.e. when a user starts or stops listening) is provided in Atom and in a custom XML format and all the aggregate statistics data is also custom XML - there's more information on the API page. If we develop this further I'd look at implementing support for some standard attention data formats like APML, the Attention Profiling Markup Language. The data is currently restricted to live listening and stores events for people when they start listening, stop listening, continue listening (a "pulse") and when they express interest. All events are time-stamped and associated with a radio network so we can link them to what show was on or what track was playing at the time. All the data is made public by default but can be made private, though obviously that restricts what can be done with the data (no RSS feeds or widgets for example). The database includes a model of “friends” so users can see their friends' listening habits, individually and in aggregate. It was all built by Chris using Rails and runs on Amazon EC2 servers.
Meanwhile Yasser and Sean were looking at how to communicate and visualise the idea. They started by looking at a widget for tracking your listening. Tyrone built up a mood board for a BBC 1Xtra widget and Sean turned this into some original thoughts of how the widget may look. They then turned to developing a language to talk about the system and the actions. Starting with “agora”, a Greek meeting place, they looked at related words, “voxpop”, “diary” and “rendezvouz” before turning to describe the aspects of the service. This led to a vocabulary around pop, bubbles, buzz, hum, pulse and tap and also inspired an initial visual language using circles and bubbles. A key aspect of this was the use of the word "pop" for the action of showing interest in a programme or track and "Radio Pop" to describe the whole site. This was an initial sketch of part of the interface - live listening statistics for a radio station that animate as you drag the timeline at the bottom. At this point we also decided to incorporate the new BBC radio station logos which have started to be rolled out across the BBC radio websites. They are clean, simple, circular designs that work really well, for example, as bold, simple barcharts and fitted well into the bubble aesthetic. Next up was the site design and structure, based around the language we’d identified. A "you" page showing your data. A "tap" page, letting you tap into your friends’ listening. A "buzz" page showing everybodys’ data and a "pulse" page for downloading the widgets and applications that contribute to the pulse of data in the system.
You can play with the live prototype of Radio Pop here. You do need to sign-up but all we need is a name and email address. If you want to add some friends then you'll to get them signed up too. Or you can add me, tristanf, if you want. Alternatively, let me take you through the site.
This is the homepage which you see if you’re not signed in. The Flash animation at the top shows some statistics from all the users of Radio Pop - the size of the logo is relative to the number of listeners to that network. See how the new logos really work well here?
Having signed in you’re taken to the You page. This is where all the statistics and data we've collected come into their own. A stacked bar chart along the top shows your listening by network for the past week. The overlaid and scaled logos show the same data in a more abstract way. Below this are your most listened to radio programmes, since you registered, and your most listened to networks. Finally there’s a panel showing your most recent “popped” items - remember that's things you particularly liked or wanted to bookmark. You can also go to a page to manage your listening data and subscribe to an RSS feed of your recent events.
From your page you can move on to see the collective data from all your friends in Tap. This shows identical charts but this time based on your friends’ listening data. This page also allows you to manage your friends, adding or removing them. Finally there is the Buzz page showing the collective data for all the users of Radio Pop. In the time we had we weren’t able to integrate Radio Player listening directly into the prototype. Instead there is a Radio page where you can listen to Radio Player live streams while posting attention data and popping the interesting bits.
The Pulse page provides a number of widgets to be downloaded. There is a 1Xtra OS X widget for listening to 1Xtra (including the station's LiveText, a first for our widgets I think). Chris also developed a blog badge which you can embed in your blog, MySpace or other web page that displays in real-time what you are currently listening to. Here's mine (though it won't show anything unless I'm listening right now)...
In our department we've had a really good response to this, I guess this is partly because everyone can see how it is relevant to their bit of BBC radio, but also I suspect it's because it appeals to the inner geek in us all. Whether Radio Pop, or a similar concept, would appeal to the listening public remains to be seen. I suspect it's of more relevance to stations like Radio 4 where the variety of programmes may make it interesting for listeners to see their history. Though it may work well for the bookmarking of "loved" songs on the music stations - a bit like a cut-down version of Phone Tags, which was an internal prototype from my predecessors Matt and Tom a few years ago. In fact we didn't get round to implementing Mobile Pop - register your mobile number and then text “pop” to the network SMS number. “Popping” programmes acts as a kind of social bookmarking for radio programmes, a bit like del.icio.us, it could be very powerful in a future of long-tail audio content. A way of bringing to the fore current and archive programmes that you want to share with your friends and the wider world.
The major hurdle to implementing something like this for real on the BBC site (you'll notice that are prototype is not on bbc.co.uk) is that listeners need to be signed in while listening to the radio. Ideally this would be through the Radio Player, eventually followed by iPlayer. But, like I said, we didn't get time to implement anything using the Radio Player and to be honest that would be a big piece of work (you don't want to know!). And we’ve only tacked live listening but listen again should be easy enough as long as we know what programme is being listened to. Scalability is also an issue as it’s potentially a very large amount of data. The prototype has been build in a loosely-coupled and modular fashion so the APIs allow us and other parties to easily extend Radio Pop. The Flash charts, for example, could be plugged into many other pages, on or off bbc.co.uk.
We've had some thoughts around privacy - users should have control over who sees their data and be able to delete it or download it and take it elsewhere. Maybe even share it with other services like last.fm or Amazon, this is where sites and services like the Attention Trust, APML and Plaxo's Pulse are heading. Radio Pop is just one way to approach light-touch user participation and create a really simple way to engage the audience without expecting them to do much apart from listen to the radio. Throughout the project we have been thinking of Radio Pop as an enabler with potential halos of effect around it...
On bbc.co.uk - Radio Player, iPlayer, member pages, /radio...
On the internet - RSS feeds, blog badges, Facebook applications...
And in the real world - DAB radios, wi-fi radios, mobile phones...
I was driving to an away-day yesterday and I got to listen to some radio in the car.
The Material World this week was about locusts and snails. It seems that it's not really known why plagues of locusts occur. Normally they're solitary creatures that are fairly low-key but they also have a gregarious state where they seek out other locusts and start to swarm - eating their own bodyweight everyday and changing their appearance and behaviour. It's recently been discovered how they start to swarm - if you rub the back legs of a solitary locust it goes into "swarm" mode - so a number of locusts together will tend to turn into a swarm. But it's not really understood why they have evolved to do this, though in times of drought or when there are food shortages they tend to be forced together, which triggers the behaviour. It's thought the behaviour might have evolved from times when their diet was short of certain proteins or salts.
The second item was on snails. It turns out that they are a great way of tracking human movements and migrations. If you find a colony of snails that is related to snails from another geographical area, it's probably because some humans knowingly or unknowingly transported them there. And snails are particularly good for tracking movements like this because they themselves hardly move! Other animals and insects are less good for this because they could have moved there under their own steam. A study has found that a number of snails on the Irish coast seem to have some from Spain, possibly dropped off by the defeated Spanish Armada while making it's way round Great Britain.
Great Radio 4. And in the morning I also caught a fascinating In Our Time on Flaubert and Madame Bovary. Which leads me to point you to speechification, a new blog about the best bits of Radio 4.
Today sees the public launch of the Annotatable Audio prototype, now called "Find Listen Label", which my R&D team has been developing recently. Find Listen Label is basically a wiki for annotating radio programmes. It lets BBC radio listeners go online and mark-up and annotate segments of radio programmes, creating better navigation within the programme by providing segments or chapters and enhancing the findability of the programme by annotating it with descriptions and tags about the content.
Why are we doing this? It's part of our drive to make BBC radio's programmes more navigable and more findable on the internet. We have some basic information on programmes that is used for schedules but it is not usually very rich and often doesn't really describe what is in the programme in any detail. Many of our speech radio programmes on Radio 4 or Five Live contain lots of varied and interesting content and at the moment, without listening to the programme, you just wouldn't know.
We already have a nice framework for individual pages for programmes (from the BBC Programme Information Pages project) ready for extra information and in the forthcoming Radio 4 redesign we will start to see extra metadata to allow more horizontal (topic- or keyword-based) navigation. And some programmes, like the Chris Moyles enhanced podcast, already do some "chapterising". But this particular example takes the best part of a day for a producer to do and most programme teams do not have the dedicated effort to do something like this, so we wanted to try to harness the enthusiasm and knowledge of the BBC radio audience to help us. We designed Find Listen Label (Annotatable Audio) to generate metadata that enables two things, internal navigation and findability. Internal navigation is the ability to see what a programme contains and easily move around inside that programme, moving between segments and skipping segments that don't interest you. Findability is the quality of something being locatable or navigable - through search engines, links and keywords - and by adding rich metadata about the contents of a programme we increase its findability.
We're launching the prototype with All In The Mind, a Radio 4 programme "exploring the limits and potential of the mind". We chose this as the initial programme to prototype this on as it is relatively non-controversial, factual and magazine-like with natural segments. Luckily the programme team were happy to allow us to use it as a guinea pig.
The playback interface lets you listen to the programme, skip around the segments, filter by tags and read the annotations. The edit interface lets you edit an existing segment, delete an existing segment or create a new segment. The start and end times of segments are altered in the Flash interface by dragging the left or right edges of the segment. And you can edit the title, description and tags for a programme. It works like a wiki so there is one canonical version of the programme with the most recently edited set of segments and metadata. Like every good wiki there is a history page though at the moment the history page is fairly rudimentary.
To do any editing you must be signed in. We have to follow the BBC's guidelines and for any kind of user-created content we must use the BBC's Single Sign On system. But we're not going to be actively moderating the content, just keeping an eye on it to make sure nothing breaks the BBC Editorial Guidelines too much.
This is the biggest project that the current R&D team at BBC Audio & Music Interactive have worked on. Many thanks to all the people who worked on it including Tom Coates for the initial idea, Graham Beale who created the basis of the current simplified design, Sarah Challis for the lots of work on the final design and the cool little tutorial animation, Joti Brar for project managing it to launch, Lee Goddard for the back-end Perl code and Chris Bowley for all of the lovely front-end interface. The original prototype was built in the Autumn of 2005 and you can read more about the history of the project here and here. The name change came after a number of people complained that "annotatable" wasn't in the dictionary and as an attempt to make it more obvious what it does; "find", "listen" and "label". In particular we wanted to make it clear that it was a tool, something that could be applied to a programme and not a separate application. The ultimate ambition would be to have the Find Listen Label tool available for every BBC radio, and even TV, programme.
How does it work? There's a bespoke Perl back end, written by Lee, which is basically a wiki/cvs system. It's built to run on bbc.co.uk servers, which in itself is not a straightforward task. This then serves a REST-like read and write API - when we get time we will publish the location of this API and its format. The client, built by Flash wizard Chris Bowley, is a mixture of Ajax and Flash. The Flash handles the audio playback and segmentation interface and Ajax does the annotations and the rest of the page. Speaking of the audio - it is just a progressively downloaded MP3 which is not necessarily the best solution but is definitely the simplest. It is also fairly low quality to reduce loading times. I'm sure Chris will write more about the client on his blog shortly.
This is our third or fourth iteration of the tool and it's a while since we built the first internal prototype. It's been a challenge to design a suitable simple interface, to create a common understanding of what the tool should do (it can be many things to many people), to get buy-in from management and from the radio stations, and to deploy it onto the somewhat aged bbc.co.uk infrastructure. I hope you find it interesting or useful. Please go and have a play...
Now Dan has left (and Matt, Matt and Tom before him) no-one seems to be promoting all the interesting and exciting work that we're doing in BBC Audio & Music Interactive. So in a possibly futile attempt to remedy this I bring you the relaunched BBC Radio homepage.
This may not be most enormously exciting development to you, but bear with me. It's a big improvement on the previous page and is now much cleaner and simpler. It gives a nice overview of all of our radio stations (rollover to see them all), includes space for promos, easy access to all our live streaming and audio-on-demand and has a well designed site infrastructure ready to incorporate new material. Excellent work from Antony, Pete, Antony, Ruediger and Jim. But most importantly it is the start of things to come. We are planning a number of site relaunches this coming year, which will include many features that will be a big step forward for us. Maybe even Annotatable Audio if you're lucky.
* Obviously there are bloggers in the department and I hope I'm not offending any of them here - Duncan, Matt, Chris and Dan for example. And I'm sure there are others hiding out there, apologies if I've missed you off.
See the link above for my other blog. Why cookin'/relaxin'? It's the titles of two of a series of Miles Davis albums which also describe some of my favourite things. You can contact me at tristanferne at yahoo[dot]co[dot]uk