<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet title="XSL_formatting" type="text/xsl" href="/blogs/shared/nolsol.xsl"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>

<title>
BBC Internet Blog
 - 
Matthew Clark
</title>
<link>https://meleleh.pages.dev/blogs/bbcinternet/</link>
<description>Staff from the BBC&apos;s online and technology teams talk about BBC Online, BBC iPlayer, and the BBC&apos;s digital and mobile services. The blog is reactively moderated. Posts are normally closed for comment after three months. Your host is Eliza Kessler. </description>
<language>en</language>
<copyright>Copyright 2012</copyright>
<lastBuildDate>Tue, 06 Nov 2012 10:40:30 +0000</lastBuildDate>
<generator>http://www.sixapart.com/movabletype/?v=4.33-en</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 


<item>
	<title>Connected Studio Sport brief: my take</title>
	<description><![CDATA[<div class="imgCaptionCenter" style="text-align: center; display: block; "><img class="mt-image-center" style="margin: 0 auto 5px;" src="https://meleleh.pages.dev/blogs/bbcinternet/img/sportconnectedstudio.png" alt="BBC Sport on many different devices" width="595" height="595" />
<p style="margin: 0px auto 20px; width: 595px; color: #666666; font-size: 11px;">How can BBC Sport make the best use of new technologies, ever-increasing Internet connectivity, and social media growth, to offer more to audiences?</p>
</div>
<p>I'm Matthew Clark, Senior Technical Architect for Future Media Sport.</p>
<p>As I wrote in my <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/08/building_olympic_website.html">last blog post</a>, it's been a busy year, due to a plethora of new features made in time for this summer's Olympics. With the Games now over, it's time to consider what's next: what is the future of online Sport coverage? How can we make the best use of new technologies, ever-increasing Internet connectivity, and social media growth, to offer more to the BBC's audiences? That's a big question, so it's excellent timing that we have the <a href="http://www.bbcconnectedstudio.co.uk/?page_id=5">Sport Connected Studio </a>to help.</p>
<p>The BBC Connected Studio programme has its own <a href="http://www.bbcconnectedstudio.co.uk/">website</a> with all the details, but here's a summary:</p>
<p>Over the course of the year the programme works with ten BBC Online product teams of which BBC Sport is the 6th. You can attend as an individual or a business/organisation, and there's some financial support available for the later stages. (See the <a href="http://www.bbcconnectedstudio.co.uk/?page_id=7">FAQ</a> for more.) To give you an idea of Connected Studio's ambition and what has happened so far you can have a look at <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/10/connected_studio_the_first_pil.html">a post from Adrian Woolard</a>, Programme lead on Connected Studio going through all the current pilots.</p>
<p>So, on to the brief for Sport. You can view it <a href="http://www.bbcconnectedstudio.co.uk/wp-content/uploads/2012/10/Sport_Innovation_brief-final2.pdf">here</a>, but here's my take.</p>
<p>We're focusing on live sporting events - moments where major sport events are happening and large numbers of people are following it online. What can be done to make this a more rewarding experience? In particular, we're looking at two scenarios:</p>]]><![CDATA[<p>1. Moments when <strong>major sporting tournaments </strong>are happening. These include Wimbledon, Glasgow's Commonwealth Games, the Winter Olympics, and the World Cup (all of which the BBC will have online video coverage for). These events often overlap - for example, there will almost certainly be days in 2014 when Wimbledon, the World Cup, Formula 1 and cricket are all on the same day.</p>
<p>2. <strong>The football season</strong>. Every Saturday, millions follow football games throughout the country (and the world). Most games aren't televised live, but there's plenty of coverage through radio, online, and studio TV coverage such as <a href="https://meleleh.pages.dev/programmes/b006szrz">Final Score</a>.</p>
<p>For both scenarios, the question is: what can be offered that makes following the sporting event better? Ideas can be pretty much anything, so long as they cover either or both of these scenarios. It has to be an online product, but that doesn't just mean web pages - interactive apps, perhaps for phones or internet-connected TVs, are encouraged too.</p>
<p>Not got an idea? Here are a few topics to whet the appetite:</p>
<p>&bull; <strong>Choice:</strong> How does the audience want to choose and interact with multiple concurrent sporting events?</p>
<p>&bull; <strong>Interaction:</strong> Can the audience be further engaged whilst watching live events?</p>
<p>&bull; <strong>Second screen:</strong> How best should handheld devices work alongside TVs?</p>
<p>&bull; <strong>Social engagement:</strong> How should use of social media drive a live sporting experience?</p>
<p>&bull; <strong>Accessibility:</strong> How are more interactive experiences offered to those using screen readers or other accessibility tools?</p>
<p>&bull; <strong>Companion data: </strong>What and how should information be added to video to make it more enjoyable and accessible?</p>
<p>&bull; <strong>Varying audiences: </strong>Do people of certain age ranges, or sporting interests, prefer different experiences?</p>
<p>&bull; <strong>Audience behaviour:</strong> How does real-time analysis of site interaction shape what should be on offer?</p>
<p>&bull; <strong>UX: </strong>How can an interactive experience be built, for all size screens, without impacting the live video and detracting from the main event?</p>
<p>&bull; <strong>Data mining: </strong>Can sport stats, user behaviour, and social data be analysed to provide new insights?</p>
<p>&bull; <strong>Technical speed and scale:</strong> Can you deliver real-time updates to millions of users, whilst still staying reliable at key moments?</p>
<p>So, are you interested? If you've got innovative, creative, original ideas for online Sport coverage, <a href="http://www.bbcconnectedstudio.co.uk/?page_id=5">make sure you apply</a>. It doesn't matter whether your idea is big or small, or how thoroughly prepared it is. Get your skates on - the 'creative' day, where ideas are developed and pitched - is on the 21st November.</p>
<p><em>Matthew Clark is Senior Technical Architect, Sport, BBC Future Media.</em></p>]]></description>
         <dc:creator>Matthew Clark 
Matthew Clark
</dc:creator>
	<link>https://meleleh.pages.dev/blogs/bbcinternet/2012/11/connected_studio_sport.html</link>
	<guid>https://meleleh.pages.dev/blogs/bbcinternet/2012/11/connected_studio_sport.html</guid>
	<category>BBC Sport</category>
	<pubDate>Tue, 06 Nov 2012 10:40:30 +0000</pubDate>
</item>

<item>
	<title>More traffic, more videos, more screens: building the BBC&apos;s Olympic site</title>
	<description><![CDATA[<div class="imgCaptionCenter" style="text-align: center; display: block; "><img class="mt-image-center" style="margin: 0 auto 5px;" src="https://meleleh.pages.dev/blogs/bbcinternet/img/olympics_architecture_overview.png" alt="BBC Olympics Architecture Diagram" width="595" height="423" />
<p style="margin: 0px auto 20px; width: 595px; color: #666666; font-size: 11px;">BBC Olympics architecture overview. It shows how many components are involved!</p>
</div>
<p>Hi, I'm Matthew Clark, the Senior Technical Architect for BBC Online's Olympic website and apps.</p>
<p>Alongside colleagues Mike Brown and David Holroyd, it's been my responsibility to create the technical strategy that has allowed us to produce successful online Olympic products.</p>
<p>We've focused on the design and development to make sure the site and apps stay reliable and can handle high traffic loads, whilst offering more content than ever before. In this technical blog post I'll be looking at some of the challenges we faced and how we overcame them.</p>
<h2>More traffic: Handling unprecedented audience levels</h2>
<p>We expected the Olympics would drive far more&nbsp;traffic to our site than ever before, <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/08/olympic_statistics_traffic_week.html">and it did</a>. Planning for this load was not easy. There are over 60,000 dynamically generated pages, many with a significant amount of content on them, so efficient page generation is vital.</p>
<p>Content needs to be as 'live' as possible, so long-term caching is not an option. We use a range of caches (including Content Delivery Networks,<a href="https://www.varnish-cache.org/"> Varnish</a>, and <a href="http://httpd.apache.org/docs/2.2/mod/mod_cache.html">mod_cache</a>) to offload the bulk of the traffic from our Apache web servers. For content that's dynamic, cache lifespan (max-age) varies between a few seconds and a few minutes, depending on the context. This is particularly true for the new <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/06/interactive_video_player_launc.html">video player</a>, which needs the latest data every few seconds to compliment the live video stream.</p>
<p>Page generation is done using <a href="http://www.php.net/">PHP</a>, which is <a href="http://encyclopedia2.thefreedictionary.com/stateless">stateless</a> and receives all of its data through calls to a <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">RESTfu</a>l API. This API is the<a href="http://en.wikipedia.org/wiki/Java_(programming_language)"> Java </a><a href="http://en.wikipedia.org/wiki/Application_Layer">application layer </a>that retrieves its data from a range of data stores (including <a href="http://www.mysql.com/">MySQL databases</a>, <a href="http://en.wikipedia.org/wiki/Triplestore">triple stores</a>, and<a href="http://en.wikipedia.org/wiki/XML"> XML </a>content stores). It's the most critical layer from a performance point-of-view, as load is high, calls can involve significant processing, potentially multiple data store calls, and limitations on what can be parallelised.<a href="http://en.wikipedia.org/wiki/Cache_(computing)"> Caching </a>(mod_cache and <a href="http://memcached.org/">Memcached</a>) is again used to address the bulk of the traffic.</p>]]><![CDATA[<div class="imgCaptionCenter" style="text-align: center; display: block; "><img class="mt-image-center" style="margin: 0 auto 5px;" src="https://meleleh.pages.dev/blogs/bbcinternet/img/olympics_data_store.png" alt="from data store to device" width="555" height="246" />
<p style="margin: 0px auto 20px; width: 555px; color: #666666; font-size: 11px;">From data stores to screens, sites and apps</p>
</div>
<p>We spent considerable time modelling how traffic creates load on the whole stack. This was first done theoretically (through modelling of user behaviour, load balancing, and caching). We then did it for real - we used data centres around the world to place load equivalent to over a million concurrent users on the site, to confirm everything worked during busy Games load.</p>
<h2>More video: handling 2,500 hours of coverage</h2>
<div class="imgCaptionCenter" style="text-align: center; display: block; "><img class="mt-image-center" style="margin: 0 auto 5px;" src="https://meleleh.pages.dev/blogs/bbcinternet/img/24_olympic_screens.png" alt="" width="595" height="245" />
<p style="margin: 0px auto 20px; width: 595px; color: #666666; font-size: 11px;">A moment when all 24 streams were running at the same time. Can you identify what they are?</p>
</div>
<p>There's been plenty of discussion about the BBC's <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/04/olympics_24_streams.html?postid=112168896">24 video streams</a>, and the <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/08/data_video_flow_olympics.html">challenges of creating them </a>at the International Broadcast Centre by the Olympic Park. This is the equivalent to 24 new channels, offered over cable and satellite as well as via IP.</p>
<p>Once the channels are created, the challenge is to direct viewers to the right content at the right times.</p>
<p>Sport schedules have a habit of changing - extra time, delays due to rain, etc - and the sites and apps need to show this. When an event starts, the tools used by (human) controllers to control the video also log the start in our XML content store. This metadata is then picked up by pages and apps (via an API) so that, within a minute of the event starting, there are links to the content throughout the site, app, and red button. A similar process happens when coverage finishes. Olympic sessions can be as short as 45 minutes, so the faster a video stream can be made available, the better.</p>
<h2>More screens: coverage on mobiles, tablets, computers and internet connected TV</h2>
<p>The BBC has a <a href="https://meleleh.pages.dev/blogs/aboutthebbc/2011/06/connected-storytelling-one-service-ten-products-four-screens.shtml">four screen strategy </a>where we develop for PCs, tablets, mobiles, and internet connected TV. For the Games we've offered an unprecedented amount of content to all four. In addition, there are Olympic apps for iOS and Android smartphones, a Facebook app, foreign language content for World Service sites, and a red button service for satellite and cable TVs.</p>
<p>Our architecture is the classic multi-tier approach - pushing as much logic as possible into shared components, so that the amount of development for each interface is as low as possible. This is <a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself">DRY (Don't Repeat Yourself)</a> at a multi-platform level. For web pages, a single PHP codebase creates both the desktop and mobile versions. This includes the iOS and Android apps, which use <a href="http://phonegap.com/">PhoneGap</a> to 'wrap' the mobile website for most of its functionality. It has saved us having to rewrite functionality in native code. Certain other applications, such as the Olympic Facebook app, are different enough to warrant their own codebase, but still make the same API calls to the Java application layer, where most of the 'business' logic is held.</p>
<h2>More content: Data is power</h2>
<p>Video aside, there is a wealth of data required to make the Olympic site. The primary source is the Olympic Data Service, which blog posts from <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/07/olympic_data_services_and_the.html">Oli Bartlett </a>and <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/08/olympic_data_xml_latency.html">Dave Rogers </a>have already covered in depth. In brief, <a href="http://www.obs.es/obslondon2012.html">Olympic Broadcasting Services </a>(OBS) provide a comprehensive data feed that covers all sports, and provides a wealth of data - from latest scores to medal tables. This, combined with stories from journalists, and other sources such as Twitter, creates the content for tens of thousands of results, athletes, country, and event pages.</p>
<p>The <a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/04/sports_dynamic_semantic.html">Dynamic Semantic Publishing (DSP) </a>model, which understands relationships (triples) between all content and concepts, is the process that ensures everything automatically appears in the right place. All created content, including stories, medals, and world records, are tagged (normally automatically) with the appropriate athletes, sports and countries. This causes the content to appear on the appropriate page without human intervention.</p>
<p>In essence, it's this automatic curation of pages that has allowed us to offer such a broad range of product. The automation has kept maintenance to a minimum, freeing journalists to focus on writing content. It's allowed multiple products and thousands of pages to stay up-to-date without a large operational overhead.</p>
<h2>More testing: Simulating an entire Olympics</h2>
<p>With all this content, data, video, and technology, comes a huge engineering challenge: how do you test it? All development areas follow <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Development (TDD)</a> so there is no shortage of automated unit and component tests. But what happens when you plug everything together? How can you be sure that the right medals go to the right country, or that video works on all devices, or that results appear correctly for all 36 sports? Unlike, say, the&nbsp;football season, the Olympics only happen once every four years, and only last a couple of weeks.</p>
<p>There are no second chances.</p>
<p>We needed to be 100% sure that on day one of the Games, everything would work as expected.</p>
<p>To tackle this we set up an entire team, as big as any development team, with the job of proving everything would work when the Games started. We took a three-pronged approach:</p>
<ol>
<li>We used as much of the Olympic technology as we could for other sporting events, such as F1 and Wimbledon. This was often offered as a beta service - and we're grateful to all who gave these a go.</li>
<li>We used the <a href="http://www.london2012.com/about-us/london-prepares-series/">Olympic test events </a>to get video and stats that would be similar to that of the Games. We ran this on our staging environment so that they could be made to look like real Olympic events without appearing on our normal site.</li>
<li>Most importantly, we created fake video and data that let us simulate the Olympics. We picked the most interesting moments of the Games (the opening ceremony, the first big day, etc) and created all the inputs as they would be at that moment. This was run in our staging environment and allowed us to see all sites and apps behave as they would when the Olympics were underway. (You can read more about how we made the simulated data in<a href="https://meleleh.pages.dev/blogs/bbcinternet/2012/08/olympic_data_xml_latency.html"> the post by my colleague Dave Rogers</a>.)</li>
</ol>
<p>This testing process lasted several months and caught a significant number of bugs and performance problems. Fortunately it paid off - I was a little nervous on the first day of the Games, but it&nbsp;passed without incident.</p>
<h2>More for the future</h2>
<p>With the end of the Games fast approaching, attention now turns to other areas of the Sport website.</p>
<p>Some features have already been applied throughout - for example, most live video coverage will be in HD from now on. Other services that we've offered for Olympics aren't yet ready for use elsewhere (mobile apps and video chapter points being two). Over the coming months we'll be working on bringing many of these features to the rest of Sport, and perhaps other parts of BBC Online too.</p>
<p>If you've any questions about the technology we've used during the Olympics, please get in touch using the comments below.</p>
<p><em>Matthew Clark is Senior Technical Architect, Knowledge &amp; Learning, BBC Future Media</em></p>]]></description>
         <dc:creator>Matthew Clark 
Matthew Clark
</dc:creator>
	<link>https://meleleh.pages.dev/blogs/bbcinternet/2012/08/building_olympic_website.html</link>
	<guid>https://meleleh.pages.dev/blogs/bbcinternet/2012/08/building_olympic_website.html</guid>
	<category>BBC Sport</category>
	<pubDate>Thu, 16 Aug 2012 15:10:00 +0000</pubDate>
</item>


</channel>
</rss>

 
