« Previous | Main | Next »

The Mythology Engine - representing stories on the web

Post categories:

Tristan Ferne | 14:49 UK time, Tuesday, 30 March 2010

The R&D Prototyping team has recently built an internal prototype for BBC Vision called the Mythology Engine. It's a proof-of-concept for a website that represents BBC drama on the web letting you explore our dramas, catch up on story-lines, discover new characters and share what you find.

Most TV drama on the web is either deep and detailed fan-produced sites or visually rich but shallow sites from the broadcasters. We believe there is a middle way and it seems like there's a space for something here. Something that expresses the richness and depth of the stories that the BBC creates. Somewhere that will be the default place to find out about our stories and somewhere that people will link to and share with their friends. So we built a prototype based around the stories of Doctor Who. Theo Jones, Creative Director for Prototyping talks us through the prototype in this video:

In order to see this content you need to have both Javascript enabled and Flash installed. Visit BBC Webwise for full instructions. If you're reading via RSS, you'll need to visit the blog to access this content.

That's a taste of what this prototype can do. Like I said, it's a proof-of-concept that we're using within the BBC and we're not planning on launching it. That said, do tell us in the comments if you like the idea. We are using Doctor Who as an example because it is a high-profile brand with a large archive and is particularly narratively complex in places - time travel is hard! The rest of this post will look a bit deeper into the project and talk about some of the thinking behind the prototype and the process used to build it.

What should it do?

Our objectives for this project were to build something that would demonstrate how you could express stories in a form tailored for the web, to show how this would allow people to explore BBC dramas and unlock the archive, and to create a reusable framework that could apply to all dramas and stories. The prototype should let you:

  • Catch up on stories you've missed
  • Explore stories and characters and help you understand plots and relationships
  • Find the stories you are looking for and share your favourite moments or characters

Luckily there is some previous work to look to in this area. Several years ago the BBC looked at representing Eastenders in RDF, my Radio Labs team built a prototype for a similar concept around the Archers a couple of years ago and Paul Rissen, one of our information architects has done a lot of thinking about narrative on the web as have various academic projects like Ontomedia.

Because there are always issues around the rights of distribution of programmes we designed it to work with and without short video clips, as these seemed relatively realistic to have. There is no long form video in the prototype for this reason, and also because it's not designed as a replacement for iPlayer. It should be complimentary to existing BBC sites.

One way of thinking about this that I've found helpful is to imagine the story existing in the writer's head before the scriptwriting and production creates the broadcast programme. The viewer then watches this, understands it and reconstructs the story. The Mythology Engine is designed to assist in this process; to let the audience explore complex plots or catch up on episodes they missed or stories they remember.

The Mythology circle

Modelling stories

By designing the Mythology Engine to take advantage of architecture of the web with unique pages per concept and interconnecting links everywhere, we increase the findability and sharability of our content. To do this we used a domain-driven modelling approach and this is a simplified version of our data model.

Mythology Data Example

A story can actually be several things; a single episode (like most current Doctor Who) or a multi-episode story (like classic Doctor Who) or a long-term, ongoing story arc (like Bad Wolf arc). Stories are then collections of events, where an event is a specifically chosen, significant thing that happens in a story. This could be anything, but the important thing is that it is editorially chosen to tell the story. And then, pretty obviously, events occur in places and feature characters, who have relationships between each other and can belong to groups. And there are things, a catch-all term for everything else that might affect the plot - the murder weapon, a sonic screwdriver, things like that.

Stories map onto programmes

This picture shows how the story concept in our model maps back onto a programme as it appears on TV or radio. The story, consisting of events, is represented as scenes in the programme. Often an event will correspond exactly with a single scene in a programme, or maybe a scene will portray more than one event. And sometimes an event can be portrayed in several scenes, maybe to build tension or to show it from different characters' perspectives. And events might not even occur in the "correct" chronological order within the programme, it's all about telling the story and building suspense and that's what the prototype needs to support.

Building it

The site was built in Rails, principally by Duncan Robertson, assisted by Chris Bowley for the Flash visualisations. It uses a simple Rails-based Content Management System called Typus with some small customisations to the interface to enter data. Our approach to building prototypes is agile and iterative so we modelled the data, got running code as soon as possible and then did some ad-hoc user testing with some colleagues. The main feedback from this was that we should make stories and time more obvious, have more clarity around your current context in the page and the site, try to increase the interlinking and to focus on the quality of content.

Craft your data

We think this last one is particularly important. Having the model is not enough, you also need to bring to life the things and the connections between the things in a compelling way. So for this project we hired a freelance Doctor Who writer and he created all the data and relationships and wrote all the descriptions that are in the prototype; five whole stories (some classic and some contemporary), a couple of story arcs and about forty characters and thirty places.

Representing time

In the story "Blink" there is lots of time-travel. Whenever a character is touched by one of the statues they are thrown back in time. We model all of this as ordered events with timestamps so you can imagine there are various timelines that we could present - how things happened in linear time (i.e. earliest first), how things happened from a character's perspective or how the story was presented on screen. In the end we decided to show the timeline as it was presented on screen, which makes it relatively straightforward and is what the storytellers intended.

Blink timeline

You can see how it jumps between the present day, 1920 and 1967.

It's not just Doctor Who

Having completed the Who prototype we wanted to show that the framework was re-usable for another drama. So we re-deployed the code to a new server, wiped the database and set up an Eastenders Mythology Engine in a couple of days, reskinning it and creating a small number of stories and characters. There are some things we would have done differently if we'd started with Eastenders. We would have concentrated less on timelines and more on relationships and characters, but ultimately we think it works across the brands.

The Eastenders Mythology Engine

What next?

We think this is a really exciting concept, the prototype is done, and hopefully we've contributed some original thinking along the way. Having built the Mythology Engine there are several interesting research projects that we've been thinking about:

  • Investigating whether we could parse scripts, subtitles or video to automatically create the outline of the data for a story.
  • Using this framework to tell the stories behind the news and sport and to further explore the archive.
  • Looking at how user-generated content would be fitted into this framework. Is it something that sits on top? Or is it more fundamental than that and could we harness the fans to create the mythology for us?
  • And should this model and framework make us think differently about how we write and produce stories? Could we start to create narratives that are tailored for the web?


  • Comment number 1.

    Oh crikey, that's WONDERFUL. It is! Truly, authentically quite unique, comprehensive, and really interesting. That looks like one of those things I could get lost in for days. Like Wikipedia or TV Tropes. Just cruising and learning. Brilliant.

    And it looks stellar! Very sleek. Really impressed.

  • Comment number 2.

    I'm excited about the Mythology Engine for a lot of reasons - not least because I want to embed it on my own collaborative writing site right now, darn it! - but something else that's just struck me is:

    Could there be a way to integrate the "plot keywords" IMDb uses?

    I'm assuming integration with /programmes PIDs will be a given, of course.

    By the way, #1 constantmotion, don't you know that mentioning TVTropes is tantamount to chronicide? All who enter that wonderful, deadly website lose at least half of their day... ;)

  • Comment number 3.

    Surely we can have a look for ourselves at the prototype? It looks amazing from the video and stills.

  • Comment number 4.

    Good job BBC (particularly Duncan and Chris). Looks like a great idea that's been well executed. Looking forward to seeing the real thing.

  • Comment number 5.


    Perhaps the name mythology engine might need tweaking slightly, but wouldn't this be just as good for exploring current affairs such as helping young people understand long running and complex affairs such as the Israel / Palestine conflict.

  • Comment number 6.

    @Jon That's a very good point.

    The same model can indeed be applied to current affairs, sport, history etc. The Winter Olympics site uses a very similar model and we've been looking a little at how it could be applied to history. Exciting times.

  • Comment number 7.

    How about allowing crowd-sourcing with this.

    It would be amazing to have all 756 Doctor Who stories done like this, but I can't see the BBC funding that in these days of economic woe.

    It would be great if there was a user-create-edit-comment system to allow crowd-sourcing to create the content.

  • Comment number 8.

    I'd definitely like to see the model and thinking behind this applied to news, sport, documentaries etc. The thinking was that with drama, we have a bit more of a 'self-contained' world in which to work, and test it all out. @briantist - crowd-sourcing would be a possibility, I think we need to move things on from the prototype stage to see if we can make it production ready etc. Then I think we'd start by slowly building up the stories we create through this, perhaps with archive content first, and then, yes, if we feel the benefits are out there, crowd-sourcing could indeed work. I'd be more interested in allowing the audience to, in effect, tell their own stories with the characters/events that we publish, though. For instance, get fans to share how they think something happened, rather than arguing over the 'one true way' in which events occurred..

  • Comment number 9.

    This looks brilliant. As a script editor who is fascinated by story structure, (and someone who is also involved in training screenwriters and editors), this already looks like a really useful tool with which to analyse drama and explain visually how it works - particularly character motivation/desire, choices about what to show when and dramatic irony (does it indicate who knows what when, and when key elements are revealed to characters?). Have you got any plans to use it as a story structure teaching tool as it stands? I'd be really interested in looking at it more deeply to see how it could be used in a training context and for creative collaboration. Not just as a visual tool to explain ideas, but also a model into which screenwriters could insert key elements of their stories and play with different timelines, connections- possibly collaborating with others on developing one big interactive story.

  • Comment number 10.

    This looks absolutely fantastic. Indeed, I'd love to see it form part of /programmes (I may get quite antsy if this is one of those prototypes which never gets beyond the "prototype" phase).

  • Comment number 11.

    Pippa - at the moment, it'll show a description of how each character was involved in each event (i.e. a short description of 'what they did') The model that we've based things on would certainly allow us to show things about who knows what when etc. I'd also be very very keen on giving this to writers as a tool - it should be the equivalent of writing a script. The script is the translation of the story into something that can be recorded, this gives us the ability to create 'web adaptions' of our stories.

    Mo - Indeed, I'm going to do all I can to make sure this goes beyond a prototype and actually ends up being something real ;-) Integration with /programmes shouldn't be too much trouble either..

  • Comment number 12.

    Oh, and for those interested in how we could integrate this with semantic web/RDF areas, have a look at https://www.contextus.net for the ontology we're thinking of using..

  • Comment number 13.

    Wow - this is fascinating! I'm a web developer with a strong interest in story-telling and multimedia, so this looks like an addiction waiting to happen.

    I suspect that, as with many ambitious projects of this nature, the most difficult issue will be sourcing the content over the long term. While crowd-sourcing does come with its own (very obvious) problems, it's often the best and most economical way to bring a project like this to life. If you do find a way to automate the basics, fans of the shows can easily take care of the rest.

    The idea that this could help lead to a new kind of story-telling for the web is even more intriguing, but without having seen the prototype it's difficult to imagine what that might look like.

    This truly is exciting. It sounds like what you're describing isn't just a way to make TV show websites more interesting; it's a new way of presenting just about any complex type of information. A wiki concept for the 21st Century, if you will.

    I can't believe people complain about BBC license fees. (Then again, Americans complain about NASA funding while using personal computers that were made possible by the microchips developed for the space program.)

  • Comment number 14.

    All this user's posts have been removed.Why?

  • Comment number 15.

    Parsing story data automatically is harder than you might think :)

    My thesis on the topic might be a useful start:

    Obviously, humans doing it manually is a different issue and a simpler problem (you "just" have to worry about the domain model). The crowd sourcing approach might make sense, as someone suggested above.

  • Comment number 16.

    I'd love to add a deeply incisive and witty response to your video. Or at least watch it :) But, it's geoblocked for Australia. Is it possible to unblock all the videos on the R&D blog? Or perhaps just this one? I assume there's no rights issues with this particular video.

    If the rights are fine, but it's technically difficult, could you perhaps cross-post it somewhere else? I'd love to see what you've been playing with.


More from this blog...

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.