Tom McAdam

voila: 2013 in review

Well, here we are again. As another year draws to a close, it’s time to look back on some of the improvements we’ve made to Voila, our media product engine, over the last 12 months.

api usability

We strive to provide the right data for clients of our APIs in a single call, controlled by annotations, and have been busy adding many new ones throughout the year. For example:

  • Interesting item discovery: Items within a brand with upcoming broadcasts and on-demands available will be returned, hydrated, with upcoming_subitems_detail and available_subitems_detail annotations
  • Embedded hydrated ancestors: the series and brand annotations return series and brands on items
  • Channels and channel logos: Richer channel information and many types of channel image are now available

personalisation and discovery

With the introduction of platform and region data in Atlas, we’re now able to better personalise responses based on a user’s region if the region parameter is provided. Fred wrote all about it back in August.

We’ve been experimenting with new algorithms for better personalisation, as well as started work on a new, realtime, architecture for 2014.

There have been numerous improvements to help users discover interesting content. On the automatic discovery front, the suggestions endpoint has better coverage across genres, and improved channel support. We’ve also made architectural changes that allow different algorithms to be plugged in. Search has also seen improvements in content selection, weighting, and indexing of broadcasts.


Voila has provided cast and crew information through the people annotation since its inception, and we’ve now built on that to provide biographies on the people endpoint. What’s more, as our annotations are consistent across all endpoints you can use the new annotations above. So, for example, the upcoming_subitems_detail annotation will let you know when a person is next on TV.


Those are the highlights to functional improvements we’ve made through 2013, but we’ve made a whole host of changes behind the scenes this year to make Voila leaner, faster and more resilient:

  • Caching: Caches were moved off-heap to a Varnish cluster, to improve scalability and reliability
  • IDs: Generation of IDs for content was moved from Voila to Atlas, so a consistent ID can be referenced across all MetaBroadcast APIs
  • Dynamic channel configuration: A feed of channel information is now in place from Atlas so configuration releases are no longer required when channels are added

And, of course, as Voila uses Atlas for its metadata, it has benefitted from its many improvements in the last year, which Fred will be writing about next week. If you do have any questions on the above or new feature requests for 2014, we’d love to hear from you.

With that, this brings my final blog post of 2013 to a close so all that remains is to wish you a very merry Christmas and a happy new year!

blog comments powered by Disqus