Technology + Creativity at the 主播大秀 Feed Technology, innovation, engineering, design, development. The home of the 主播大秀's digital services. 2021-01-26T13:34:29+00:00 Zend_Feed_Writer /blogs/internet <![CDATA[Optimising serverless for 主播大秀 Online]]> 2021-01-26T13:34:29+00:00 2021-01-26T13:34:29+00:00 /blogs/internet/entries/41db1cb0-8948-40a9-b2be-22c9494078f6 Johnathan Ishmael <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0954xvh.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0954xvh.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0954xvh.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0954xvh.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0954xvh.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0954xvh.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0954xvh.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0954xvh.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0954xvh.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>The 主播大秀 主播大秀page, powered by serverless.</em></p></div> <div class="component prose"> <p><a href="/blogs/internet/entries/54a6decb-1469-46df-939c-2ab299494183" target="_blank">Previously</a> I talked about why Web Core, our new <a href="/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c" target="_blank">web technology platform</a> is built using serverless cloud functions. In this post we鈥檒l discuss our experience of integrating them with our architecture and how we鈥檝e optimised them for our use case.</p> <p>The 主播大秀 makes use of many different technology providers to deliver its online services. We make use of <a href="https://aws.amazon.com/lambda/" target="_blank">AWS鈥檚 Lambda </a>service to deliver the serverless functionality for Web Core. There are other platforms which provide similar functionality, such as <a href="https://cloud.google.com/functions" target="_blank">GCP鈥檚 Cloud Functions</a>, <a href="https://azure.microsoft.com/en-gb/services/functions/" target="_blank">Azure鈥檚 Functions</a>, and <a href="https://openwhisk.apache.org/" target="_blank">Apache鈥檚 OpenWhisk</a>. The majority of points made can be applied to any of these platforms.</p> </div> <div class="component prose"> <h4>Serverless in Web Core</h4> <p>We make use of serverless in two of the high CPU intensive areas of Web Core. The first is the React app that renders the HTML. This layer understands which visual components make up a page, and fetches the data for them. The second is our business logic layer, which transforms data from many different 主播大秀 systems into a common data model.</p> <p>Unlike other typical architectures we don鈥檛 make use of an <a href="https://aws.amazon.com/api-gateway/" target="_blank">API gateway</a> to launch our serverless functions. Instead we have our own custom APIs running on virtual machine instances. These sanitise requests, forward traffic to the relevant serverless functions as well as handling caching and fall backs. These APIs are high network, high memory, low CPU services. This best fits a virtual machine instance over a serverless approach due to the availability of different instance types. In addition the scaling pattern for the APIs is slower and more predictable as traffic grows, compared to the high CPU workload carried out by our serverless functions.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0954y71.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0954y71.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0954y71.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0954y71.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0954y71.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0954y71.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0954y71.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0954y71.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0954y71.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A simplified version of the Web Core stack, requests enter at the traffic management layer.</em></p></div> <div class="component prose"> <p>So why the intermediate caching layers, why not just call two serverless functions one after each other?</p> <p>Firstly to reduce cost. If we had serverless functions calling serverless functions directly without intermediate caching, we would be chaining them. This is a problem as we would be paying for the first to sit idle, waiting for the second to return. This can get expensive quite quickly, especially when service calls are involved. If this were a virtual machine instance, we would be able to run multiple requests in parallel, using the CPU鈥檚 idle time waiting for a request to return. But most serverless solutions have a one-to-one mapping between request and function invocation. Every request results in a new invocation, meaning the costs can quickly add up. Performance is therefore critical, but additional caching layers ensure most functions can complete in under 50ms.</p> <p>The second benefit of intermediary cache layers is that we can perform content revalidation (e.g. stale while revalidate). This allows the presentation function to return a response to the audience quickly (and terminate the first serverless function) while the second serverless function runs and populates the cache for the next request.</p> <h4>Optimising our performance</h4> <p>Out of the box, serverless performs well and can easily handle large work loads that you throw at it. However, as it is the workhorse of our stack, we wanted to make sure we can get the most value out of it. The longer the serverless function runs the more it costs us, but also the longer the user has to wait for a response.</p> <p>Most things you can do to optimise a normal application also apply to a serverless function, such as intelligent caching of data, reducing time waiting for other systems to respond, and reducing synchronous operations. For the purposes of this post we鈥檒l touch on Lambda specific tuning that we have implemented.</p> <h4>Selecting the correct memory profile</h4> <p>Unlike virtual machine instances, Lambdas only have a single configurable 鈥渃apacity鈥 dimension 鈥 memory. Our React app is fairly low in terms of memory usage (~200Mb), so ideally we would pick the lowest value (and so lowest cost). However changing the memory setting also impacts the available vCPUs. This in turn impacts our response times and cold start times.</p> <p>We performed load tests against each memory setting to determine the average response time. There is a critical point at which further increases in memory have no improvement in performance, but do increase in cost. In our case we found 1024MB as the optimal price/performance point.</p> <h4>Cold start times</h4> <p>When you make your first request to a serverless function, it must copy your code bundle to the physical machine and launch your 鈥榗ontainer鈥 for the first time. If you make a second request, it鈥檚 likely to hit the same 鈥榗ontainer鈥 that you previously launched. If two concurrent requests come in at the same time, the first hits the existing 鈥榗ontainer鈥 you have in place, and the second will need a new one starting up. It鈥檚 this start up time which is referred to as our cold start time. This happens every time we increase the number of concurrents from a previous high, or we deploy a new version of the code.</p> <p>Some of the factors that can impact cold start time include memory allocation, size of the code bundle, time taken to invoke the run time associated with your code, and any initialisation you may choose to do before the serverless function executes.</p> <p>As our website is mostly request driven, cold starts result in our audience members waiting longer. It also causes an increase in connections held open and so a significant slow down in serverless function execution times which can cause issues for any service waiting for that serverless functions to return.</p> <p>One advantage of the cold start process is that you can take care of any initialisation that might be required for when the function executes. This allows the actual invocation to be as efficient as possible. You also don鈥檛 pay for the cold start period, so essentially a few free cycles you can use to optimise the performance of your function invocation later. We used this time to establish network connections to all the APIs which are needed (removing the need for SSL negotiation later) and we also loaded any JavaScript requirements into memory for use later. This means that we are not having to perform this logic during every execution.</p> <p>As mentioned earlier, we went through a process of identifying the correct memory profile for our serverless function. During that process we discovered that the memory profile also impacted cold start times, with a 512 MB memory profile increasing cold start times by a factor of 3 over a 1024 MB cold start time.</p> <p>So in tuning our cold start times, we struck a balanced approach between per invocation overhead and per cold start overhead.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0954ydp.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0954ydp.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0954ydp.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0954ydp.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0954ydp.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0954ydp.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0954ydp.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0954ydp.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0954ydp.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A graph showing minimum, average and maximum cold start times over a week for our react rendering function. The X axis is time, Y axis is cold start duration in milliseconds.</em></p></div> <div class="component prose"> <p>In terms of overall cold start performance, it鈥檚 very predictable, with our average cold start time sitting around 250ms, and our maximum peaking around 1 to 2 seconds depending upon time of day.</p> <h4>What type of performance do we see?</h4> <p>We are performing over 100 million serverless function invocations per day. The performance of each invocation is predictable and performs as we would get from a virtual machine or container based service. Our HTML render times are quick, with the <a href="https://stackoverflow.com/questions/12808934/what-is-p99-latency" target="_blank">p90</a> being around 220ms. This time includes the time taken to fetch the data from our data services.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0954yj2.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0954yj2.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0954yj2.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0954yj2.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0954yj2.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0954yj2.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0954yj2.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0954yj2.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0954yj2.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A graph showing the average and p90 response times of our presentation React app serverless function over a 4 week period. X axis is time, Y axis is duration in milliseconds.</em></p></div> <div class="component prose"> <p>In terms of scalability, during benchmark tests we were able to go from a cold system at 0 rps with everything uncached to 5,000 rps within a few minutes. We would have tried a faster scale up, but we didn鈥檛 want to break our internal content production infrastructure. During our production use we have not seen a single function invocation fail. At 100 million requests a day, that鈥檚 some achievement.</p> <h4>Diagnosing and debugging</h4> <p>One of the disadvantages of serverless is the lack of a platform to remotely diagnose during an operational incident. If something went wrong whilst using an EC2 instance, once you鈥檇 exhausted logs and monitoring, you would typically SSH into the box and diagnose the health of the running device.</p> <p>Moving to serverless for our compute has meant us having to adopt other platforms to support monitoring and debugging. To do this we make use of a combination of <a href="https://aws.amazon.com/xray/" target="_blank">X-Ray </a>and <a href="https://aws.amazon.com/cloudwatch/" target="_blank">CloudWatch</a>, brought together via Service Lens. Other platforms from other providers are available to do this including <a href="https://www.datadoghq.com/" target="_blank">DataDog</a> and <a href="https://about.gitlab.com/" target="_blank">GitLab</a>.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0954ymz.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0954ymz.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0954ymz.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0954ymz.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0954ymz.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0954ymz.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0954ymz.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0954ymz.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0954ymz.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A screenshot of an X-ray trace showing the service calls and timings of rendering our homepage.</em></p></div> <div class="component prose"> <p>On every request that enters our stack, we annotate the request with a trace identifier. As the request navigates our stack the request maintains the id. This allows us to build a graph of each request through the system, along with a timing waterfall.</p> <p>If an individual page is erroring, we can look at the traces generated by that URL and understand where in the stack that issue lies. Through the Service Lens interface, we鈥檙e able to provide all the log files for that trace in a single place, which enables us to view any stack traces or errors generated by the code.</p> <p>We have found that this form of debugging has enabled us to go from being notified of an operational incident to a log stack trace in a very short period of time, which is great for ensuring our website stays available and up to date.</p> <h4>Deploying to Live</h4> <p>One of the big surprises with serverless was the way in which it changes your approach to environments and deployments. Typical virtual machines require you to build an image and deploy rolling changes out to your infrastructure. If you want to run two builds concurrently (e.g. staging and testing) you would need a separate infrastructures running that software.</p> <p>With serverless, it鈥檚 slightly different. We package and upload our code and it sits there ready to be invoked, at any scale, but critically in isolation away from the other versions you have already uploaded. Containers do operate in a similar fashion, but could still impact the underlying hardware on which your critical service might be running.</p> <p>Within the Web Core project, we have the ability to build and deploy our serverless function on each commit to GitHub (although typically we wait until the pull request stage). This can then be invoked by a developer, tester or product owner and get the full functionality as it if were audience facing, even when it鈥檚 in development. In essence this gives us an environment per pull request!</p> <p>When a feature or change is ready for deployment, we alias the function to deploy the change to live. Making a particular commit hash the 鈥榩roduction鈥 alias, will expose that serverless function to the audience. A rollback is just a case of updating the alias again.</p> <h4>Thanks for reading!</h4> <p>The platforms that run 主播大秀 Online are always evolving and changing as our technology providers improve their services. We鈥檙e always on the lookout for how we can deliver the best audience experience. The 主播大秀 website can reach 60 million browsers a day, with our users requesting up to 20k pages per second.</p> <p>Compute comes in many flavours, and after careful consideration we chose to use serverless for the task. We are now running over 100 million serverless function invocations per day, with the technology being cost effective, able to respond quickly to changes in demand and performant to audience requests.</p> <p>The technology has worked well from the outset, however we have learned a number of tricks to improve its performance (including optimising cold start times and behaviour). We have also overcome some of its limitations by adding non-serverless layers to our stack.</p> <p>We have been able to take advantage of the monitoring services integrated with serverless, improving our ability to diagnose and debug issues quickly. 聽Thanks for reading.聽</p> </div> <![CDATA[Delivering 主播大秀 Online using serverless]]> 2021-01-20T11:31:49+00:00 2021-01-20T11:31:49+00:00 /blogs/internet/entries/54a6decb-1469-46df-939c-2ab299494183 Johnathan Ishmael <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p09fg4h0.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p09fg4h0.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p09fg4h0.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p09fg4h0.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p09fg4h0.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p09fg4h0.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p09fg4h0.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p09fg4h0.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p09fg4h0.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A 主播大秀 News article powered by serverless.</em></p></div> <div class="component prose"> <p>Previously we wrote about how we鈥檝e <a href="/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c">moved 主播大秀 Online to the cloud.</a> This post looks more closely at why Web Core, our new web technology platform is built using serverless cloud functions.</p> </div> <div class="component prose"> <h4>The 主播大秀 has some big traffic days</h4> <p>Before we talk about serverless, here鈥檚 some context to the workloads we need our technology platform to handle.</p> <p>During the 2020 US Election, the 主播大秀 News website received visits from over 165 million unique browsers from around the world. During the election week the Web Core stack averaged 80,000 requests per minute, peaking at 120,000 requests per minute to our platform. Those requests are the ones which made it past the traffic management layers (caches) in front of us. At its peak our edge traffic managers and CDNs saw 2.5 million page views per minute (around 41,000 requests per second).</p> </div> <div class="component prose"> <p>At first glance, our traffic profile is typically cyclical 鈥 busy during the day, and quiet overnight. However, it isn鈥檛 completely smooth and predictable as the graph below shows. Instead, it fluctuates based on the current news, social media traffic, as well as calls to actions on TV, radio and when we send push notifications to our apps.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p094jg3x.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p094jg3x.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p094jg3x.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p094jg3x.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p094jg3x.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p094jg3x.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p094jg3x.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p094jg3x.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p094jg3x.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A view of how a request travels through the Web Core Stack</em></p></div> <div class="component prose"> <p>In addition, different parts of 主播大秀 Online will peak at different times, and in unpredictable ways. If a major news story breaks, 主播大秀 News can peak in an instant. And 主播大秀 Bitesize, during the first UK national lockdown, became consistently busy during the school day, as school children moved to learning online.</p> <p>As an example, let鈥檚 take the breaking news story around <a href="/news/uk-50604781" target="_blank">the London Bridge attack</a> in November 2019. The traffic profile at our edge cache for this page resulted in a 3x increase in traffic in a single minute (4k req/s to 12k req/s) followed by a near-doubling of traffic a few minutes later (12k req/s to 20k req/s).</p> <p>These key moments are critical for the 主播大秀, and they are the moments in which the audience turn to us. We must not fail. Any technology we choose must be able to respond to these traffic patterns.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p094jhf9.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p094jhf9.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p094jhf9.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p094jhf9.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p094jhf9.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p094jhf9.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p094jhf9.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p094jhf9.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p094jhf9.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>A chart showing requests per second over the 7 day period 3/11/2020 to 10/11/202 for bbc.co.uk/news. The traffic is mostly cyclical, with a few exceptions as news stories break.</em></p></div> <div class="component prose"> <h4>Choosing the right platform for the job</h4> <p>Choosing the type of compute depends upon factors associated with your workload. These can include the number of requests, duration of work, and resources required (CPU, Memory, Network). Being a website, requests are short lived 鈥 up to a second or two 鈥 and don鈥檛 require persistence between requests. The requests are typically CPU bound, rather than restricted by network or memory.</p> <p><strong>Virtual machines (e.g. <a href="https://aws.amazon.com/ec2/">EC2 </a>or <a href="https://cloud.google.com/compute">Compute Engine</a>)</strong> are useful for workloads that change no faster than you鈥檙e able to add capacity, or for work loads that can tolerate delay in scaling (e.g. queue based event systems). They are also useful for short lived sessions that can tolerate scale down events. For our use case 鈥 rendering web pages 鈥 virtual machines don鈥檛 tolerate large bursts of traffic well enough, as they can take a few minutes to add capacity. As mentioned previously, our traffic load can double in less than a minute, and so autoscaling might not react quickly enough. Our experience has taught us that we need to over provision the number of instances you have available (e.g. 50% more than what you need) in order to deliver enough capacity to manage scale events. Even trickier is understanding when you have over provisioned and when you should scale down. Virtual machines comes in many different flavours, tailoring for high memory, high CPU or a combination of both. So it鈥檚 possible to pick a compute platform that matches your workload, response times and cost profile.</p> <p><strong>Containers (e.g. a <a href="https://kubernetes.io/">Kubernetes</a> cluster or <a href="https://aws.amazon.com/fargate">Fargate</a>)</strong> which run on top of fixed compute. Like virtual machines they are useful for traffic volumes which slowly change over time. While you鈥檙e able to start up a new container quickly to handle a new session, you鈥檙e still limited by the underlying compute instance on which the containers are running. The underlying compute hardware has to scale to meet the demands of the running containers. Containers are great for long lived, stateful sessions, as they can be ported between physical hardware instances while still running. This allows for them to be redistributed across physical hardware as the workload grows and shrinks. A great use case for containers would be an online game, where you need sessions to persist as you reorganise your workloads.</p> <p><strong>Serverless functions (e.g. <a href="https://aws.amazon.com/lambda/">Lambda</a> or <a href="https://cloud.google.com/run">Cloud Run</a>)</strong> are, in essence, containers running on top of physical hardware. They are ideally suited for handling unpredictable traffic volumes and for non-persistent and stateless connections. As a customer of the service we don鈥檛 need to worry about how the underlying hardware is provisioned to deal with load. Instead, we simply initiate requests to the service. The burden of provisioning the containers, and scaling of the underlying infrastructure is handled for us by the service provider. So why can they handle the scaling better than we can using containers? 鈥 The simple answer is economy of scale, in that the provider manages the work loads of many customers shared across the same physical hardware platform, what is a large increase in workload for us, is small in comparison to the service providers overall workload.</p> <h4>Reducing operational complexity</h4> <p>One of the biggest advantages of serverless over fixed compute is that of reducing the operational complexity of running the service. Reducing the engineering effort in running and maintaining our systems allow us to focus more on the audience product and experiences. The further away you move from the bare bones hardware, the less the engineering cost for the developing team. What used to be engineering effort for DevOps teams, is now commoditised.</p> <p>With Virtual Machines we need to consider general maintenance and security, everything from patching the underlying operating system through to ensuring we have configured the machine for running at scale (such as available file handlers). We need to ensure the machine is secure from an external attack, whilst being remotely administrable. We also have to manage things such as log rotation and temporary file storage. All of these things go away when you move towards serverless.</p> <p>Managing the scaling rules of a fixed compute server is complex and requires extensive testing. You have to consider aspects such as measuring your workload, capturing metrics, understanding the correct properties to scale on, and by how much. Understanding and implementing these things come with some considerable effort.</p> <h4>Next time鈥 using serverless in Web Core</h4> <p>This blog post has outlined some of the considerations we took when choosing a technology platform for Web Core.</p> <p>In my next blog post I鈥檒l talk about how we make use of serverless, including how it fits into our architecture, its performance and some benefits we鈥檝e gained from its use.</p> <p>聽</p> </div> <![CDATA[The complexities of creating a new 'follow topic' capability]]> 2021-01-13T13:49:58+00:00 2021-01-13T13:49:58+00:00 /blogs/internet/entries/c80f349a-cec8-4f6b-9afe-913b8dee752d Dave Lee <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093wjx9.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093wjx9.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093wjx9.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093wjx9.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093wjx9.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093wjx9.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093wjx9.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093wjx9.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093wjx9.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Exploring how the visual emphasis of our Follow UI works alongside other calls to action.</em></p></div> <div class="component prose"> <p>The 主播大秀 is committed to creating a truly personalised experience for everyone. We believe that a more personal 主播大秀 helps us build a deeper connection with our audiences, and helps us to extract more value from online. We have so much to offer across our products and services and one of our challenges is to help our audience discover the content we have.</p> <p>We have a number of approaches to achieve this but alongside automated personalisation like smarter recommendations, we want to enable our audience to tell us what they want to see more of. So, we鈥檙e exploring the idea of enabling audiences to follow topics, a new capability that could work as a service for all of our teams and products.</p> <p>This consistent and collaborative approach is not only more efficient, but would allow users鈥 preferences to follow them wherever on the 主播大秀 they are. This blog posting will try to convey the complexities around creating this new follow capability.</p> <h4>Context</h4> <p>The 主播大秀 creates thousands of different content items on a daily basis, ready to be consumed by people in the UK and all around the world. But how might we improve the discoverability of that content? How might we offer new content to those who are interested in it?</p> <p>The 主播大秀 主播大秀 team started working on the idea of 鈥榯opics鈥 in summer of 2019. Working with colleagues from around the 主播大秀, we have developed the technology to present a Pan-主播大秀 topic to the audience.</p> <p>Very early on in the work on topics it was recognised that there was an opportunity to harness the power of topics by allowing the audience to choose which topics they personally find interesting so we can personalise their experience of the 主播大秀 and notify them when relevant content is available. Examples of this already exist with the 主播大秀 such as the My Sport functionality in the 主播大秀 Sport app; subscribing to podcasts in 主播大秀 Sounds and adding a programme to your favourites in 主播大秀 iPlayer.</p> <p>The prior implementations have been undertaken in a product-specific fashion, but we are building 鈥檉ollow鈥 in a unified way, aiming for a seamless audience and technical approach across all products. Behind the scenes, the mechanism for all these types of 鈥榝ollowing鈥 is common. How might we create an experience which harnesses all these 鈥榝ollow鈥 events to aid in content discovery by putting new and relevant content to our audiences quickly and efficiently?</p> <h4>Principles</h4> <p><a href="/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c">For further background, read Matthew Clark鈥檚 blog post</a>.</p> <p><strong>Platform Consistency</strong></p> <p>All new developments will occur within the 主播大秀鈥檚 existing web technology platform unless it is not technically possible. WebCore utilises a mono-repository and because all the teams can access everyone鈥檚 code, it becomes much easier to be consistent across all our teams鈥 work. The graphical components are all stored in a central repository and are available to all teams to utilise and integrate into their own developments.</p> <p><strong>Reuse</strong></p> <p>All existing solution building blocks need to be taken into account and reused where applicable. If anything new is developed, it must be straightforward for other teams to utilise or develop further to meet their own needs.</p> <p><strong>Collaborate</strong></p> <p>Collaboration with other teams is key to this project鈥檚 success. This work is being carried out within a complex organisation and as such, numerous teams and colleagues will be stakeholders in it. Openness and a readiness to collaborate will pay dividends later.</p> <h4>The Key Considerations and Complexities:</h4> <p><strong>What concepts should the audience be able to follow?</strong></p> <ul> <li>We have chosen to do this, initially, at the topic level. For example, audience members will be able to follow their favourite musical artists, news correspondents or even locations. As topics are representations of the concepts that the 主播大秀 is creating content on, this feels like a more natural fit given that new content will keep being added to inform audiences on. While standalone content items can be revised (often with minor or major edits) after publication or when the story develops, this feels like too granular a level for a user to specifically follow, making a save or read later function more appropriate. To 鈥楩ollow鈥 an article, for example, is more of a 鈥榬ead later鈥 function.</li> </ul> <p><strong>We need to understand how a 鈥榝ollow鈥 button should operate and how it changes state based on the current context it鈥檚 displayed within.</strong></p> <ul> <li>We need to consider if the audience member is already following a topic or not, if we need to offer the ability to unfollow that topic or not.</li> <li>We also need to consider preferences we鈥檝e already been given for other follow-like implementations and if it鈥檚 appropriate or not to use that data.</li> <li>It might also be applicable to present a follow count to indicate how popular a particular topic might be.</li> <li>We will also make the button mechanism available to our app ecosystem to keep the mechanism consistent across all our platforms.</li> <li>We need to build the logical components in such a way that they will operate in the same way regardless of where the follow button is presented.</li> <li>For example, if the follow button is offered on a Pan-主播大秀 topics page like <a href="/topics/c45r8dl5xxnt">Manchester</a> or <a href="/news/topics/cezlkpjzx2jt">Mark D鈥橝rcy</a> we must ensure the behaviour is consistent and intuitive.</li> <li>How will it work within accessibility guidelines?</li> <li>How will it work for our apps?</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093wjjb.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093wjjb.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093wjjb.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093wjjb.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093wjjb.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093wjjb.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093wjjb.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093wjjb.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093wjjb.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p><strong>Legal constraints and how this will operate within the law</strong></p> <ul> <li>Considering GDPR and previous preferences provided to us by our audience members, can this new capability function within the law and if not, what must we do to ensure we are legally compliant and transparent to our audience?</li> </ul> <p><strong>How will this operate within the overall ecosystem of the 主播大秀 Online estate?</strong></p> <ul> <li>The 主播大秀 Online estate is complex and ever shifting. We must ensure we abide by open standards and reuse existing services to ensure a good fit today and for the future. Also, we must collaborate with teams internally to ensure our internal stakeholders are fully aware of our progress.</li> </ul> <p><strong>How will we ensure we don鈥檛 create echo chambers for audiences?</strong></p> <ul> <li>We need to carefully consider how we present followed content, so that it is presented coherently alongside both recommendations and related content.</li> <li>Followed content will be shown next to editorially curated selection, therefore, we will also need to consider how we deduplicate and prioritise content.</li> </ul> <p><strong>How do we maintain adequate levels of data to be functional and keep that minimal dataset secure?</strong></p> <ul> <li>We have a very robust data security process to satisfy. At every design step, security of the data is a key requirement.</li> </ul> <p><strong>What data do we need to record to adequately record a Follow action?</strong></p> <ul> <li>This data must then be easily parsed and follow our own internal standards and schemas.</li> <li>This data format must be compatible with the User Activity Service 鈥 our centralised location for storing user activity data 鈥 and be registered with it.</li> </ul> <p><strong>Where is the result of following one or more topics displayed? i.e. how are followed topics surfaced?</strong></p> <ul> <li>This is a key question for any product team. The 主播大秀page team will have different needs than for example, the Sport team. But, the underlying system must be able to cope with this in as an efficient manner as possible.</li> <li>A key consideration is how much should we develop for each delivery? We could work for a long period and deliver in a more big-bang approach, or does it make more sense to develop in small iterations accepting a changing interface and functionality to our audience?</li> </ul> <p><strong>How will this level of personalisation work within the WebCore stack鈥檚 caching strategies?</strong></p> <ul> <li>This is less of a concern for our team as we鈥檒l be using the outcome rather than heavily contributing to it. However, it is of great importance and so we will keep in close touch with the team working on it to ensure no assumptions are made about what is needed.</li> </ul> <p><strong>Do we have the technical capability to process a potentially complex set of follow activities?</strong></p> <ul> <li>Our 主播大秀 主播大秀 Data Capabilities Team is developing specific technology based on AWS ElasticSearch for this very purpose.</li> <li>This system will capture metadata about our content from various internal sources to allow us to query that metadata in novel ways to find the content we need on a per user basis.</li> </ul> <h4>How will the resulting follow actions be surfaced?</h4> <p>The Follow Product and User Experience team have broken down the approach into four separate phases:</p> <ol> <li>Audience members will be able to see what topics they鈥檙e currently following, follow new ones and choose to unfollow others from a topic index page or the 主播大秀 homepage.</li> <li>Our audience members will be able to see the topics they have followed across the News and Sport websites and apps. This will come with the new ability to manage what they have followed across the 主播大秀.</li> <li>Also, our audience will get the ability to follow a topic from the content level i.e. from within an article.</li> <li>Follow will become a unified approach across the 主播大秀 online estate helping breakdown any barriers between content and aiding discovery for all audience members.</li> </ol> <p>One outlet for follow is in alerts and notifications. There is a team working hard on understanding how best to achieve this whilst offering the most value to our audience. It鈥檚 a complex area so we鈥檙e keeping close on that work to ensure we鈥檙e ready for it.</p> <h4>Conclusion</h4> <p>It is early days for 鈥榝ollow鈥, but the ground work is already in place for it to be a great success. The 主播大秀 topics product is maturing and is already powering the majority of the Sport website and app. It also powers the 主播大秀 homepages and we鈥檙e currently working closely with the News team to help them bring the 主播大秀 News topics up to date and into the WebCore world.</p> <p>We鈥檝e detailed our key principles and considerations around the follow action and how we plan to implement it. It鈥檚 a challenging area to work within but all the building blocks are sliding into place, and we鈥檙e starting to look at how and when we can roll out the first phase. Following a topic is something people understand, as they鈥檙e used to doing it on social media.</p> <p>We鈥檙e working hard on bringing this functionality to our audiences as soon as we can make sure it meets the level of quality our audience expects from the 主播大秀. We aim to bring together all our content to all our audiences in such a way that the traditional silos of content are blurred to the point of invisibility.</p> </div> <![CDATA[主播大秀 Food at 20: Its biggest year]]> 2021-01-08T08:46:27+00:00 2021-01-08T08:46:27+00:00 /blogs/internet/entries/d9b5fafd-1534-4203-a650-7e04db0a40f1 Jen Hartshorne, Dan Morehead, David Fine <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0936zfn.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0936zfn.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0936zfn.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0936zfn.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0936zfn.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0936zfn.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0936zfn.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0936zfn.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0936zfn.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Banana Bread</em></p></div> <div class="component prose"> <p>20 years ago when 主播大秀 Food was first created we would never have imagined how we鈥檇 be celebrating its 20th anniversary.聽The average weekly traffic across all weeks in 2020 was 3.4m unique UK browsers, which was up +74% on the average for the previous calendar year. The peak weekly traffic came at Easter with 6.4m UK unique browsers.. That鈥檚 quite a birthday party!</p> <h4>2020 wasn鈥檛 an ordinary year</h4> <p>Back in March 2020, as stocks in shops diminished, more people found themselves at home and people juggled a working life with childcare, there were overnight changes to everyday behaviours up and down the country.</p> <p>On 16th March the country was asked to start restricting movements and interestingly, within a couple of days of the press conference, we saw that Google search trends heavily featured bread searches. In fact, 7 of the top 10 Food and Drink related searches included bread. It comes as no surprise then that 10 of 主播大秀 Food鈥檚 most popular 40 pages that week were bread related, with a huge nod towards banana bread. People weren鈥檛 only turning to bread though, as another 10 of 主播大秀 Food鈥檚 most popular 40 pages were related to baking in general. There was a particular period in lockdown where the top 20 recipes contained no family cooking. It was 19 baking recipes 鈥 plus Dalgona coffee (a viral trend that had a moment and performed fantastically for us at the time).</p> <p>The below outlines what went on to be the most popular recipes of 2020:</p> <ul> <li><a href="/food/recipes/fluffyamericanpancak_74828" target="_blank">Fluffy American pancakes</a></li> <li><a href="/food/recipes/bananabread_85720" target="_blank">Banana bread</a></li> <li><a href="/food/recipes/tea_time_scones_77839" target="_blank">Mary Berry鈥檚 scones</a></li> <li><a href="/food/recipes/shortbread_1290" target="_blank">Shortbread</a></li> <li><a href="/food/recipes/pizzadoughbase_70980" target="_blank">Pizza dough</a></li> <li><a href="/food/recipes/mary_berrys_perfect_34317" target="_blank">Mary Berry鈥檚 easy Victoria sandwich</a></li> <li><a href="/food/recipes/yorkshire_pudding_69240" target="_blank">Yorkshire pudding</a></li> <li><a href="/food/recipes/basicbuttericing_73263" target="_blank">Basic buttercream icing</a></li> <li><a href="/food/recipes/frozen_chocolate_chip_95194" target="_blank">Easy chocolate chip cookies</a></li> <li><a href="/food/recipes/easiest_ever_banana_cake_42108" target="_blank">Easiest ever banana cake</a></li> <li><a href="/food/recipes/easy_chocolate_cake_31070" target="_blank">Easy chocolate cake</a></li> <li><a href="/food/recipes/richchocolatebrownie_1933" target="_blank">Chocolate brownies</a></li> <li><a href="/food/recipes/applecrumble_2971" target="_blank">Apple crumble</a></li> </ul> <ul> <li><a href="/food/recipes/mary_berrys_lasagne_al_16923" target="_blank">Lasagne al forno</a></li> <li><a href="/food/recipes/great_sausage_casserole_73010" target="_blank">Hairy Bikers鈥 sausage casserole</a></li> <li><a href="/food/recipes/paul_hollywoods_crusty_83536" target="_blank">Easy white bread</a></li> <li><a href="/food/recipes/gingerbread_men_99096" target="_blank">Gingerbread men</a></li> <li><a href="/food/recipes/easy_spaghetti_bolognese_93639" target="_blank">Easy spaghetti bolognese</a></li> <li><a href="/food/recipes/classic_carrot_cake_08513" target="_blank">Classic carrot cake</a></li> <li><a href="/food/recipes/breadandbutterpuddin_85936" target="_blank">Bread and butter pudding</a></li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093701q.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093701q.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093701q.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093701q.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093701q.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093701q.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093701q.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093701q.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093701q.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Fluffy American pancakes</em></p></div> <div class="component prose"> <p>The <a href="/food/search" target="_blank">主播大秀 Food search</a> became popular as we approached summer, and even became the most popular page on 主播大秀 Food. This is because people started searching for what to do with specific ingredients that were in their store cupboard, either because they were shielding and couldn鈥檛 go out or because of limited supplies in shops.</p> <p>We also began to see article content drive traffic, particularly articles related to coping through lockdown 鈥 health, budgeting, limited ingredients. Below are the top 20 articles of 2020:</p> <ul> <li><a href="/food/articles/roast-calculator" target="_blank">Roast calculator</a></li> <li><a href="/food/articles/veg_variety" target="_blank">Why are we so obsessed with carrots, onions, peas and tomatoes?</a></li> <li><a href="/food/articles/food_security" target="_blank">Will Covid-19 lead to long-term food shortages and price rises?</a></li> <li><a href="/food/articles/strength_exercises" target="_blank">Easy exercises you can do at home to boost strength and health</a></li> <li><a href="/food/articles/how_to_make_bread_with_plain_flour" target="_blank">How to make bread without yeast or bread flour</a></li> <li><a href="/food/articles/soy" target="_blank">Should you worry about the hidden food we consume 1kg a week of?</a></li> <li><a href="/food/articles/no_sugar_week" target="_blank">Surprising things I learned when I gave up sugar for a week</a></li> <li><a href="/food/articles/dalgona_coffee" target="_blank">Dalgona coffee: does the internet鈥檚 new favourite drink actually work?</a></li> <li><a href="/food/articles/fibre" target="_blank">How to eat more of the lifesaving nutrient 90% of us lack</a></li> <li><a href="/food/articles/lose_weight_get_fit" target="_blank">Diet and exercise calculator: What鈥檚 the right plan for you?</a></li> <li><a href="/food/articles/truth_about_takeaways">What really happens to your body if you eat lots of takeaways?</a></li> <li><a href="/food/articles/food_myths" target="_blank">The food myths my friends believe that drive me crazy</a></li> <li><a href="/food/articles/lockdown_health_tips" target="_blank">Lockdown and weight gain 鈥 should you worry?</a></li> <li><a href="/food/articles/food_revolution" target="_blank">Is the UK on the brink of a revolution in how we buy food?</a></li> <li><a href="/food/articles/vitamin_d" target="_blank">Which vital nutrient are nearly a third of us not getting enough of?</a></li> <li><a href="/food/articles/fast_food_home">What are the best fast foods people are making in lockdown?</a></li> <li><a href="/food/articles/diet_and_immunity" target="_blank">How important is diet for a healthy immune system?</a></li> <li><a href="/food/articles/how_to_lose_belly_fat_in_four_weeks" target="_blank">How to lose an inch of belly fat in four weeks</a></li> <li><a href="/food/articles/miriam_margoyles" target="_blank">Miriam Margolyes: 鈥業f you鈥檙e mean about fat people I hate you鈥</a></li> <li><a href="/food/articles/metabolism" target="_blank">Can you train your metabolism to work faster?</a></li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p09378tx.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p09378tx.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p09378tx.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p09378tx.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p09378tx.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p09378tx.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p09378tx.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p09378tx.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p09378tx.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Carrot cake</em></p></div> <div class="component prose"> <p>As the year went on the trends observed above continued, sometimes to a lesser extent dependent on the layers of lockdown applied at any given time and location.</p> <ul> <li>January: no real trends (Fluffy American pancakes, 171k unique UK visitors)</li> <li>February: <strong>pancakes!</strong> Fluffy American pancakes, Basic pancakes with sugar, and How to make pancakes rounded out our top 3 in Feb, totalling 1.16m.</li> <li>March: Fluffy American pancakes, banana bread starts its rise to stardom, and easy white bread, totalling 900k.</li> <li>April: <strong>Banana bread, 657k</strong>.</li> <li>May: <strong>Mary Berry鈥檚 scones for VE Day 鈥 570k</strong>.</li> <li>June: Fluffy American pancakes 鈥 321k.</li> <li>July: Fluffy American pancakes 鈥 259k.</li> <li>August: Fluffy American pancakes 鈥 254k.</li> <li>September: Fluffy American pancakes 鈥 205k.</li> <li>October: Fluffy American pancakes 鈥 256k.</li> <li>November: Fluffy American pancakes 鈥 254k. But, Christmas Cake close behind with 238k.</li> <li>December: <strong>Gingerbread men with 398k</strong> 鈥 the honey-glazed ham a little behind with 326k.</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p09377yt.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p09377yt.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p09377yt.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p09377yt.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p09377yt.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p09377yt.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p09377yt.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p09377yt.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p09377yt.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Mary Berry's scones were popular to celebrate VE Day</em></p></div> <div class="component prose"> <h4>Popular peaks</h4> <p>These trends, alongside regular annual events, helped to determine the most popular peak days on 主播大秀 Food:</p> <ul> <li>24 December 鈥 Christmas Eve (<strong>Honey-glazed gammon</strong>; Article 鈥 The Christmas treats we need to make a comeback)</li> <li>12 April 鈥 Easter Sunday (<strong>Roast leg of lamb with garlic & rosemary</strong>; Yorkshire puddings; fluffy American pancakes; roast calculator)</li> <li>18 April (Search; 主播大秀page; fluffy American pancakes)</li> <li>13 April 鈥 Easter Monday (<strong>Article 鈥 how to use your freezer better;</strong> banana bread)</li> <li>3 May (Fluffy American pancakes; Search)</li> <li>29 March 鈥 first Sunday of lockdown (Banana bread; fluffy American pancakes; Search)</li> <li>4 April (Budget homepage; banana bread; Search; fluffy American pancakes)</li> <li>2 April (<strong>Article 鈥 how to make bread with plain flour</strong>; Article 鈥 Chefs鈥 top tips for when we鈥檙e short on supplies)</li> <li>11 April 鈥 Easter Saturday (Search; fluffy American pancakes)</li> <li>19 April (Search; fluffy American pancakes)</li> </ul> <p>Following the most successful year for 主播大秀 Food we then completed this with the biggest Christmas we鈥檝e seen. During Christmas week we achieved <strong>5.1m UK unique browsers</strong> on 主播大秀 Food, this beats our previous highest Christmas peak (set in 2019) by 33%. Our peak hours came between 1pm and 6pm on Christmas Eve, followed by 11am to 1pm on Christmas day. The most popular recipe (by quite some way) during Christmas week was the <a href="/food/recipes/traditional_honey-glazed_52289" target="_blank">Honey-glazed gammon</a> which received 226,523 visitors.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0937820.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0937820.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0937820.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0937820.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0937820.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0937820.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0937820.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0937820.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0937820.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Honey-glazed gammon</em></p></div> <div class="component prose"> <h4>Budget cooking and Daily Kitchen Live</h4> <p>With changes happening very quickly, we had to look at how 主播大秀 Food could be there to ensure the nation made the most of the food that was in their store cupboard. A new topical budget index was put together incredibly quickly so we could respond to an audience need. It combines articles and recipes; the editorial team commission recipes and feature articles that educate audiences in healthy eating and eating better on a budget. They also produce educational video content to teach basic cooking skills and work with qualified dietitians and experienced home economists to make sure the health and budget advice is evidence-based.</p> <p>In April, 鈥楽aturday Kitchen鈥 turned up the dial and turned into a daily show, 鈥楧aily Kitchen Live鈥.</p> <p>As all the recipes came into the 主播大秀 Food website, we fed in our search trend findings so we could use it to fill any commissioning blanks and in turn attempt to increase reach further.</p> <h4>Changes to trends: Reactive SEO</h4> <p>When conducting any keyword research for SEO purposes, we would typically take into consideration the average monthly search volume of terms. The average would obviously be influenced by seasonality, but the terms with higher search volumes are typically much more competitive as a lot of sites compete to rank and gain traffic.</p> <p>Lockdown meant that there was nothing 鈥渁verage鈥 about search behaviour and traditional search volumes went out of the window.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0937872.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0937872.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0937872.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0937872.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0937872.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0937872.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0937872.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0937872.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0937872.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>'How to make' Google search volumes</em></p></div> <div class="component prose"> <p>Using Google Trends we were able to analyse the changing behaviour, as in the above screenshot, which shows the rise in queries related to 鈥榟ow to make鈥 in the Food & Drink category during the first week that the UK went into lockdown at the end of March.</p> <p>By conducting trends analysis you can then see top and rising queries related to a phrase or topic in order to determine whether your site already contains related content or if new content needs to be produced to fulfil this new user intent. It can take some time to commission, test, photograph, and upload new recipes, so adapting or promoting existing content was key to maximising visibility during this period.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b41p.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b41p.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b41p.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b41p.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b41p.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b41p.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b41p.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b41p.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b41p.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>鈥楬ow to make 鈥︹ became an extremely popular range of queries during the initial lockdown period, as the UK began to adapt to the new challenges of 2020.</p> <p>If we look at Google鈥檚 Search Console data, beginning on the date of Boris Johnson鈥檚 initial press conference advising British people to stay at home, we can see that there were approx 2.5m visits to bbc.co.uk for queries containing 鈥榟ow to make鈥.</p> </div> <div class="component prose"> <p>The query driving the largest amount of traffic during this time was 鈥榟ow to make a face mask鈥, <a href="/news/uk-52609777" target="_blank">which the News team had covered</a>. The other four are food related, which was reflecting the growing trends in home cooking and baking during lockdown.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b4bt.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b4bt.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b4bt.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b4bt.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b4bt.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b4bt.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b4bt.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b4bt.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b4bt.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b5p1.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b5p1.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b5p1.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b5p1.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b5p1.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b5p1.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b5p1.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b5p1.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b5p1.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>In order to quickly analyse what was driving organic traffic, a Google Data Studio report was spun up, allowing easy access for all stakeholders to specify a date range in order to view the most popular recipes which were being accessed, along with the search queries which drove them.<br />It was at this point that the banana bread baking craze was in full swing and began to register record-level organic traffic to the Food site.</p> <h4>Changing Spikes</h4> <p>Typically, there are two organic traffic peaks for the 主播大秀 Food site during the year. The biggest peak is during the week building up to Christmas when the public are planning their shopping lists (or leaving searching for recipes right until the last minute on Christmas Eve or Day as millions seem to do!).</p> <p>The second peak is at pancake day, when the nation is split between those who prefer <a href="/food/recipes/basicpancakeswithsuga_66226" target="_blank">Delia Smith鈥檚 pancakes </a>with sugar and lemon juice, and those who fancy <a href="/food/recipes/fluffyamericanpancak_74828">American-style fluffy pancakes.</a> Perhaps unexpectedly, the American-style have consistently been one of the most popular recipes on the entire Food site.</p> <p>In the below graph we can see the spike for <a href="/food/occasions/pancake_day" target="_self">Pancake Day</a> traffic at the end of February, before lockdown was announced. With restaurants and takeaways closed across all nations of the UK during a similar period, demand for recipes skyrocketed.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b5xl.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b5xl.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b5xl.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b5xl.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b5xl.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b5xl.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b5xl.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b5xl.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b5xl.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>Overnight, this particular <a href="/food/recipes/bananabread_85720" target="_blank">banana bread recipe </a>became one of the most popular pages across the entire 主播大秀 online estate, with over 11 million organic visits between the UK鈥檚 lockdown beginning on 23rd March and ending on 4th July (for England 鈥 end dates vary per nation).</p> <h4>Top Search Terms Driving Traffic During the UK鈥檚 Lockdown (23/3/20鈥4/7/20):</h4> <ul> <li>Keyword: banana bread</li> <li>Visits: 487172</li> <li>Top Landing Page: <a href="/food/recipes/bananabread_85720">/food/recipes/bananabread_85720</a></li> </ul> <p>聽</p> <ul> <li>Keyword: shortbread recipe</li> <li>Visits: 423045</li> <li>Top Landing Page: <a href="/food/recipes/shortbread_1290">/food/recipes/shortbread_1290</a></li> </ul> <p>聽</p> <ul> <li>Keyword: pizza dough recipe</li> <li>Visits: 412820</li> <li>Top Landing Page: <a href="/food/recipes/pizzadoughbase_70980">/food/recipes/pizzadoughbase_70980</a></li> </ul> <p>聽</p> <ul> <li>Keyword: banana bread recipe</li> <li>Visits: 348937</li> <li>Top Landing Page: <a href="/food/recipes/bananabread_85720">/food/recipes/bananabread_85720</a></li> </ul> <p>聽</p> <ul> <li>Keyword: pancake recipe</li> <li>Visits: 340006</li> <li>Top Landing Page: <a href="/food/recipes/fluffyamericanpancak_74828">/food/recipes/fluffyamericanpancak_74828</a></li> </ul> <p>聽</p> <ul> <li>Keyword: scone recipe</li> <li>Visits: 311669</li> <li>Top Landing Page:<a href="%20/food/recipes/tea_time_scones_77839"> /food/recipes/tea_time_scones_77839</a></li> </ul> <p>聽</p> <ul> <li>Keyword: banana cake</li> <li>Visits: 277678</li> <li>Top Landing Page:<a href="%20/food/recipes/easiest_ever_banana_cake_42108"> /food/recipes/easiest_ever_banana_cake_42108</a></li> </ul> <p>聽</p> <ul> <li>Keyword: carrot cake recipe</li> <li>Visits: 273081</li> <li>Top Landing Page: <a href="/food/recipes/classic_carrot_cake_08513">/food/recipes/classic_carrot_cake_08513</a></li> </ul> <p>聽</p> <ul> <li>Keyword: american pancakes</li> <li>Visits: 271192</li> <li>Top Landing Page: <a href="/food/recipes/fluffyamericanpancak_74828">/food/recipes/fluffyamericanpancak_74828</a></li> </ul> <p>聽</p> <ul> <li>Keyword: bread and butter pudding</li> <li>Visits: 242924</li> <li>Top Landing Page: <a href="/food/recipes/breadandbutterpuddin_85936">/food/recipes/breadandbutterpuddin_85936</a></li> </ul> <h4>Christmas Trends</h4> <p>Using the experience of 2019 alongside our historic traffic data, we had been preparing for 主播大秀 Food to receive its greatest amount of seasonal traffic at Christmas 2020.</p> <p>This period can be split into three distinct sections:</p> <ul> <li>Pre-Christmas (1st-23rd December)</li> <li>Christmas (24th & 25th December)</li> <li>Post-Christmas(26th-31st December)</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b6sd.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b6sd.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b6sd.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b6sd.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b6sd.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b6sd.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b6sd.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b6sd.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b6sd.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>Pre-Christmas</h4> <p>Although it can be tempting to start this period even earlier as some people make Christmas cakes as early as September, the pre-Christmas period of 1st-23rd December is when we start to really see the traffic ramping up to an annual high. Comfort food and mulled wine takes centre stage in December as the temperature drops further.</p> <p>Top 5 Search Terms Pre-Christmas 2019:</p> <ul> <li><a href="/food/recipes/shortbread_1290" target="_blank">Shortbread Recipe</a></li> <li><a href="/food/recipes/mulledwine_84959" target="_blank">Mulled Wine Recipe</a></li> <li><a href="/food/recipes/gingerbread_men_99096" target="_blank">Gingerbread Recipe</a></li> <li><a href="/food/recipes/mince_pies_16839" target="_blank">Mince Pie Recipe</a></li> <li><a href="/food/recipes/make-ahead_red_cabbage_13106" target="_blank">Red Cabbage Recipe</a></li> </ul> <p>The top 5 terms saw only slight changes in 2020, with more Brits enjoying eggnog than ever before.</p> <p>Top 5 Search Terms Pre-Christmas 2020:</p> <ul> <li><a href="/food/recipes/gingerbread_men_99096" target="_blank">Gingerbread Recipe</a></li> <li><a href="/food/recipes/shortbread_1290" target="_blank">Shortbread Recipe</a></li> <li><a href="/food/recipes/egg_nog_64580" target="_blank">Eggnog</a></li> <li><a href="/food/recipes/paul_hollywoods_mince_04604" target="_blank">Mince Pie Recipe</a></li> <li><a href="/food/recipes/fluffyamericanpancak_74828" target="_blank">Pancake Recipe</a></li> </ul> </div> <div class="component prose"> <h4>Christmas</h4> <p>Whilst the majority of research for shopping purposes has been done in advance, once Christmas Eve hits, the public begin to search for how to actually cook the turkey they have purchased.</p> <p>Rather than searching for the vague term 鈥渃hristmas dinner鈥, searchers are typically looking for how to cook the specific elements of their meals.<br />Perhaps surprisingly, Google Trends indicated that red cabbage was the most searched recipe during this period in 2019 and our own data also puts it on top spot.</p> <p>Top 5 Search Terms Christmas 2019:</p> <ul> <li><a href="/food/recipes/make-ahead_red_cabbage_13106" target="_blank">Red Cabbage Recipe</a></li> <li><a href="/food/recipes/the_perfect_roast_turkey_01155" target="_blank">How To Cook A Turkey</a></li> <li><a href="/food/recipes/yorkshire_pudding_69240" target="_blank">Yorkshire Pudding</a></li> <li><a href="/food/recipes/roastpotatoes_92811" target="_blank">Roast Potatoes</a></li> <li><a href="/food/recipes/mulledwine_84959" target="_blank">Mulled Wine Recipe</a></li> </ul> <p>Red cabbage lost its top spot last year.</p> <p>Top 5 Search Terms Christmas 2020:</p> <ul> <li><a href="/food/recipes/yorkshire_pudding_69240" target="_blank">Yorkshire Pudding</a></li> <li><a href="/food/recipes/the_perfect_roast_turkey_01155" target="_blank">How To Cook A Turkey Crown</a></li> <li><a href="/food/recipes/make-ahead_red_cabbage_13106" target="_blank">Red Cabbage Recipes</a></li> <li><a href="/food/recipes/egg_nog_64580" target="_blank">Eggnog</a></li> <li><a href="/food/recipes/roastpotatoes_92811" target="_blank">Roast Potatoes</a></li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p093b715.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p093b715.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p093b715.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p093b715.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p093b715.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p093b715.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p093b715.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p093b715.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p093b715.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Leftover Turkey and Ham pie</em></p></div> <div class="component prose"> <h4>Post Christmas</h4> <p>Once Christmas dinner is out of the way, it is time for the leftovers to shine, with turkey pies and curries moving to top of the trends.</p> <p>Top 5 Search Terms Post-Christmas 2019:</p> <ul> <li><a href="/food/recipes/leftover_turkey_and_ham_95969" target="_blank">Turkey and Ham Pie</a></li> <li><a href="/food/recipes/turkeycurry_78850" target="_blank">Turkey Curry</a></li> <li><a href="/food/recipes/fluffyamericanpancak_74828" target="_blank">Pancake Recipe</a></li> <li><a href="/food/recipes/boeuf_bourguignon_25475" target="_blank">Beef Bourguignon</a></li> <li><a href="/food/recipes/yorkshire_pudding_69240" target="_blank">Yorkshire Pudding</a></li> </ul> <p>Top 5 Search Terms Post-Christmas 2020:</p> <ul> <li><a href="/food/recipes/turkeycurry_78850" target="_blank">Turkey Curry</a></li> <li><a href="/food/recipes/leftover_turkey_and_ham_95969" target="_blank">Turkey and Ham Pie</a></li> <li><a href="/food/recipes/fluffyamericanpancak_74828" target="_blank">Pancake Recipe</a></li> <li><a href="/food/recipes/fluffyamericanpancak_74828" target="_blank">American Pancakes</a></li> <li><a href="/food/recipes/breadandbutterpuddin_85936" target="_blank">Bread and Butter Pudding</a></li> </ul> <h4>What鈥檚 Next?</h4> <p>Although reactive SEO arguably played a bigger part last year than any before, it is still necessary to plan ahead for events we know will always be big in the food calendar 鈥 with Veganuary now in full flow and then Pancake Day just around the corner, there鈥檚 plenty to sink our teeth into.</p> </div> <![CDATA[主播大秀 Online: 2020 in review]]> 2020-12-07T13:44:53+00:00 2020-12-07T13:44:53+00:00 /blogs/internet/entries/cf71a61c-9da9-4194-90af-4e754956edf3 Neil Craig <div class="component prose"> <p>2020 has clearly been a <em>very</em> unusual and oftentimes painful year in many ways for just about everyone on the planet. Like many organisations, we鈥檝e had to shift the majority of our staff to working from home in a very short timeframe 鈥 this was easier for some teams and people than others.</p> <p>It鈥檚 well documented that in troubling times, the world comes to the 主播大秀. Nowadays, that means we see big increases in demand for our online services. That extra demand and adaptation to new working patterns has been coupled with enormous changes in our output 鈥 far fewer TV programmes being made, much more frequent breaking news events, a significant bump in the volume of online education we provide and regular live press briefings, to name but a few.</p> <p>With all this going on, it鈥檚 easy to forget about the fantastic work which has been going on, so we wanted to follow on from last year鈥檚 鈥<a href="/blogs/internet/entries/a5e736f1-831a-4537-b4cb-934d33a1d0cf" target="_blank">主播大秀 Online 鈥 2019 in review</a>鈥 and document 2020. Lots of our teams have contributed so you鈥檒l be able to see some of the highlights of their achievements.</p> <h4>主播大秀 Children鈥檚 and Education</h4> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090q17j.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090q17j.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090q17j.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090q17j.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090q17j.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090q17j.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090q17j.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090q17j.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090q17j.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>The Children鈥檚 and Education team are responsible for building and maintaining 4 flagship CBeebies app propositions, 1 C主播大秀 app proposition, 350+ interactive games and content items, the C主播大秀, CBeebies and Own It websites along with the Bitesize website and app.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090q1b1.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090q1b1.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090q1b1.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090q1b1.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090q1b1.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090q1b1.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090q1b1.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090q1b1.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090q1b1.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <ul> <li><a href="/blogs/internet/entries/3533ce9c-393a-43d8-8f44-0c46214c86aa">Jacob Clark has written a blog post 鈥淪hipping Progressive Web Apps everywhere鈥</a>, which outlines in detail the journey we鈥檝e been on these past 12 months transforming how we build our 5 flagship Children鈥檚 apps. Shifting away from proprietary native app frameworks to building on modern, open, web standards, developing universally distributable web apps on a new platform.</li> <li>We鈥檝e been working hard over the course of the past year ensuring children and parents have access to resources to <a href="/blogs/internet/entries/51d7cc3b-0cb7-4de1-9347-0957744a7b99">Daily Lessons</a> to continue their education as well as <a href="/blogs/internet/entries/585c7800-5248-4201-939a-89d44213a418" target="_blank">developing new, personalised and adaptive learning experiences</a>.</li> <li>Across our games estate, we鈥檝e been working on ways to provide users with onward journeys into more games they might be interested in through our cross platform 鈥淓xit Tile鈥 whilst developing features such as Shops within our core game engine technology <a href="https://github.com/bbc/genie">Genie</a>.</li> </ul> <h4>主播大秀 Account</h4> <p>The 主播大秀 Account team are responsible for enabling sign in or registration for a 主播大秀 Account. This helps to enable a personalised service for our audience members across TVs, the 主播大秀 website and mobile applications.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qbq0.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qbq0.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qbq0.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qbq0.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qbq0.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qbq0.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qbq0.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qbq0.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qbq0.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>In 2020 we鈥檝e brought lots of great improvements to 主播大秀 account:</p> <ul> <li><strong>Children鈥檚 profiles</strong>: We鈥檝e worked closely with the iPlayer team to enable our younger viewers to see the content that鈥檚 more relevant to them using our new children鈥檚 profiles on televisions.</li> <li><strong>Password breach checker</strong>: Building on an idea from our engineering 10% innovation time, we aim to help our audience to create safer passwords by checking if they have been used in a previous data breach. Read more <a href="/blogs/internet/entries/4914ed43-dbf7-4480-bbc0-1c38c43c314d" target="_blank">here</a>.</li> <li><strong>Showcasing Account Memories</strong>: To remind users of the amazing content they have enjoyed and to associate happy memories with the 主播大秀, we鈥檝e started to play back some of the user activities within the Account space.</li> <li><strong>Performance improvements</strong>: We鈥檝e iterated and optimised our applications to enable better resource utilisation and autoscaling. This has allowed us to cope with the increased demand for our accounts during lockdown.</li> <li><strong>Rolling refresh tokens</strong>: To improve the experience for our TV users, we鈥檙e keeping regular users signed in for longer.</li> <li><strong>iOS and Android</strong>: We鈥檙e making better use of the capabilities of these platforms to make it easier for our users to sign-on to multiple 主播大秀 apps and websites.</li> </ul> <h4>主播大秀 World Service News</h4> <p>The World Service News teams are responsible for building and maintaining an open source platform called Simorgh which is used for the 主播大秀鈥檚 41 language World Service News websites. We鈥檙e made up of 13 Engineers, 2 Business Analysts, 2 Product Managers, 2 Delivery Managers, 3 Testers and 7 User Experience Designers.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qbxv.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qbxv.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qbxv.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qbxv.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qbxv.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qbxv.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qbxv.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qbxv.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qbxv.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>This year we鈥檝e been working on:</p> <ul> <li><strong>Simorgh</strong>: Over the past 12 months we鈥檝e migrated our pages which are spread across 41 discrete sites from a legacy PHP monolith to a new React based application. This application is called <a href="https://github.com/bbc/simorgh/" target="_blank">Simorgh</a>, an open source, isomorphic single page application developed by the World Service languages team.</li> <li><strong>Performance improvements</strong>: A large proportion of the 主播大秀 World Service audience are on slower 2G and 3G networks, they use lower end budget-friendly android handsets or feature phones. Blocking JavaScript requests dropped by 100% from 9 to 0, JavaScript requests dropped by 79% and total page weight is now 60% smaller than before. We have <a href="/blogs/internet/entries/a98f6952-4051-4b8f-8d27-35b3db69a839" target="_blank">made other efforts to improve our web page performance</a>, meaning our worldwide audiences can access stories quicker than before.</li> <li><strong>New reading experiences</strong>: We have started work on a project to deliver a new article experience to our users, which will allow our editorial teams to more easily create content for our audiences.</li> <li><strong>Improved media experiences</strong>: We have launched new ways for our worldwide audiences to access audio and video content on the World Service News websites.</li> </ul> <h4>主播大秀 Website (including News, Sport and 主播大秀)</h4> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qc2q.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qc2q.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qc2q.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qc2q.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qc2q.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qc2q.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qc2q.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qc2q.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qc2q.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>This year has been a huge year for the 主播大秀 website, which has completed its rebuild and move to the cloud. Tens of millions of people now consume articles, video clips, and other content on a rebuilt site that鈥檚 faster and more accessible. Multiple pages have been rebuilt, including the <a href="/" target="_blank">主播大秀 主播大秀 Page</a>, <a href="/topics/cdx270dyg4xt" target="_blank">topic pages</a>, <a href="/news/uk-england-merseyside-55131381" target="_blank">articles</a>, <a href="/news/av/science-environment-55206621" target="_blank">clips</a>, and <a href="/search" target="_blank">search</a>. And the technology used has changed, from PHP to Node.JS/React. It鈥檚 also partly hosted on serverless technology, and we believe we鈥檙e one of the largest sites in the world to do so.</p> <p>This recreation of our website, ready for the next decade, has been a huge programme of work. It鈥檚 tackled duplication and cross-team challenges, ensuring new site is as efficient and high quality as possible. <a href="/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c" target="_blank">Matthew Clark has written a separate post on the approach taken to make such a large change happen.</a></p> <h4>Radio & Music Services (主播大秀 Sounds Back End)</h4> <p>Radio & Music Services are a team made up of around 12 software engineers and 5 software engineers in test, along with product and business analysts. We鈥檙e responsible for building the API that encapsulate the product functionality of 主播大秀 Sounds. This API is used across web, apps and other clients to provide the Sounds Experience, drawing on content from around the 主播大秀.</p> <p>This year we鈥檝e been working on:</p> <ul> <li><strong>Audience</strong>: Rolling out Sounds to International users.</li> <li><strong>Tooling</strong>: Migrating our build system to Code Pipeline.</li> </ul> <h4>主播大秀 Voice+AI</h4> <p>The Voice+AI team are responsible for building & maintaining several Voice-based and AI-supported services in the 主播大秀. We鈥檙e made up of 45 engineers, 9 Product Managers, 5 Delivery Managers and a team of UX designers and editorial.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qcfj.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qcfj.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qcfj.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qcfj.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qcfj.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qcfj.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qcfj.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qcfj.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qcfj.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>This year we鈥檝e been working on:</p> <ul> <li><strong>Beeb, the voice assistant from the 主播大秀:</strong> We鈥檝e built, from the ground up, a fully-functioning voice assistant and released a Beta demonstrator on Windows 10. Built <a href="https://customers.microsoft.com/en-us/story/822271-bbc-deploys-beeb-a-custom-voice-assistant-on-azure">in partnership with Microsoft</a>, we鈥檙e using several new technologies, including<a href="https://dev.botframework.com/" target="_blank"> DirectLine Speech and BotFramework</a>, a custom <a href="https://www.luis.ai/">Natural Language Understanding model</a>, and a stellar bespoke neural voice that we developed for the 主播大秀. Beeb for Windows 10 is available today on the <a href="https://www.microsoft.com/en-gb/p/beeb-beta/9nbngw0r7kvh#activetab=pivot:overviewtab">Microsoft Store</a>.</li> <li><strong>主播大秀 Corona Bot</strong>: Launched to the 主播大秀 News Facebook pages鈥 50 million followers. Built using <a href="https://www.qnamaker.ai/">Azure鈥檚 QnA Maker Cognitive service,</a> the model for the chatbot was trained using editorially curated question and answer pairs on the latest information from lockdown rules, to relevant medical information with support from the NHS.</li> <li><strong>Songbird</strong>: In partnership with 主播大秀 World News we launched a 鈥榣isten to this article鈥 feature. An entirely new content format for the 主播大秀 the feature provides text-to-speech rendered articles using our bespoke <a href="https://www.youtube.com/watch?v=S-4XYQX7ZQs">neural voice</a>. Try it out on <a href="https://www.bbc.com/worklife/the-life-project" target="_blank">The Life Project</a>.</li> <li><strong>Local news bulletins:</strong> At the beginning of lockdown in March, we launched an ambitious project in partnership with <a href="/mediacentre/latestnews/2020/leicester-smart-speaker-news-update">Nations and Regions</a> to make available news updates from all 40 local stations in England, Scotland, NI and Wales. In the midst of a pandemic, local information is more important than ever.</li> </ul> <h4>主播大秀 Online Technology Group (OTG)</h4> <p>The Online Technology Group is responsible for the provision and management of the 主播大秀鈥檚 core online services such as networking, <a href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>, <a href="https://en.wikipedia.org/wiki/Content_delivery_network">CDNs</a>, audience-facing <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">TLS</a>,<a href="https://en.wikipedia.org/wiki/Load_balancing_(computing)"> load balancing</a>, <a href="https://en.wikipedia.org/wiki/Cache_(computing)">caching</a>, routing and <a href="https://en.wikipedia.org/wiki/High_availability">high-availability facilities </a>to content origins, our on-premise hosting platforms, and media analytics.</p> <p>Here鈥檚 what some of our teams have been working on in 2020:</p> <p><strong>Website traffic management</strong></p> <ul> <li><strong>DNS</strong>: Migrating our core DNS platform to a new supplier and building a robust, fast, low-cost, automated deployment and testing CI/CD pipeline which is driven from source control.</li> <li><strong>Statistics</strong>: Adapted our <a href="https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API">Reporting API collector</a> endpoint to also receive <a href="https://web.dev/vitals/">Web Vitals </a>data from our client-side code.</li> <li><strong>Website traffic management</strong>: Removed our old traffic managers and caching layer from the majority of traffic on <a href="/">www.bbc.co.uk</a> and <a href="https://www.bbc.com%20">www.bbc.com</a>.</li> <li><strong>Quality & efficiency</strong>: Made our www edge services more consistent & efficient (cache offload) across CDN & in-house traffic managers (GTM).</li> <li><strong>Traffic peaks</strong>: Like many organisations, the events of 2020 have resulted in regularly/constantly elevated traffic to our websites. We鈥檝e seen around 40% more than we did in 2019 鈥 a big bump on the usual year-on-year increases.</li> </ul> <p><strong>Media Distribution</strong></p> <p>主播大秀 Internet Distribution Infrastructure (BIDI) is an in-house Content Delivery Network (CDN) designed for high volume distribution of iPlayer video and audio streams.</p> <ul> <li><strong>Traffic peaks</strong>: BIDI鈥檚 traffic peak reached 1.2 Terabits per second in 2020, serving nearly 250,000 concurrent iPlayer clients.</li> <li><strong>SmartShard</strong>: A new playback routing algorithm called SmartShard has been developed, greatly improving cache efficiency and automating capacity management around the network.</li> <li><strong>Capacity</strong>: BIDI estate size has doubled in 2020. BIDI now consists of 102 caching servers, across 24 datacentres, using over 1,200 Solid State Drives. Deployments are run in both 主播大秀 sites and within 3 UK Internet Service Provider networks.</li> <li><strong>Resilience</strong>: Automatic failure detection is now active, reducing service disruption when either the hardware or underlying network fails.</li> </ul> <p>For a look at BIDI growth so far and plans for the future, see: <a href="https://www.youtube.com/watch?v=nzk-hFHfZ2I">virtualUKNOF November 2020 鈥 Building the 主播大秀鈥檚 media CDN.</a></p> <h4>iBL (iPlayer API)</h4> <p>We are the iBL team 鈥 the iPlayer Business Layer, and we are responsible for the data that powers all 主播大秀 iPlayer apps 鈥 mobile, web, and smart TVs. From promotions on the homepage, categories, channels, to personalisation, user data, schedules and recommendations. We are a team of 5 engineers, a product manager, and a delivery manager.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qchn.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qchn.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qchn.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qchn.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qchn.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qchn.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qchn.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qchn.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qchn.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>In the past twelve months we:</p> <ul> <li><strong>Improved promotions and relevancy</strong>: Creating 鈥渉ero鈥 imagery to showcase high profile content, and using audiences鈥 watching history to highlight content they are interested in rather than treating everyone the same. This includes messaging why we recommend certain programmes, and tailoring homepage promotions for younger audiences.</li> <li><strong>Safeguarding younger users</strong>: There is a breadth of content on iPlayer, and not all of it is suitable for all ages, so we are taking steps to allow users make better informed decisions.</li> <li><strong>Technical Reliability</strong>: We鈥檝e worked on our resiliency a lot 鈥 we have improved capacity and redundancy across about a dozen of our database-backed services this year. We鈥檝e also moved some of our error handling to a CDN so we can more reliably serve peaks of demand.</li> <li><strong>Developer workflows:</strong> We鈥檝e already had our 鈥渋nfrastructure in code鈥, using CloudFormation. This year we have also moved our CI pipelines into code, and include infrastructure changes in our CI/CD workflows to make sure the code is always up to date with what is actually deployed. We are also iterating on our internal documentation, using OpenAPI schemas to ensure the data we exchange internally is what we expect it to be.</li> </ul> <h4>主播大秀 iPlayer 鈥 Off-Product Discovery</h4> <p>We are the people that share the iPlayer catalogue and availability with partners and link up voice interactions from non-主播大秀 platforms. It鈥檚 what allows you to choose to watch a programme on iPlayer from somewhere which isn鈥檛 inside iPlayer! Next time you say 鈥榳atch his dark materials on 主播大秀 iPlayer鈥 to your fireTV stick or Chromecast with GoogleTV think of us!</p> <p>Big deliverables in 2020 have been:</p> <ul> <li><strong>Amazon catalogue and Voice integration</strong>: Following on from many months work, we are now delivering our standard catalogue and integrating with the Amazon video platform. We completed the work to allow you to find content and then control the playback of this content in iPlayer using voice interactions as well as from the remote. You can now see that Dr Who and Killing Eve have the newest episodes on iPlayer, available for no additional charge.</li> <li><strong>GoogleTV catalogue and Voice integration</strong>: A very different technical solution completed quickly by following on from the lessons learned working with other partners and having a solid understanding of the user journeys that voice control opens up. Again, we have developed and delivered the code to link up google鈥檚 infrastructure with the 主播大秀s and allow you to watch great content in iPlayer via voice control alone.</li> <li><strong>LG Catalogue and Search</strong>: Having a strong, well-defined catalogue format and a means of integrating this with partners allowed the team to complete a VoD catalogue and promotions integration with the team from LG in a very compressed time period. This is what powers the row of links to content above the iPlayer logo on LG TVs and allows the LG voice search to find content in the iPlayer catalogue.</li> </ul> <h4>Digital Publishing</h4> <p>The Digital Publishing team work for the creators: the journalists, editors, curators, programme-makers, podcasters and more who make 主播大秀 online. This year we鈥檝e been working on how they do what they do, moving away from online鈥檚 late-1990s roots to ways that get the content they make to the right audiences, at the right time (and more cost-effectively, too).</p> <p>We鈥檝e built:</p> <ul> <li><strong>Passports</strong>, which rethinks how we describe the content we make. That means better recommendations, better curator tools, and a focus on how the audience discovers content. Looking for relaxing music in Sounds or good news stories? Passports gets it to you.</li> <li><strong>Curation tools</strong> to allow editorial to showcase content. Alongside pan-主播大秀 Topics, this lets us builds collections that span the 主播大秀鈥檚 services, and will soon be used in 主播大秀page.</li> <li><strong>鈥淥ptimo鈥</strong>, a tool for writers that moves beyond the classic 500-word story and supports the articles audiences are asking for. It鈥檚 starting in 主播大秀 World Service, and will be a big focus in 2021.</li> <li><strong>Signal Box</strong>, which brings together production data (things like 鈥榟ow much content did we make?鈥) with content data (鈥榳hat was it about?鈥) and audience data (鈥榟ow many people consumed it?鈥) in one place. That answers the questions our content teams need to ask.</li> </ul> <h4>Technology Strategy & Architecture (TS&A)</h4> <p>Technology Strategy & Architecture is a community of technologists and architects who help ensure the 主播大秀 makes technology decisions that provide the best value and most effective technology systems to deliver world class services to its audiences. It鈥檚 8 different teams cover areas such as security, connectivity and digital products and represent disciplines from data science to broadcast engineering to architects who oversee the infrastructure of the systems we all use. Below is a snapshot of what some of the TS&A teams have been working on in 2020:</p> <p><strong>主播大秀 Blue Room</strong></p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qcmb.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qcmb.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qcmb.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qcmb.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qcmb.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qcmb.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qcmb.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qcmb.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qcmb.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>The <a href="https://www.bbc.com/blueroom">Blue Room</a> is the 主播大秀鈥檚 consumer technology research lab. The team offers access, insight and guidance on consumer technologies, new experiences and changing behaviours, through its Blue Room demo spaces across the UK and 鈥榦n the road鈥 at public and industry events. This is what the Blue Room team has been up to in 2020:</p> <ul> <li>Launched 鈥楤lue Room in Zoom鈥 and delivered 400+ Blue Room tech insight sessions remotely to over 3,500 主播大秀 colleagues across the world.</li> <li>Demonstrated at on-line external events including <a href="/digitalcities/catchup/lunchwithbbcblueroom">主播大秀 Digital Cities</a> and <a href="/academy/en/articles/art20201015184845009">Sounds Amazing 2020.</a></li> <li>Presented 鈥楽ynthetic Celebrities鈥 at the 主播大秀鈥檚 first ever virtual <a href="/creativediversity/cdx/synthetic-celebrities">Creative Diversity Festival (CDX)</a>, giving audiences a glimpse of the future, with demos of the latest in <a href="/blogs/internet/entries/b81f12d4-39b7-4624-86ab-01647d2800ec#comments">synthetic media</a>.</li> <li>Opened the 主播大秀鈥檚 Innovation Showcase to bring together some of the best of the 主播大秀鈥檚 emerging tech, including exciting innovations in <a href="/taster/pilots/bbc-ar">augmented reality</a>, <a href="/news/technology-52891155">voice</a> and <a href="/rd/blog/2020-09-proms-synchronised-audio-music-interactive">immersive listening</a>.</li> </ul> <h4>主播大秀 Datalab</h4> <p><a href="https://datalab.rocks/">主播大秀 Datalab</a> is responsible for using machine learning to provide great recommendations across the 主播大秀鈥檚 product portfolio.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qcqc.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qcqc.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qcqc.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qcqc.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qcqc.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qcqc.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qcqc.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qcqc.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qcqc.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>This is what 主播大秀 Datalab have been up to in 2020:</p> <ul> <li>Significantly progressed development of the 主播大秀鈥檚 in-house recommender systems and successfully launched a personalised recommender for 主播大秀 Sounds, as well as recommenders for several World Service language sites and the new 主播大秀 News app.</li> <li>Facilitated another pan-主播大秀 effort to build on the <a href="/blogs/internet/entries/4a31d36d-fd0c-4401-b464-d249376aafd1">主播大秀's Machine Learning Engine Principles,</a> a framework for responsible development of technology.</li> </ul> <p><strong>主播大秀 Digital Ecosystem</strong></p> <p>主播大秀 Digital Ecosystem is a small team of architects working mainly with the 主播大秀 Platform team to create foundational software capabilities for digital transformation. In 2020 the team have been focussing on:</p> <ul> <li>Building a suite of advanced software services to make 主播大秀 content media and metadata simple to access across the 主播大秀 and for our Partners, allowing us to get the best value from our content for our audience.</li> <li>Defining the shape and technology for the 主播大秀鈥檚 next generation data platform to help us understand how to serve our audience better.</li> <li><a href="http://www.originproject.info/">Project Origin</a> - a collaboration between the 主播大秀, Canadian Broadcasting Corporation/Radio Canada, Microsoft and The New York Times to focus on one aspect of the disinformation challenge - content source verification. The <a href="/blogs/aboutthebbc/entries/46f5eb33-b7b8-4a9b-a24e-2c38e0cf8c2a">goal of Project Origin </a>is to apply clear signals to videos and pictures from publishers so you know the content is coming from where it says it is and has not been manipulated.</li> </ul> <p><strong>主播大秀 Product Architecture</strong></p> <p>主播大秀 Product Architecture helps 主播大秀 teams to develop and deliver audience experiences across all surfaces and modalities. In 2020 the team has:</p> <ul> <li>Provided architecture support and guidance to the 主播大秀 Voice and AI team across client facing products, such as Beeb and the 主播大秀鈥檚 presence on Alexa, as well as efforts such as Songbird, which brings Text to Speech capabilities to bbc.com鈥檚 The Life Project.</li> <li>Successfully introduced the<a href="https://c4model.com/"> C4 Architecture Model</a> to D+E teams for architecture visualisation and started to roll out <a href="https://structurizr.com/">Structurizr</a> to evaluate the suitability of a tool in the production environment.</li> </ul> <h4>主播大秀 News and Weather Apps Team</h4> <p>We are responsible for building and maintaining the News and Weather apps, across Android and iOS, for UK and international audiences.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qcw4.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qcw4.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qcw4.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qcw4.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qcw4.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qcw4.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qcw4.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qcw4.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qcw4.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <ul> <li><strong>主播大秀 News app beta</strong>: We are reinventing the News app from the inside out to give it a fresh feel. This includes recommendations, new ways to showcase the top stories, short video clips and an article overview to present articles in a short, digestible way (pictured). The first version is being rolled out to both Android and iOS before the end of the year.</li> <li><strong>ABL</strong>: The Apps Business Layer is a backend for frontend technology that will produce app-specific data at its endpoint. This will make a faster, cleaner and more flexible app experience on the device with more work being done on the backend.</li> <li><strong>Weather app</strong>: We started work on an updated weather app with split screen, animated icons and a weather widget for iOS 14</li> </ul> <h4>主播大秀 Research & Development</h4> <p>This year 主播大秀 Research & Development is 90 years old. We have played a huge part in broadcast technology innovations from Digital Television to Object Based Media. Whilst the technology evolves, our purpose hasn鈥檛. We look forward 3, 5, 7 years. All the time asking how we use technology to keep public services relevant.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p090qd2f.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p090qd2f.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p090qd2f.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p090qd2f.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p090qd2f.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p090qd2f.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p090qd2f.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p090qd2f.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p090qd2f.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>Here are some things we鈥檝e been working on in 2020:</p> <ul> <li><strong>AI</strong>: <a href="/events/e354mb/live/c6b5d4">Autumnwatch</a> used R&D鈥檚 AI system - <a href="/rd/blog/2020-06-springwatch-artificial-intelligence-remote-camera">YOLO (You Only Look Once</a>) to identify different animals captured by multiple cameras saving hours of production time.</li> <li><strong>5G</strong>: 主播大秀 R&D, including IBC鈥檚 Accelerator programme, were integral to an <a href="https://www.ibc.org/ibc-showcase/ibc-accelerators-5g-remote-production/6126.article">early stage proof of concept experiment</a> exploring cutting edge 5G remote production; and 5G Records a major EU project looking at professional production workflows across audio, video and immersive.</li> <li><strong>Sustainability</strong>: Our Sustainability team released research exploring the energy used to deliver and consume<a href="/rd/blog/2020-09-sustainability-video-energy-streaming-broadcast"> television</a> and <a href="/rd/blog/2020-10-sustainability-radio-audio-energy-streaming-broadcast">radio.</a></li> <li><strong>Streaming</strong>: We published the technical specification for <a href="/rd/projects/dynamic-adaptive-streaming-ip-multicast-dasm">Dynamic Adaptive Streaming over IP Multicast,</a> which would enable the distribution of live television at scale over the Internet.</li> <li><a href="/rd/blog/2020-10-sounds-amazing-audio-technology-innovation"><strong>Sounds Amazing</strong></a>: Something that was better in Lockdown! We brought together producers, presenters, reporters and engineers to talk about what will be next and later for audio. Over 3000 experts attended this virtual conference from around the world.</li> </ul> <p>And lots more - <a href="/rd">/rd</a></p> </div> <![CDATA[The lessons learnt creating a design system for 主播大秀 Online]]> 2020-11-23T10:33:48+00:00 2020-11-23T10:33:48+00:00 /blogs/internet/entries/55645f54-f554-45aa-b652-df470a721e59 Dave Morris and Josh Tumath <div class="component prose"> <p><em>Dave Morris and Josh Tumath are part of something called the Presentation Layer team; a team working on the design system and React front-end for the new 主播大秀 website.</em></p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08zb3g6.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08zb3g6.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08zb3g6.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08zb3g6.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08zb3g6.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08zb3g6.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08zb3g6.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08zb3g6.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08zb3g6.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>A short history lesson</h4> <p><a href="/gel/articles/what-is-gel" target="_blank">主播大秀 GEL</a> is the design framework for the 主播大秀 and was one of the very first design frameworks to be published online back in 2010. GEL sets out guidelines to allow UX designers working on the different sections of the 主播大秀 website to create a consistent user experience and visual identity. This was fantastic as a set of guidelines for designers and developers to follow when creating websites for 主播大秀 Sport, 主播大秀 News and 主播大秀 Bitesize (to name just a few). Plus, all the other experiences for mobile apps and TV.</p> <p>However, <a href="/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c" target="_blank">as Matt talked about in his recent blog post about moving to the cloud</a>, we鈥檝e been going through a cultural change in the 主播大秀. We鈥檙e not building separate websites under one domain name any more. Through the WebCore project, we鈥檙e now building <strong>one website</strong>. And one key part of that is the <strong>design system</strong>.</p> <p>Design systems are the single source of truth for both the design and implementation of a digital product, whether that鈥檚 a website or app. GEL can now be injected into the design system instead of being left to interpretation by teams reading and digesting the guidelines.</p> <p>While there are plenty of design systems which are only built for one brand, ours has to serve a wide variety of <strong>destinations</strong> at the 主播大秀. Destinations are the places which people come to the 主播大秀 to visit and they have to<em> feel</em> different to each other. There are informative destinations like News and Sport but also more playful ones like C主播大秀 and CBeebies. This is tricky to do in a structured design system. And it鈥檚 something we鈥檙e learning to do best as we go.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08zb3pn.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08zb3pn.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08zb3pn.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08zb3pn.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08zb3pn.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08zb3pn.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08zb3pn.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08zb3pn.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08zb3pn.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>Our design system is split into five areas:</p> <ul> <li><strong>Foundations</strong>. Basic tokens like font sizes and spacing units.</li> <li><strong>Components</strong>. These range from simple UI snippets like a button to complex ones like a navigation bar. Each component has accessibility and reusability considered from the first iteration.</li> <li><strong>Layout components</strong>. Special components with a specific job to arrange other components in a layout, like Grids, Sidebars and the humble <a href="https://every-layout.dev/layouts/stack/" target="_blank">Stack</a>.</li> <li><strong>Levers</strong>. The theming system. There are three levers (so far) in the design system: the font palette, the core colour palette and the brand colour palette. We want more levers. More on this later.</li> <li><strong>Containers.</strong> The top-level components that assemble other components together and fill them with data to form a stand-alone experience that can be used on a page. For example, the Article container fetches the article content from the business layer, and assembles the Heading, Tag List, Rich Text and Image components to make an article.</li> </ul> <p>Our community in 主播大秀 Design + Engineering have been building up the design system for over a year now, and we want to share with you the lessons we鈥檝e learnt in that year.</p> <h4>1. Make it as easy as possible to share</h4> <p>We鈥檝e taken a very different approach to the GEL design system compared to others out there. Our team, the <strong>Presentation Layer team</strong>, are not the sole maintainers of the design system. We haven鈥檛 pre-anticipated requirements and made in-advance a library of components like buttons, input boxes, navigation bars and dialog boxes. We haven鈥檛 created the design system as a versioned library that developers need to pull into their project and keep up-to-date.</p> <p>So what have we done instead? We鈥檝e done three things:</p> <ol> <li>The Presentation Layer, our React-based rendering layer for the new 主播大秀 website, is a <a href="https://en.wikipedia.org/wiki/Monorepo" target="_blank">monorepo</a> that includes the design system. Only web pages created in the monorepo can use the design system. And, most importantly, any changes to components in the design system are rolled out instantly.</li> <li>Layouts, Components and Tokens are only created when they are needed. We typically wait until there are at least two use-cases for a component before creating it. We didn鈥檛 even have a Button component until a few months into the project!</li> <li>Our team does not solely own the design system. Every team building with the design system jointly owns it. Working together as a community, we all build and make changes to components.</li> </ol> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08zb3vn.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08zb3vn.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08zb3vn.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08zb3vn.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08zb3vn.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08zb3vn.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08zb3vn.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08zb3vn.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08zb3vn.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Each team contributes and reuses from the design system. It鈥檚 a give and take relationship</em></p></div> <div class="component prose"> <p>By doing these three things, every page is always using the up-to-date version of the design system and using it consistently. The design system does not stand alone. It鈥檚 built into the wider platform. So it鈥檚 not possible to build something bespoke to a particular team鈥檚 needs; everything can be shared.</p> <h4>2. Do things on a need to make basis</h4> <p>We intend to build the one 主播大秀 website together because previous approaches have led to fragmented results. Therefore, a top down approach of 鈥榳e build these things and you use them鈥 doesn鈥檛 play nicely with this way of doing things. It shouldn鈥檛 be down to one central team to create the components all teams will eventually use. Our product teams do their own user research, so they know much more about <em>how</em> the audience are using 主播大秀 products and services than our team does. They鈥檙e the ones best placed to create new components and improve what we already have available.</p> <p>We knew this approach was going to be difficult. Teams across the 主播大秀 are used to working in silos with autonomy to create components and features to meet their own needs whilst using the GEL guidelines as a steer. We鈥檙e essentially pressuring a move from vertical silos to horizontal shared ownership through the design system. Any new additions to the design system should be considered by how <strong>anyone</strong> might end up using them.</p> <p>Because of this culture change, we鈥檙e striving to keep the components simple to start with. Remember that this design system has to serve multiple destinations at the 主播大秀. If we start with something complicated then it鈥檚 only going to get more complicated and unmanageable by the time we鈥檝e figured out how it can be used by everyone.</p> <p>Keeping things simple means to avoid making components until they鈥檙e needed. In some cases it also means to not make them with all the <em>bells and whistles</em> until it becomes a requirement to do so. This allows us to avoid complicated discussions and move forwards in the short term.</p> <p>We鈥檙e there to join the dots between all those other teams creating stuff in the design system and offer guidance and support in building and improving components. We create the standards and principles for all teams so that we can make sure accessibility, reuse opportunities and consistency are at the heart of what everyone makes.</p> <h4>3. The reinvention of the wheel</h4> <p>Prompting teams to find and use solutions already in the design system can be challenging. It鈥檚 something we鈥檝e had to tackle whilst teams are getting acquainted with the design system.</p> <p>There are some products at the 主播大秀 with well-established online experiences which are now rebuilding in the cloud using the design system. This can bring along with it a like-for-like mentality. Some teams (but not all) expect to create a carbon-copy of their existing experience using the design system.</p> <p>There鈥檚 a whole array of articles out there which cover a topic of 鈥渨hat happens when a design system gets you 90% there鈥 鈥 these are our experiences on the subject. We know design systems are fundamentally driven by re-use. Creating something new which is similar to another pattern or component inside the library can add unnecessary weight, take up lots of designers and developers time in creating those new components and cause confusion in the future with those looking to find the right component for their needs.</p> <p>We鈥檝e been building things in isolation for years at the 主播大秀, it鈥檚 sometimes hard for teams to think outside of their silo and <strong>horizontally</strong> about what the business needs in a component library. The design system, and the Presentation Layer Team are now influencing teams to think more horizontally.</p> <p>A simple tactic we employ in these circumstances is to ask the teams 鈥渨hat problem are they trying to solve?鈥. This flips the priority of 鈥渨e need this鈥 to 鈥渁 user needs to be able to do this鈥. We try to approach each new request for a component with a re-use first way of thinking. By doing this, we鈥檙e setting an example for the rest of the teams building using the Design System.</p> <p>We can then have a conversation around the existing components available and potential iterations which all teams could benefit from. If we do find that there鈥檚 a requirement for a new component 鈥 we work with that team to build it with reuse considered. It鈥檚 easy to spot the same problems in different areas on our radar. We then join the dots, and get the relevant teams involved to help everyone work more collaboratively.</p> <h4>4. Be strict to allow for flexibility</h4> <p>To drive re-use, we need to be able to create components once; not multiple times for each of the different brands. So, to support the variety of destinations on the 主播大秀 website, we came up with a theming system we call 鈥榯he levers鈥. Anyone creating a page can choose from a set of font combinations and colour swatches to theme it. And each component will work with all of them out-of-the-box.</p> <p>A theming system might not seem like a ground-breaking idea, but it鈥檚 pretty powerful when 主播大秀 News leadership ask, 鈥榃hen can you get this video player page on the 主播大秀 Sport website ready to use on News as well?鈥 and we call pull some levers and say, 鈥楬ey presto 鈥 it鈥檚 already done!鈥</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08zb40q.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08zb40q.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08zb40q.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08zb40q.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08zb40q.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08zb40q.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08zb40q.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08zb40q.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08zb40q.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Just pull some levers and hey presto 鈥 you鈥檝e got a website! (Provided you plug in the right data sources for the content too)</em></p></div> <div class="component prose"> <p>To make this work, however, we needed to be strict about what sets of colours and fonts are allowed to be used in Components. We had to resist the temptation to use our own colours in specific places.</p> <p>Colours and fonts are given 鈥榮emantic鈥 names based on where they鈥檙e intended to be used, rather than what they look like. For example, the text for heading text is called 鈥榩rimary鈥 and the colour for borders is called鈥 you guessed it鈥 鈥榖order鈥!</p> <p>That doesn鈥檛 mean they鈥檙e set in stone, though. We鈥檝e already had to add new colours and change them as we get newer use-cases, and we hope to add more levers in the future too. How great would it be to have different levers to change the type of motion applied to an experience? Or to help us create fantastic children鈥檚 experiences where there may be crazily different requirements for a website to cater for those types of audiences.</p> <h4>5. Documentation is hard, but important</h4> <p>One thing we always worry about is our documentation. We have a lot of it: accessibility guides, design guides, development guides, tutorials, component docs, principles, values鈥. And to make matters worse, they鈥檙e all over the place: on our internal wiki, in our cloud storage, on GitHub and in <a href="https://storybook.js.org" target="_blank">Storybook.</a></p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08zb42y.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08zb42y.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08zb42y.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08zb42y.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08zb42y.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08zb42y.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08zb42y.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08zb42y.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08zb42y.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Storybook catalogues our reusable components and contains other documentation</em></p></div> <div class="component prose"> <p>Building a successful Design System and platform hinges on the quality of the documentation. It needs to be kept up-to-date. It needs to be discoverable. It needs to be easy to navigate.</p> <p>Just like with components, documentation can start off simple but grow unwieldy as people add to it bit-by-bit. Taking the time to audit it, get feedback and clean it up is really important. That鈥檚 something we鈥檙e doing at the moment.</p> <p>The Presentation Layer team duties are part design system curation and part support team. Having a complete and well organised set of documentation means we can run a tight ship. It helps us to automate a lot of support requests for both designers and developers.</p> <h4>6. Design for longevity through obsolescence</h4> <p>Finally, the Design System has got to be fit for the future. By designing our content and layouts as components, it鈥檚 easy to rip them out and replace them when the time comes. And we shouldn鈥檛 be afraid to do that!</p> <p><a href="https://noti.st/jensimmons/h0XWcf" target="_blank">Intrinsic Web Design</a> is becoming a hot topic in the world of web design. As we start to embrace newer features of CSS like Grid and intrinsic sizing units, it will be easy for us to swap out our existing layout components with something more intrinsic.</p> <p><em>We hope to talk more about Intrinsic Web Design in a future blog post</em>.</p> <p>============================================</p> <p>It鈥檚 been over a year of designing, building and learning as we go. Above all, we鈥檝e learnt that we need to be flexible as we work together with everyone from different teams. The progress that鈥檚 been made so far has been brilliant, and we鈥檙e excited about building on the foundations we鈥檝e made to make experiences that our audiences will love.</p> <p>This article is also featured on <a href="/gel" target="_blank">主播大秀 GEL </a>and the <a href="https://medium.com/bbc-design-engineering" target="_blank">主播大秀 Design + Engineering Medium blog</a>.聽</p> </div> <![CDATA[Moving 主播大秀 Online to the cloud]]> 2020-10-29T10:56:20+00:00 2020-10-29T10:56:20+00:00 /blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c Matthew Clark <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wsf65.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wsf65.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wsf65.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wsf65.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wsf65.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wsf65.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wsf65.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wsf65.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wsf65.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p><em>This is the first in a series of posts in the coming weeks about how 主播大秀 Online is changing, making use of the cloud and more.聽</em></p> <p>Over the past few years, we in the 主播大秀鈥檚 Design+Engineering team have completely rebuilt the 主播大秀 website. We鈥檝e replaced a site hosted on our datacentres with a new one, designed and built for the cloud. Most of the tools and systems that power the site have moved too. We鈥檝e used modern approaches and technologies, like serverless. And we鈥檝e refreshed the design, approach, and editorial workflow, ready for the future. Hundreds of people have been involved, over several years. And it鈥檚 just about complete.</p> <p>This post is the first of several looking at the what, the why, and most importantly the how: the approach we took to creating a new site that鈥檚 ready for the future. Delivering quality technology change, quickly and effectively.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wsftm.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wsftm.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wsftm.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wsftm.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wsftm.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wsftm.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wsftm.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wsftm.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wsftm.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Examples of pages that have been recreated on the cloud in the past year</em></p></div> <div class="component prose"> <h4>Context</h4> <p>The 主播大秀 website is huge. Over half the UK population use it every week. Tens of millions more use it around the world. It has content in 44 different languages. And it offers over 200 different types of page 鈥 from programmes and articles, to games and food recipes.</p> <p>As is the case with tech, if you stand still, you go backwards. Until recently, much of the 主播大秀 website was written in PHP and hosted on two datacentres near London. That was a sensible tech choice when it was made in 2010; but not now.</p> <p>The 主播大秀鈥檚 site is made up of several services (such as <a href="/iplayer">iPlayer</a>, <a href="/sounds">Sounds</a>, <a href="/news">News</a> and <a href="/sport">Sport</a>). For them all, we need to ensure they use the latest and best technology. That鈥檚 the only way to ensure they鈥檙e the best at what they do. They all need to be hugely reliable at scale, as well as fast, well-designed, and accessible to all.</p> <p>And so, over the past few years, it鈥檚 been our strategy to recreate 主播大秀 Online. Almost every part has been rebuilt on the cloud. We鈥檝e taken advantage of the many benefits that the cloud brings 鈥 such as the flexibility to provision new services almost instantly. And we鈥檝e used best-practice tools and techniques 鈥 such as the React framework, and the DevOps model. We鈥檒l look more at the approach in a moment, but first, let鈥檚 discuss the underlying principles.</p> <h4>Principles</h4> <p>Rebuilding a massive website could easily suffer from the <a href="https://en.wikipedia.org/wiki/Second-system_effect">Second System Effect</a>. It鈥檚 all too easy for new projects to be over-ambitious with the requirements and the approach. A push for perfection makes it tempting to pick the most sophisticated solutions, rather than the simplest. We needed to prevent this, to ensure good value and delivery at pace. Here are some principles that helped us do this.</p> <p><strong>1) Don鈥檛 solve what鈥檚 been solved elsewhere</strong></p> <p>When building something as large as 主播大秀 Online, it might be tempting to consider everything from scratch. Doing so provides the most control, and leaves no stone unturned. But the cost in doing so can be huge. An off-the-shelf solution might only give you 90% of what you want, but if can be delivered in 10% of the time, it鈥檚 probably a worthy trade-off. This applies to tech, UX, business analysis, and pretty-much everything else. Most problems have already been solved somewhere else; so don鈥檛 solve them again.</p> <p>A great tech example of this is the use of serverless. Around half of the 主播大秀鈥檚 website is rendered serverlessly with AWS Lambda. Managing virtual machines (or containers) is expensive 鈥 keeping them secure, reliable and scalable takes time. Serverless mostly solves that problem for us. And problems solved elsewhere mean we shouldn鈥檛 do them ourselves.</p> <p><strong>2) Remove duplication (but don鈥檛 over-simplify)</strong></p> <p>When there are many teams, duplication is inevitable. Two teams will each come across the same problem, and create their own solution. In some ways this is good 鈥 teams should be empowered to own and solve their challenges. But left unchecked, it can create multiple solutions that are incompatible and expensive to maintain.</p> <p>As we鈥檝e rebuilt 主播大秀 Online, we鈥檝e removed a lot of duplication and difference that has built up over the years. Multiple bespoke systems have been replaced with one generic system. It鈥檚 a double win, because as well as being more efficient (cheaper), we can focus on making the new single approach better than the multiple old approaches. It鈥檚 because of this that the 主播大秀 website now has better performance and accessibility than ever before.</p> <p>However, we must be wary of over-simplification. Replacing multiple systems with one looks great from a business point-of-view. But software complexity grows exponentially: each new feature costs more than the previous one. There reaches a point where two simple systems are better than one sophisticated system.</p> <p>As an example, we chose to keep the 主播大秀鈥檚 World Service sites separate from the main English-language 主播大秀 site. The needs of the World Service (such as working well in poor network conditions) were specialist enough to warrant a separate solution. Two simpler websites, in this case, are better than one complex site.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wsg6x.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wsg6x.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wsg6x.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wsg6x.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wsg6x.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wsg6x.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wsg6x.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wsg6x.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wsg6x.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>The rendering of the English-language site (left) and World Service site (right) is kept separate, to not over-complicate one solution</em></p></div> <div class="component prose"> <p><strong>3) Break the tech silos through culture & communication</strong></p> <p>Creating a new 主播大秀 website has involved many teams. To be successful, we needed these teams to align and collaborate more than we鈥檝e ever done before. Otherwise, we could easily create something that鈥檚 less than the sum of its parts.</p> <p>It鈥檚 hard to overstate the value of communication. Without it, teams cannot understand how their work fits alongside that of other teams. And without that understanding, they cannot see the opportunities to share and align. Teams may even start to distrust each other.</p> <p>Communication brings understanding, and that allows the culture to change. Instead of teams doing their own thing in isolation, they naturally share, collaborate, and flex to each other鈥檚 needs. They go beyond what is strictly their team鈥檚 remit, knowing that others will too. Which ultimately makes a better solution for everyone.</p> <p>Over recent months I鈥檝e heard teams say things like 鈥<em>that other team is busy so we鈥檙e helping them out鈥</em>, or 鈥<em>we鈥檙e aligning our tech choice with the other teams</em>鈥. It鈥檚 a level of collaboration I鈥檝e not seen before. By understanding the bigger picture, and how everyone plays their part, we鈥檝e created a level of trust and alignment that鈥檚 a joy to see.</p> <p><strong>4) Organise around the problems</strong></p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wsh5x.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wsh5x.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wsh5x.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wsh5x.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wsh5x.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wsh5x.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wsh5x.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wsh5x.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wsh5x.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>This 鈥榦nion diagram鈥 helped explain how common concerns & capabilities (in the centre) should be solved once. This frees up teams to work on the more specialist capabilities in the outer rings.</em></p></div> <div class="component prose"> <p>Even with great culture and communication, multiple teams won鈥檛 necessarily collectively come together to build the right thing. This is, of course, the much-quoted <a href="https://en.wikipedia.org/wiki/Conway%27s_law">Conway鈥檚 Law</a>.</p> <p><em>鈥淥rganizations which design systems [鈥 are constrained to produce designs which are copies of the communication structures of these organizations.鈥</em><br />Melvin Conway</p> <p>The 主播大秀 has historically had separate websites 鈥 for News, for Sport, and so on. Each one had a separate team. To change that, and build one website, we needed to reorganise. But how? One gigantic team wouldn鈥檛 work, so instead we split teams into the most efficient approach. We created teams for each page 鈥榯ype鈥 鈥 a home page, an article page, a video page, and so on. We also created teams to handle common concerns 鈥 such as how the site is developed and hosted. Altogether, it minimised overlap and duplication, and allowed each team to own and become expert in their area.</p> <p><strong>5) Plan for the future, but build for today</strong></p> <p>When designing large software systems, we鈥檝e a tricky balance to find. We must plan for the future, so that we meet tomorrow鈥檚 needs as well as today鈥檚. But we also don鈥檛 want to over-engineer. We cannot be sure what the future will bring. Requirements will change. Cloud providers will offer new technologies. The rate of change in the world 鈥 particularly the technology world 鈥 is higher than ever before.</p> <p>There is no substitution for good analysis, planning, and software design. Researching the opportunities and choices available is key in ensuring a project sets off in the right direction. But we must resist the danger in over-thinking a solution, because it may be for a future that never comes.<br />The beauty of agile software development is that we can discover and adapt to challenges as we go along. Business plans and architectures need to evolve too, based on what we learn as the project evolves. Don鈥檛 solve problems until you鈥檙e sure they鈥檙e problems you actually have.</p> <p><strong>6) Build first, optimise later</strong></p> <p>Expanding on the above, we must be careful not to optimise too soon. Large software projects will inevitably run into performance issues at some point. It鈥檚 super-hard to predict when and how these issues will appear. So, don鈥檛. Use the benefit of agile development to respond to performance issues only when they become real.</p> <p>As mentioned above, much of the 主播大秀 website now renders serverlessly using AWS Lambda. At the start of the project, we were suspicious of how quickly Lambda could render web pages at scale. We had an alternative approach planned. But in the end, we didn鈥檛 need it. Performance using serverless has been excellent. By not optimising too early, we saved a huge amount of effort.</p> <p><strong>7) If the problem is complexity, start over</strong></p> <p>This principle is <a href="http://principles-wiki.net/principles:gall_s_law">Gall鈥檚 Law</a>:</p> <p><em>鈥淎 complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.鈥</em><br />John Gall</p> <p>Removing complexity from an existing system is hard. And in our case, we had multiple complex websites that we wanted to combine. The collective requirements of these sites would overload any one system. So, we had to start again, going back to the basics of what common abilities were needed.</p> <p><strong>8) Move fast, release early and often, stay reliable</strong></p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wshbf.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wshbf.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wshbf.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wshbf.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wshbf.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wshbf.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wshbf.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wshbf.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wshbf.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Part of the the monthly status report we make for the WebCore project.</em></p></div> <div class="component prose"> <p>Finally, a very practical principle: ensure you are able to move quickly, so that you can learn and adapt. Release early, and often 鈥 even if it鈥檚 only to a small audience. As discussed earlier, predicting the future is notoriously hard. The best way to understand the future is to get there quicker.</p> <p>The counterargument to this is that change brings risk. And with a popular service like 主播大秀 Online, reliability is critical. The 主播大秀 has always had a strong operational process (including 24/7 teams managing services, and a DevOps approach to ensure those who develop systems are also responsible for maintaining them). We鈥檝e continued to invest in this area, with new teams focussing on infrastructure, and on the developer experience (DevX). We鈥檒l go into more details in a future blog post.</p> <p>Smaller releases, done more often, are also an excellent way to minimise risk.</p> <h4>High level technology overview</h4> <p>Putting the above principles into practice, here鈥檚 a super-high overview of how the 主播大秀 website works.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wshjp.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wshjp.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wshjp.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wshjp.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wshjp.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wshjp.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wshjp.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wshjp.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wshjp.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>Let鈥檚 look at each layer.</p> <p><strong>Traffic management layer</strong></p> <p>First up, all traffic to www.bbc.co.uk or www.bbc.com reaches the Global Traffic Manager (GTM). This is an in-house traffic management solution based on Nginx. It handles tens of thousands of requests a second. Because of its scale, and the need to offer extremely low latency, it partly resides in our own datacentres, and partly on AWS.</p> <p>For parts of our site, a second traffic management layer is sometimes used. (Internally, these are called Mozart and Belfrage). These services, hosted on AWS EC2s, handle around 10,000 requests per second. They provide caching, routing, and load balancing. They also play a key part in keeping the site resilient, by spotting errors, 鈥榮erving stale鈥, and backing off to allow underlying systems to recover from failure.</p> <p><strong>Website rendering layer</strong></p> <p>The vast majority of the 主播大秀鈥檚 webpages are rendered on AWS, using React. React鈥檚 isomorphic nature allows us to render the pages server-side (for best performance) and then do some further updates client-side.</p> <p>Increasingly, the rendering happens on AWS Lambda. About 2,000 lambdas run every second to create the 主播大秀 website; a number that we expect to grow. As discussed earlier, serverless removes the cost of operating and maintenance. And it鈥檚 far quicker at scaling. When there鈥檚 a breaking news event, our traffic levels can rocket in an instant; Lambda can handle this in a way that EC2 auto-scaling cannot.</p> <p>A new internal project, called WebCore, has provided a new standard way for creating the 主播大秀 website. It鈥檚 built around common capabilities (such as an article, a home page, and a video page). It鈥檚 created as a monorepo, to maximise the opportunity for sharing, and to make upgrades (e.g. to the React version) easier. By focussing on creating one site, rather than several, we鈥檙e seeing significant improvements in performance, reliability, and SEO.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08wshnm.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08wshnm.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08wshnm.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08wshnm.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08wshnm.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08wshnm.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08wshnm.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08wshnm.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08wshnm.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>Spot the difference: comparing the older page (left) with the new cloud-based version (right). The numbers are Lighthouse performance scoring.</em></p></div> <div class="component prose"> <p>As discussed earlier, we鈥檝e kept our World Service site as a separate implementation, so that it can focus on the challenges of meeting a diverse worldwide audience. (This project, called Simorgh, is open source and available on GitHub.) Our iPlayer and Sounds sites are kept separate too, though there is still a considerable amount of sharing (e.g. in areas such as networking, search, and the underlying data stores).</p> <p><strong>Business layer</strong></p> <p>The rendering layer focuses just on presentation. Logic on fetching and understanding the content is better placed in a 鈥榖usiness layer鈥. Its job is to provide a (RESTful) API to the website rendering layer, with precisely the right content necessary to create the page. The 主播大秀鈥檚 apps also use this API, to get the same benefits.</p> <p>The 主播大秀 has a wide variety of content types (such as programmes, Bitesize revision guides, weather forecasts, and dozens more). Each one has different data and requires its own business logic. Creating dozens of separate systems, for each content type, is expensive. Not only do they need the right logic, but they also need to run reliably, at scale, and securely.</p> <p>And so, a key part of our strategy has been to simplify the process of creating business layers. An internal system called the <strong>Fast Agnostic Business Layer (FABL)</strong> allows different teams to create their own business logic without worrying about the challenges of operating it at scale. Issues such as access control, monitoring, scaling, and caching are handled in a single, standard way. As per our principles, we鈥檙e making sure we don鈥檛 solve the same problem twice.</p> <p><strong>Platform and workflow layers</strong></p> <p>The final two layers provide a wide range of services and tools that allow content to be created, controlled, stored and processed. It鈥檚 beyond the scope of this post to talk about this area. But the principles are the same: these services are moving from datacentres to the cloud, tackling difference and duplication as they do, and ensuring they are best-placed to evolve as 主播大秀 Online grows.</p> <h4>On to the next chapter</h4> <p>So, 主播大秀 Online is now (almost) entirely on the cloud. And it鈥檚 faster, better and more reliable as a result. We鈥檝e discussed the key principles on how we made that change happen. And we鈥檝e seen a summary of the technology used. More on that in later posts.</p> <p>Most excitingly, this isn鈥檛 the end; just the start of something new. The tech and culture ensure we鈥檙e in a brilliant place to make 主播大秀 Online the best it can be. And that鈥檚 what we鈥檒l do.</p> <p>I鈥檓 massively proud of all we鈥檝e achieved 鈥 to everyone involved, thank you.</p> </div> <![CDATA[Around the world with TLS 1.0 (Part 2)]]> 2020-05-18T08:27:23+00:00 2020-05-18T08:27:23+00:00 /blogs/internet/entries/478f0e3e-a9fe-4223-be89-4dd78ba076ec Neil Craig <div class="component prose"> <p>Following a <a href="https://twitter.com/hanno/status/1229817366479024130">twitter conversation</a> which was initiated by <a href="https://twitter.com/hanno">Hanno B枚ck</a>, asking about experiences with disabling TLS1.0 and 1.1, I committed to writing an update on my late 2018 blog post, <a href="https://medium.com/bbc-design-engineering/around-the-world-with-tls-1-0-44ff57c5bf6d">鈥淎round the world with TLS 1.0鈥.</a> This is that update.</p> <p>I鈥檒l keep this post brief and aim to keep the comparisons pretty direct. If you haven鈥檛 already, I鈥檇 recommend reading <a href="https://medium.com/bbc-design-engineering/around-the-world-with-tls-1-0-44ff57c5bf6d">Around the world with TLS 1.0 </a>for context and methodology. Let鈥檚 dive in鈥</p> <h4>Global view</h4> <p>First of all, I looked at our 鈥済lobal view鈥 of TLS usage. This covers TLS usage on <a href="/">www.bbc.co.uk</a> and <a href="https://www.bbc.com%20">www.bbc.com</a> from every country we served:</p> <h4>November 2018 (original) data</h4> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>TLS Version</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>TLSv1.2</p> </td> <td> <p>2,002,516,373</p> </td> <td> <p>97.96%</p> </td> </tr> <tr> <td> <p>TLSv1.1</p> </td> <td> <p>4,529,764</p> </td> <td> <p>0.22%</p> </td> </tr> <tr> <td> <p>TLSv1.0</p> </td> <td> <p>37,160,210</p> </td> <td> <p>1.82%</p> </td> </tr> </tbody> </table> <p>聽</p> </div> <div class="component prose"> <h4>February 2020 data</h4> <p>Context: We have two traffic edges currently (one of which replaced the traffic edge in the 2018 data), one for UK and mainland Europe (which supports TLS1.3), another for 鈥渞est of world鈥 (which does not yet support TLS1.3)</p> <p>UK, mainland Europe & 鈥渞est of world鈥:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>TLS Version</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>TLSv1.3</p> </td> <td> <p>1,163,496,361</p> </td> <td> <p>48.45%</p> </td> </tr> <tr> <td> <p>TLSv1.2</p> </td> <td> <p>1,218,683,970</p> </td> <td> <p>50.75%</p> </td> </tr> <tr> <td> <p>TLSv1.1</p> </td> <td> <p>901,942</p> </td> <td> <p>0.04%</p> </td> </tr> <tr> <td> <p>TLSv1.0</p> </td> <td> <p>18,164,567</p> </td> <td> <p>0.76%</p> </td> </tr> </tbody> </table> </div> <div class="component prose"> <p>This shows a ~68% reduction in TLS1.0 usage globally over the 15 months or so between the two datasets. That鈥檚 pretty significant and is more than I had expected.</p> <p>Incidentally, if we look exclusively at our UK/mainland Europe traffic edge (where TLS1.3 is enabled) we see ~69% TLS1.3 鈥 so the adoption rate is strong:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>TLS Version</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>TLSv1.3</p> </td> <td> <p>1,163,496,361</p> </td> <td> <p>69.07%</p> </td> </tr> <tr> <td> <p>TLSv1.2</p> </td> <td> <p>506,655,701</p> </td> <td> <p>30.08%</p> </td> </tr> <tr> <td> <p>TLSv1.1</p> </td> <td> <p>500,971</p> </td> <td> <p>0.03%</p> </td> </tr> <tr> <td> <p>TLSv1.0</p> </td> <td> <p>13,879,940</p> </td> <td> <p>0.82%</p> </td> </tr> </tbody> </table> </div> <div class="component prose"> <h4>Per-Country view</h4> <p>Let鈥檚 examine how TLS1.0 usage has changed on a country-by-country basis. Again, we鈥檒l find the percentage of HTTPS requests which used TLS1.0 for countries which made 鈮 10,000 HTTPS requests over 3 days. I鈥檒l represent this as a comparison view for simplicity:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Country</strong></p> </td> <td> <p align="center"><strong>Num requests (Nov. 2018)</strong></p> </td> <td> <p align="center"><strong>% TLS 1.0 (Nov. 2018)</strong></p> </td> <td> <p align="center"><strong>Num requests (Feb 2020)</strong></p> </td> <td> <p align="center"><strong>% TLS 1.0 (Feb 2020)</strong></p> </td> <td> <p align="center"><strong>% reduction</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Bosnia and Herzegovina</p> </td> <td> <p>35,031</p> </td> <td> <p>100.00%</p> </td> <td> <p>418,582</p> </td> <td> <p>0.90%</p> </td> <td> <p>99.10%</p> </td> </tr> <tr> <td> <p>China</p> </td> <td> <p>2,261,506</p> </td> <td> <p>86.93%</p> </td> <td> <p>2,549,943</p> </td> <td> <p>19.79%</p> </td> <td> <p>77.24%</p> </td> </tr> <tr> <td> <p>Montenegro</p> </td> <td> <p>28,712</p> </td> <td> <p>48.74%</p> </td> <td> <p>193,059</p> </td> <td> <p>0.61%</p> </td> <td> <p>98.76%</p> </td> </tr> <tr> <td> <p>Croatia</p> </td> <td> <p>113,948</p> </td> <td> <p>43.75%</p> </td> <td> <p>1,210,262</p> </td> <td> <p>7.79%</p> </td> <td> <p>82.19%</p> </td> </tr> <tr> <td> <p>Uganda</p> </td> <td> <p>150,225</p> </td> <td> <p>34.48%</p> </td> <td> <p>1,619,262</p> </td> <td> <p>6.22%</p> </td> <td> <p>81.95%</p> </td> </tr> <tr> <td> <p>Honduras</p> </td> <td> <p>97,644</p> </td> <td> <p>29.55%</p> </td> <td> <p>916,586</p> </td> <td> <p>6.77%</p> </td> <td> <p>77.10%</p> </td> </tr> <tr> <td> <p>Ethiopia</p> </td> <td> <p>180,473</p> </td> <td> <p>26.04%</p> </td> <td> <p>2,186,672</p> </td> <td> <p>6.67%</p> </td> <td> <p>74.38%</p> </td> </tr> <tr> <td> <p>Democratic Republic of the Congo</p> </td> <td> <p>12,775</p> </td> <td> <p>25.67%</p> </td> <td> <p>138,347</p> </td> <td> <p>3.80%</p> </td> <td> <p>85.20%</p> </td> </tr> <tr> <td> <p>Nigeria</p> </td> <td> <p>1,224,923</p> </td> <td> <p>25.13%</p> </td> <td> <p>9,621,049</p> </td> <td> <p>8.08%</p> </td> <td> <p>67.84%</p> </td> </tr> <tr> <td> <p>Cote d'Ivoire</p> </td> <td> <p>14,717</p> </td> <td> <p>23.68%</p> </td> <td> <p>170,716</p> </td> <td> <p>8.11%</p> </td> <td> <p>65.74%</p> </td> </tr> <tr> <td> <p>Myanmar</p> </td> <td> <p>164,751</p> </td> <td> <p>21.25%</p> </td> <td> <p>2,333,043</p> </td> <td> <p>1.53%</p> </td> <td> <p>92.80%</p> </td> </tr> <tr> <td> <p>Hungary</p> </td> <td> <p>175,327</p> </td> <td> <p>20.20%</p> </td> <td> <p>4,042,959</p> </td> <td> <p>0.15%</p> </td> <td> <p>99.24%</p> </td> </tr> <tr> <td> <p>Cameroon</p> </td> <td> <p>11,618</p> </td> <td> <p>15.02%</p> </td> <td> <p>217,951</p> </td> <td> <p>6.87%</p> </td> <td> <p>54.29%</p> </td> </tr> <tr> <td> <p>Tanzania</p> </td> <td> <p>76,469</p> </td> <td> <p>14.93%</p> </td> <td> <p>4,874,370</p> </td> <td> <p>7.17%</p> </td> <td> <p>51.95%</p> </td> </tr> <tr> <td> <p>Somalia</p> </td> <td> <p>189,509</p> </td> <td> <p>12.98%</p> </td> <td> <p>1,236,812</p> </td> <td> <p>2.58%</p> </td> <td> <p>80.12%</p> </td> </tr> <tr> <td> <p>Sudan</p> </td> <td> <p>16,273</p> </td> <td> <p>12.93%</p> </td> <td> <p>517,011</p> </td> <td> <p>6.73%</p> </td> <td> <p>47.92%</p> </td> </tr> <tr> <td> <p>Mozambique</p> </td> <td> <p>10,348</p> </td> <td> <p>12.39%</p> </td> <td> <p>228,480</p> </td> <td> <p>3.31%</p> </td> <td> <p>73.28%</p> </td> </tr> <tr> <td> <p>Taiwan</p> </td> <td> <p>195,132</p> </td> <td> <p>11.01%</p> </td> <td> <p>5,991,350</p> </td> <td> <p>3.68%</p> </td> <td> <p>66.55%</p> </td> </tr> <tr> <td> <p>Zambia</p> </td> <td> <p>29,070</p> </td> <td> <p>10.41%</p> </td> <td> <p>902,829</p> </td> <td> <p>2.36%</p> </td> <td> <p>77.31%</p> </td> </tr> <tr> <td> <p>Morocco</p> </td> <td> <p>32,932</p> </td> <td> <p>10.04%</p> </td> <td> <p>1,998,655</p> </td> <td> <p>2.81%</p> </td> <td> <p>72.03%</p> </td> </tr> <tr> <td> <p>Uzbekistan</p> </td> <td> <p>17,135</p> </td> <td> <p>9.38%</p> </td> <td> <p>1,270,560</p> </td> <td> <p>2.46%</p> </td> <td> <p>73.74%</p> </td> </tr> <tr> <td> <p>Japan</p> </td> <td> <p>489,215</p> </td> <td> <p>9.15%</p> </td> <td> <p>14,841,878</p> </td> <td> <p>1.33%</p> </td> <td> <p>85.44%</p> </td> </tr> <tr> <td> <p>Hong Kong</p> </td> <td> <p>426,542</p> </td> <td> <p>8.97%</p> </td> <td> <p>368,286</p> </td> <td> <p>2.43%</p> </td> <td> <p>72.91%</p> </td> </tr> <tr> <td> <p>Algeria</p> </td> <td> <p>24,760</p> </td> <td> <p>8.97%</p> </td> <td> <p>78,643</p> </td> <td> <p>5.59%</p> </td> <td> <p>37.65%</p> </td> </tr> <tr> <td> <p>Romania</p> </td> <td> <p>62,019</p> </td> <td> <p>8.79%</p> </td> <td> <p>52,821</p> </td> <td> <p>1.78%</p> </td> <td> <p>79.75%</p> </td> </tr> <tr> <td> <p>Zimbabwe</p> </td> <td> <p>19,253</p> </td> <td> <p>8.15%</p> </td> <td> <p>12,272</p> </td> <td> <p>1.90%</p> </td> <td> <p>76.69%</p> </td> </tr> <tr> <td> <p>Egypt</p> </td> <td> <p>52,061</p> </td> <td> <p>7.60%</p> </td> <td> <p>189,551</p> </td> <td> <p>2.72%</p> </td> <td> <p>64.21%</p> </td> </tr> <tr> <td> <p>Turkey</p> </td> <td> <p>234,372</p> </td> <td> <p>7.32%</p> </td> <td> <p>185,453</p> </td> <td> <p>1.56%</p> </td> <td> <p>78.69%</p> </td> </tr> <tr> <td> <p>Philippines</p> </td> <td> <p>94,536</p> </td> <td> <p>6.95%</p> </td> <td> <p>81,734</p> </td> <td> <p>2.09%</p> </td> <td> <p>69.93%</p> </td> </tr> <tr> <td> <p>Ghana</p> </td> <td> <p>44,913</p> </td> <td> <p>6.71%</p> </td> <td> <p>24,535</p> </td> <td> <p>1.09%</p> </td> <td> <p>83.76%</p> </td> </tr> <tr> <td> <p>Belarus</p> </td> <td> <p>28,211</p> </td> <td> <p>6.68%</p> </td> <td> <p>9,250</p> </td> <td> <p>0.73%</p> </td> <td> <p>89.07%</p> </td> </tr> <tr> <td> <p>Kenya</p> </td> <td> <p>73,939</p> </td> <td> <p>6.39%</p> </td> <td> <p>48,674</p> </td> <td> <p>1.31%</p> </td> <td> <p>79.50%</p> </td> </tr> <tr> <td> <p>Nepal</p> </td> <td> <p>38,569</p> </td> <td> <p>6.00%</p> </td> <td> <p>9,477</p> </td> <td> <p>0.36%</p> </td> <td> <p>94.00%</p> </td> </tr> <tr> <td> <p>Bulgaria</p> </td> <td> <p>27,659</p> </td> <td> <p>5.96%</p> </td> <td> <p>5,952</p> </td> <td> <p>0.36%</p> </td> <td> <p>93.96%</p> </td> </tr> <tr> <td> <p>Malawi</p> </td> <td> <p>15,501</p> </td> <td> <p>5.85%</p> </td> <td> <p>8,170</p> </td> <td> <p>2.03%</p> </td> <td> <p>65.30%</p> </td> </tr> <tr> <td> <p>Jordan</p> </td> <td> <p>13,419</p> </td> <td> <p>5.73%</p> </td> <td> <p>9,279</p> </td> <td> <p>0.74%</p> </td> <td> <p>87.09%</p> </td> </tr> <tr> <td> <p>Indonesia</p> </td> <td> <p>119,720</p> </td> <td> <p>5.40%</p> </td> <td> <p>63,831</p> </td> <td> <p>0.98%</p> </td> <td> <p>81.85%</p> </td> </tr> <tr> <td> <p>Ukraine</p> </td> <td> <p>86,505</p> </td> <td> <p>5.35%</p> </td> <td> <p>66,016</p> </td> <td> <p>0.62%</p> </td> <td> <p>88.41%</p> </td> </tr> <tr> <td> <p>Republic of Korea</p> </td> <td> <p>83,370</p> </td> <td> <p>5.33%</p> </td> <td> <p>42,123</p> </td> <td> <p>0.98%</p> </td> <td> <p>81.61%</p> </td> </tr> <tr> <td> <p>Saudi Arabia</p> </td> <td> <p>79,834</p> </td> <td> <p>5.21%</p> </td> <td> <p>108,438</p> </td> <td> <p>1.54%</p> </td> <td> <p>70.44%</p> </td> </tr> <tr> <td>聽</td> <td>聽</td> <td>聽</td> <td>聽</td> <td> <p><strong>Mean reduction</strong></p> </td> <td> <p><strong>76.97%</strong></p> </td> </tr> </tbody> </table> <p>聽</p> </div> <div class="component prose"> <p>This shows some even more significant reductions in TLS1.0 usage for some countries, the mean reduction being ~77%.</p> <p>Some interesting observations from these data:</p> <ul> <li>Hungary has both the largest reduction (99.24%) and the lowest percentage (0.15%) usage of TLS1.0</li> <li>Algeria saw the smallest reduction in TLS1.0 usage, at 37.65%</li> <li>China has the highest percentage usage of TLS1.0 at 19.79%</li> </ul> <p>Let鈥檚 update our view for the UK and USA against the 2018 data:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Country</strong></p> </td> <td> <p align="center"><strong>Num requests (Nov. 2018)</strong></p> </td> <td> <p align="center"><strong>% TLS 1.0 (Nov. 2018)</strong></p> </td> <td> <p align="center"><strong>Num requests (Feb. 2020)</strong></p> </td> <td> <p align="center"><strong>% TLS 1.0 (Feb. 2020)</strong></p> </td> <td> <p align="center"><strong>% reduction</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Great Britain</p> </td> <td> <p>23,778,043</p> </td> <td> <p>1.43%</p> </td> <td> <p>9,288,530</p> </td> <td> <p>0.71%</p> </td> <td> <p>51%</p> </td> </tr> <tr> <td> <p>USA</p> </td> <td> <p>2,373,620</p> </td> <td> <p>1.47%</p> </td> <td> <p>1,557,219</p> </td> <td> <p>0.40%</p> </td> <td> <p>72%</p> </td> </tr> </tbody> </table> </div> <div class="component prose"> <p>This is interesting in its own right, both the UK and USA have smaller (albeit it only a little smaller for the USA) reductions than the mean from the 鈥2018 worst offenders鈥 list, above. This is perhaps because the UK and USA have a smaller base of real users on TLS1.0, with more usage being 鈥渋s the internet working鈥 checks running on old platforms, corporate proxies etc. (we seem to be used for lots of these sorts of tests, which is hopefully a compliment!).</p> <p>It鈥檚 worth updating the countries which have the largest percentage usage of TLS1.0 鈥 the list above was the 鈥渨orst of鈥 2018. Here鈥檚 the top 10 countries with the highest percentage of TLS1.0 usage in Feb. 2020:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Country</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage of TLS 1.0 usage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>United States Minor Outlying Islands</p> </td> <td> <p>389,725,509.</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Antarctica</p> </td> <td> <p>4,979,351</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Kosovo</p> </td> <td> <p>276,524</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Niue</p> </td> <td> <p>12,758,637</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>American Samoa</p> </td> <td> <p>5,063,507</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Christmas Island</p> </td> <td> <p>1,633,591</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Mayotte</p> </td> <td> <p>8,590,803</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>Svalbard and Jan Mayen</p> </td> <td> <p>998,549</p> </td> <td> <p>99.99%</p> </td> </tr> <tr> <td> <p>Pitcairn Islands</p> </td> <td> <p>425,550</p> </td> <td> <p>99.98%</p> </td> </tr> <tr> <td> <p>Tuvalu</p> </td> <td> <p>5,770,681</p> </td> <td> <p>99.98%</p> </td> </tr> </tbody> </table> </div> <div class="component prose"> <p>Yikes, lots of countries with 100% (rounded to 2 DP) TLS1.0 usage. It seems that most of these countries are relatively small (in comparison to the 鈥渨orst offenders鈥 in 2018) so maybe the above is the result of one or a few legacy systems in each country/territory.</p> <h4>Clients</h4> <p>As in 2018, it鈥檚 useful to know what is making all these TLS1.0 requests. The table below is slightly improved over the 2018 data (please see the original post for info). These data are global and show the top 10 by 鈥淥perating system鈥 and 鈥淯ser Agent鈥 fields which are parsed from the User Agent request header as a normalisation stage:</p> <table width="500" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Operating system</strong></p> </td> <td> <p align="center"><strong>User Agent</strong></p> </td> <td> <p align="center"><strong>Percentage of TLS 1.0 usage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Unknown</p> </td> <td> <p>Unknown</p> </td> <td> <p>38.02%</p> </td> </tr> <tr> <td> <p>Android 4.2.2</p> </td> <td> <p>Android Browser 4</p> </td> <td> <p>2.54%</p> </td> </tr> <tr> <td> <p>Windows 7</p> </td> <td> <p>IE 7</p> </td> <td> <p>2.30%</p> </td> </tr> <tr> <td> <p>Android 4.4.4</p> </td> <td> <p>Unknown</p> </td> <td> <p>2.03%</p> </td> </tr> <tr> <td> <p>Windows 7</p> </td> <td> <p>IE 9</p> </td> <td> <p>2.02%</p> </td> </tr> <tr> <td> <p>Android 4.4.2</p> </td> <td> <p>Android Browser 4</p> </td> <td> <p>1.97%</p> </td> </tr> <tr> <td> <p>Android 2.3.6</p> </td> <td> <p>Android Browser 4</p> </td> <td> <p>1.93%</p> </td> </tr> <tr> <td> <p>Mac OS 10.11.6</p> </td> <td> <p>Chrome 53</p> </td> <td> <p>1.85%</p> </td> </tr> <tr> <td> <p>Windows 8</p> </td> <td> <p>Firefox 16</p> </td> <td> <p>1.80%</p> </td> </tr> <tr> <td> <p>Unknown</p> </td> <td> <p>WebKit 533</p> </td> <td> <p>1.77%</p> </td> </tr> </tbody> </table> </div> <div class="component prose"> <p>鈥淯nknown鈥 means that the parser library doesn鈥檛 know what the Operating System / User Agent is 鈥 either because it鈥檚 uncommon or ancient! What we see here are very outdated Operating Systems and User Agents 鈥 essentially these seem to be combinations of:</p> <ul> <li>Old Operating Systems with old TLS stacks and User Agents which use the Operating System TLS stack</li> <li>Old User Agents with old TLS stacks which don鈥檛 use the (sometimes more modern) Operating System TLS stack</li> </ul> <p>The top 10 User Agents whose Operating system and User Agent are both unknown are:</p> <ul> <li>Nokia6280/2.0 (03.60) Profile/MIDP-2.0 Configuration/CLDC-1.1</li> <li>CITRIXRECEIVER</li> <li><empty></li> <li>Mozilla/5.0 (compatible; Genieo/1.0 http://www.genieo.com/webfilter.html)</li> <li>SGOS/6.7.3.9 (S400鈥30; Proxy Edition)</li> <li>Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)</li> <li>Dorado WAP-Browser/1.0.0</li> <li>Mozilla/4.0 (ISA Server Connectivity Check)</li> <li>ProxySG Appliance</li> <li>WinampMPEG/2.00</li> </ul> <p>So yep, as expected, generally ancient User Agents and the usual suspects. Most notably, it appears we have essentially fewer 鈥渞eal鈥 (as in 鈥渦sed by people鈥) User Agents which negotiate TLS1.0, leaving a higher proportion of TLS1.0 usage from what appear to be automated systems. This makes sense if you consider the changes in Operating systems over the 15 month span between my two datasets 鈥 Windows 10, for instance, has gone from around 38% to 57% (desktop) market share (largely replacing Windows 7) and brings with it a much more modern TLS stack. Similarly, many users will have upgraded mobile phones, tablets and other devices.</p> <h4>Conclusion</h4> <p>TLS1.0 has seen a significant reduction in usage of around 77% for our audiences over the 15 months since I wrote the original blog post but usage of TLS1.0 in some geographies remains stubbornly high. The trend is clear though, TLS1.0 usage is absolutely on the wane and whilst the long tail of this usage will undoubtedly drag last for years, usage patterns are moving in the right direction (at least in our audience).</p> <p>We operate with a single edge configuration (in terms of TLS) around the world so we need to take a decision on when the right time to remove TLS1.0 (and 1.1) support is 鈥 balancing the security risks against the hard cut-off for users. Something we have put some thought into is a mechanism for warning our audience of such breaking changes 鈥 we鈥檙e not there yet with it but it鈥檚 definitely something I鈥檇 like to have as a deprecation process which aims to inform the end user and ideally, show them a workable upgrade path so they can continue to use our services, if they so choose.</p> <p>Let me know if you have questions or would like more detail on an element shown here and I鈥檒l do my best to get you the information. Please either leave a comment below or <a href="https://twitter.com/tdp_org">send me a message on Twitter</a>.</p> </div> <![CDATA[An accessible digital 主播大秀 鈥 2019 in review]]> 2020-01-15T10:19:46+00:00 2020-01-15T10:19:46+00:00 /blogs/internet/entries/aac6bdff-3580-4265-9976-8214d24246ce Emma Pratt Richens <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p0808269.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p0808269.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p0808269.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p0808269.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p0808269.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p0808269.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p0808269.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p0808269.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p0808269.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>主播大秀 for Everyone 鈥 take 1 clapperboard</em></p></div> <div class="component prose"> <p>The 主播大秀 Accessibility Champion Network is probably one of the oldest in the聽industry. This year it surpassed 200 champions. There is also聽an聽alumnus of 75+ now encouraging inclusive design and accessibility聽elsewhere聽in the industry.聽Here are the top highlights of many accessibility improvements in 主播大秀 digital products this year:</p> <h4>UX&D聽and Internal Tools:</h4> <p>The聽<a href="/gel/articles/bbc-for-everyone">鈥樦鞑ゴ笮 for Everyone鈥 video</a>聽was published by GEL,聽along with draft聽<a href="https://bbc.github.io/gel/">technical docs</a>.聽Neurodiversity聽<a href="https://businessdisabilityforum.org.uk/awards-winners-gallery/influencer-award/">won awards</a>.聽Internal S&SD聽did聽screen聽reader user research for Optimo, a new聽article聽editor for聽News聽journalists. They also reviewed and improved accessibility聽of聽Audiences, the new聽site for聽audience research, reports and data.</p> <h4>iPlayer and Sounds:</h4> <p>The web聽media player聽introduced聽<a href="/iplayer/help/questions/accessibility/using-subtitles">subtitle size聽controls</a>.聽iPlayer added聽an 鈥楢ccessibility Help鈥 link for assistive technology users. iPlayer and Sounds both made efforts to respect聽an individual鈥檚聽'<a href="https://medium.com/bbc-design-engineering/animations-love-them-or-hate-them-your-choice-abf1bfa0ff6e">reduce motion鈥</a>聽choice, which can聽be set in their OS preferences. iPlayer Mobile adopted an 鈥榓ccessible first鈥 mantra to work on a new player interface, available to opt in and try via the app settings. Work has included research with screen reader users and raising issues with OS providers. Behind the scenes work was completed that enabled both iPlayer TV and the new mobile player to add in-player controls for audio description and sign language. iPlayer and Sounds both have active accessibility guilds, and have integrated accessibility into processes, engineering methods, and testing strategies.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08082br.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08082br.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08082br.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08082br.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08082br.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08082br.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08082br.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08082br.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08082br.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>iPlayer Accessibility Help link</em></p></div> <div class="component prose"> <h4>Children鈥檚聽Games & Apps:</h4> <p>Research relationships聽continued聽with聽<a href="http://www.seashelltrust.org.uk/">Seashell Trust</a>聽and聽<a href="https://www.everyonecan.org.uk/">Everyone聽Can</a>.聽It聽enabled聽and supported聽user聽research聽for CBeebies, C主播大秀 and Bitesize games and interactive content, in turn guiding work on relevant content聽and聽the聽鈥<a href="/gel/guidelines/how-to-design-accessible-games">Accessible Games Guidelines</a>鈥.聽Bitesize聽Primary<br />improved keyboard accessibility across their聽existing聽practice聽games.聽They聽also聽launched 7 new games, with 8 more in聽development, that deliver on at least one accessibility聽鈥榩illar鈥.</p> <h4>News:</h4> <p>News聽index pages聽became聽more consistent, easier to navigate, and聽introduced the聽<a href="/gel/articles/introducing-bbc-reith">主播大秀 Reith font</a>, which is clearer and easier to read on聽small screens.聽World Service sites are being re-built with accessibility聽embedded聽at every stage. This has聽extended the聽champion聽network聽outside the UK. <a href="https://bbc.github.io/accessibility-news-and-you/accessibility-swarms.html">Accessibility swarms</a>聽checked new components built聽for elections. And聽Visual Journalism聽considered聽accessibility from the聽start聽of each聽project. A聽<a href="/news/resources/idt-a524dd3a-c09c-4f09-bc03-c5006d75ef96">scrolling story format</a>聽that is聽keyboard聽accessible聽and has聽a聽toggle聽for聽animation聽is one example of the outcomes聽from that.聽The integrated approach聽shows聽how聽Catharine Green聽becoming Accessibility Lead聽was a聽decision that聽established聽accessibility as a聽clear聽priority聽for News.</p> <h4>Sport:</h4> <p>Following the example of News,聽Sophie Beaumont聽became聽Accessibility Lead聽for Sport,聽and聽an Accessibility聽Guild聽was set up.聽They embedded accessibility聽considerations聽into聽all聽team processes聽and built up a prioritised backlog of improvements.聽The teams have聽since聽created new pages and features that are some of the most聽accessible Sport experiences yet.</p> <h4>Weather:</h4> <p>A聽redesign聽of <a href="/weather/coast-and-sea/tide-tables/4/185">tide table pages</a> for Coast and Sea聽section means they are聽now聽responsive,聽more legible and聽鈥榞lanceable鈥, and聽adapted for聽touch聽devices.聽The improved navigation for future dates also聽links聽to an accessible聽table聽version of the information with聽live updates聽provided聽to聽assistive technology.聽And animated indicators update in real time while adhering to an individual鈥檚 鈥榬educe motion鈥 preferences.</p> </div> <div class="component prose"> <h4>Web Core:</h4> <p>This year a big change of direction toward a centralised approach聽took shape.聽The goal聽is聽a shared, non-versioned kit of parts, from聽which to create digital products and services.聽The team are聽building聽brand new components following the聽<a href="https://bbc.github.io/gel/">GEL technical docs</a>.聽The docs聽provide pragmatic聽advice for actual implementation聽with聽accessibility聽built聽in. This approach should also mean that future accessibility improvements roll out fast.</p> <h4>Voice & AI:</h4> <p>New tech on the block聽means聽a lot of user research. This has ensured the 主播大秀鈥檚 collective Alexa skill is intuitive to navigate while reducing distraction and cognitive load.聽And聽it鈥檚 informing聽work begun on聽鈥楤eeb鈥, a voice assistant from the 主播大秀. Accessibility聽is聽a key requirement of聽both the聽user聽interface and brand development.</p> <h4>主播大秀 Studios:</h4> <p>The聽commercial arm of the 主播大秀聽may need聽a slightly different聽approach, but聽accessibility聽is still a key requirement. A redesign of聽Top Gear聽has聽provided聽the perfect聽opportunity to聽educate聽the team聽and聽make accessibility part of the end-to-end process of聽delivery.</p> <h4>Elsewhere:</h4> <p>Small聽changes,聽like聽improving聽link text in the cookie banner聽or聽checking聽the accessibility of聽a new聽local聽search feature聽before聽implementation,聽can聽ensure a better experience聽for many people.聽Though our champions don鈥檛 keep to small.聽Many blogged and聽presented this year,聽including聽Peter Gould and Nicola Quinn.聽They presented 鈥淗ow to Bake Muffins鈥 at a #BuildThe主播大秀 event open to the public. A heart-warming tale about why accessibility should be considered from the start of a project. Peter also built <a href="https://chrome.google.com/webstore/detail/taba11y/aocppmckdocdjkphmofnklcjhdidgmga?hl=en">taba11y</a>聽in his spare time, a useful Chrome plugin already being used in-house.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p08082ld.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p08082ld.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p08082ld.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p08082ld.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p08082ld.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p08082ld.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p08082ld.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p08082ld.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p08082ld.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""><p><em>taba11y enumerating tab stops</em></p></div> <div class="component prose"> <h4>Coming Up</h4> <p>Most聽主播大秀聽teams now 鈥榖ake in鈥 accessibility. Look out for improved聽universal sign-in and children鈥檚 sign-in from 主播大秀 Account team. And聽also聽improved audience participation experiences. Research is being聽conducted to support insights into how children with varied and聽complex impairment use technology. Other research is looking at聽how to make聽interactive content more accessible for neurodiverse聽users.聽And聽the new聽accessibility guilds and groups in Bitesize, iPlayer& Sounds, and Voice & AI should make an聽impact聽throughout 2020.聽</p> <p>Conversations聽have聽definitely moved on from explaining 鈥榳hy鈥櫬燼ccessibility is important. We now talk聽collectively about 鈥榟ow鈥 we聽deliver accessibility. A champion network that keeps accessibility聽part of the daily conversations is pivotal to that聽shift. The 主播大秀聽sets聽an聽accessibility benchmark聽that many organisations strive to emulate.聽No easy feat in the constantly changing and evolving digital space.聽An聽active聽network of Accessibility聽advocates, our聽Champions, Leads,聽Groups and Guilds,聽is what makes that聽possible.</p> </div> <![CDATA[Understanding public service curation: What do 鈥榞ood鈥 recommendations look like?]]> 2019-12-17T13:24:25+00:00 2019-12-17T13:24:25+00:00 /blogs/internet/entries/887fd87e-1da7-45f3-9dc7-ce5956b790d2 Anna McGovern <div class="component prose"> <p>Unless you know exactly what you鈥檙e after, finding the 主播大秀 content that is exactly right for you can be a little like looking for a needle in a haystack. Some challenges we face at the 主播大秀 are:</p> <p>1. We produce a vast quantity of content, at a rough estimate, around 2000 pieces of new content a day. In terms of our 鈥榮hop window鈥, we have a good number of promotional areas and slots 鈥 on homepages, in our apps, on our schedules and on our social media feeds 鈥 but simply not enough to accommodate all our content.</p> <p>2. When content makes it to a prominent promotional slot, it will, of course, get good traffic, but there is no guarantee that the person for whom that content is most relevant will see it at the time. And once that content loses its place it will be hard to find, indeed, no one will know it exists unless they are armed with determination and the greatest of digital search skills.</p> <p>3. Colleagues working in curation have an incredible ability to seek out the best content and ensure that it is labelled in a way that maximises its impact, but they simply can鈥檛 read, watch or listen to all of our output. There is just too much of it.</p> <p>So far, so familiar.</p> <p>Personalised recommendations, fuelled by the power of machine learning, are what every forward-thinking media and tech organisation is doing to put the content that audiences would most enjoy right in front of them. The 主播大秀 has automatic recommendations in <a href="http://www.bbc.co.uk/sounds">Sounds </a>, on <a href="http://www.bbc.co.uk/iplayer">iPlayer </a>and on some news language services like <a href="https://www.bbc.com/mundo">主播大秀 Mundo</a>, which use strategies like content similarity, popularity and collaborative filtering.</p> <p>The curatorial challenge for the 主播大秀 becomes more interesting and complex, because our guiding principles relate so strongly to delivering public service value to the audience. We cannot simply work out what would get the most clicks, and show that to our audiences (although ensuring content is attractive to our audiences is important). Instead, we are required:</p> <ul> <li>To provide impartial news and information to help people understand and engage with the world around them</li> <li>To support learning for people of all ages</li> <li>To show the most creative, highest quality and distinctive output and services</li> <li>To reflect, represent and serve the diverse communities of all of the United Kingdom鈥檚 nations and regions and, in doing so, support the creative economy across the United Kingdom</li> <li>To reflect the United Kingdom, its culture and values to the world</li> </ul> <p>These requirements, written into our <a href="http://downloads.bbc.co.uk/bbctrust/assets/files/pdf/about/how_we_govern/2016/charter.pdf%20">Royal Charter</a>聽are why editorial values are woven into our <a href="/blogs/internet/entries/4a31d36d-fd0c-4401-b464-d249376aafd1">Machine Learning Engine Principles</a> and why those working in machine learning <a href="/blogs/internet/entries/a38207dd-e4ed-40fa-8bdf-aebe1dc74c28.">work closely with editorial teams</a>.聽I recently conducted a deep exploration of what public service curation means to an organisation like the 主播大秀, so that we can begin to identify some of the signals that can help us as we build next level public service recommendations services.</p> <p>Around 80 editorial staff, involved in some way with digital curation or content creation, took part in the discussion. Around 40 Design & Engineering colleagues observed those discussions, mostly those working in areas related to data science and engineering, metadata and research. Five criteria for public service curation emerged:</p> <p>1. We want our content to reach and engage as large an audience as possible. We have a role in the national conversation by bringing the most important and resonant stories of the day to the attention of our audiences, as well as prioritising content, that is popular and has universal appeal for the greatest number of people. Examples of this might include content that brings people together like Strictly Come Dancing or content of global importance like Seven Worlds, One Planet, both of which have an impact on the national and cultural conversation. Popular and impactful content also represents good value for money.</p> <p>2. In a seemingly contradictory move, we don鈥檛 always optimise for peak popularity. We make and promote content that aims to appeal to different audiences, groups, communities, regions and perspectives. We want to showcase content that feels personal. Take the podcast Netballers, which is about a sport with less national impact than, say, Premier League football. In terms of feeling relevant, it鈥檚 a win for women, young and BAME audiences. And it reflects an aspect of British culture. By its nature, it doesn鈥檛 get as many downloads as the Peter Crouch podcast, but it serves to inform and entertain those with a passion for netball.</p> <p>3. We strive always to bring audiences something new - newly released music, new writers, new presenters, untold stories, news about events and stories of national significance, information about emerging technologies, research, discoveries, perspectives, major drama series, ways of storytelling. This quest for the new is the kindling that starts the national and cultural conversation in the first place. The 主播大秀 produces a lot of this type of content, but it is not easily identified by engines which are based on collaborative filtering alone*.</p> <p>4. We provide useful, helpful, practical information, explainers and fact checks, which makes us a trusted source of information: that could be a news story, or revision notes for a Chemistry GCSE, or recipes for a quick mid-week meal, or sports results.</p> <p>5. We have enormous breadth and depth which means that there is something for everyone: there is variety by topic, tone, format, duration, location, level of expertise and age suitability and relevance.</p> <p>Our long term ambition is to use this thinking to build recommendation systems which can broaden our audience鈥檚 horizons, providing different perspectives and stories and experiences that they might not otherwise have come across. But this is complex - and a recommender that can effectively deal with as multi-faceted an editorial issue as impartiality is extremely challenging and will take significant time to develop.</p> <p>For now, curation in the context of our recommenders involves upholding our editorial values and finding ways to surface the most relevant and compelling content for each user. All the content the 主播大秀 makes for our UK audiences, one way or another, is public service, so our recommendations will of course always have a public service flavour.</p> <p>I鈥檓 excited that we have already built models with business rules about increasing breadth (in the Sounds recommender) and depth (in the World Service recommenders), and as well as reflecting editorial values around sensitivity. For example, on the Sport recommender, due for release next year, we鈥檝e taken the curatorial decision that content from rival teams will not be shown together in a set of recommendations.</p> <p>We can learn so much about public service by sharing the editorial point of view as we iterate and refine our approach. I鈥檒l be working in collaboration with editorial colleagues and data scientists to ensure these public service curation criteria inform the 主播大秀鈥檚 future recommendations engines.</p> <p>Lastly, we also recognise that the power of machine learning - of which recommendations is a part - can only get us so far. Machines cannot understand all the subtleties, complexities and nuance of editorial decision making. An algorithm will have trouble identifying what is entertaining or fresh or authentic without significant human assistance. A machine can help only up to a point to accurately tag content in a metadata system before a human verifies the machine鈥檚 choices and hits 鈥榩ublish鈥.</p> <p>So at the 主播大秀, we鈥檒l be maintaining a human hand in content creation and discovery. We need both humans and machines to best serve our audiences; editorial colleagues are highly skilled at making and promoting our content and machines can help amplify those skills. More and more, what recommendations can do is help locate the needle in the haystack in the first place - and exactly the right needle for you.</p> <p>*Which is why we have built a factorisation machine for our Sounds recommender which combines collaborative filtering with content matching. For more detail see <a href="/blogs/internet/entries/3e4342d4-6f81-47c0-8ba2-8dc7b419eb72">Developing personalised recommendation systems at the 主播大秀</a>.聽</p> </div> <![CDATA[主播大秀 Online: 2019 in review]]> 2019-12-12T09:38:21+00:00 2019-12-12T09:38:21+00:00 /blogs/internet/entries/a5e736f1-831a-4537-b4cb-934d33a1d0cf Neil Craig <div class="component prose"> <p>A large number of teams within the 主播大秀 work on various aspects of of our online services. Responsibilities span the entire stack, quite literally everything from low-level networking all the way through to audience engagement. In this post, we鈥檒l give you a brief overview of what some of our teams have been working on in 2019. Each contributing team has written an introduction to explain their role and responsibilities, along with some highlights of their work this year. If anything in particular catches your interest, please leave a comment and we鈥檒l get some follow up deep-dive blog posts written to give more detail.</p> <h4>Programmes Team</h4> <p>The programmes team is based in <a href="https://en.wikipedia.org/wiki/White_City_Place#主播大秀_White_City">Broadcast Centre, White City</a>, London, and manages <a href="http://www.bbc.co.uk/programmes">/programmes</a>, <a href="http://www.bbc.co.uk/blogs">/blogs </a>and <a href="http://www.bbc.co.uk/schedules">/schedules</a>, as well as tooling for ourselves and the editorial staff who publish to these platforms.</p> <ul> <li>We finished off our migration from the 主播大秀鈥檚 on-premises infrastructure to <a href="https://aws.amazon.com/">AWS</a>, including a complete rewrite of the codebase. This has resulted in render times being slashed down to 115ms on average.</li> <li>To increase the reliability of /programmes we've implemented a stale-while-revalidate cache using <a href="https://redis.io/">Redis</a> that compresses and stores all of our queries for at least 6 hours. This means that our application will be able to survive extended downtime from our data providers without a major interruption in service.</li> <li>We moved from a <a href="https://jenkins.io/">Jenkins</a> CI/CD environment we shared with a couple of other teams to our own <a href="https://aws.amazon.com/codebuild/">Codebuild</a> environment fully under our control in AWS. Build times and our automation tests generally are faster without having to queue to be run.</li> <li>We added structured data to enable search engines to understand the complicated nature of /programmes content better, thus helping our end users find the right content faster through their favourite search engine.</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p07xnft8.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p07xnft8.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p07xnft8.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p07xnft8.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p07xnft8.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p07xnft8.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p07xnft8.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p07xnft8.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p07xnft8.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>Online Technology Group (OTG)</h4> <p>The Online Technology Group is responsible for the provision and management of the 主播大秀鈥檚 core online services such as networking, <a href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>, <a href="https://en.wikipedia.org/wiki/Content_delivery_network">CDNs</a>, audience-facing <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">TLS</a>, <a href="https://en.wikipedia.org/wiki/Load_balancing_(computing)">load balancing</a>, <a href="https://en.wikipedia.org/wiki/Cache_(computing)">caching</a>, routing and <a href="https://en.wikipedia.org/wiki/High_availability">high-availability</a> facilities to content origins, our on-premise hosting platforms, and media analytics.</p> <p><strong>Website traffic management</strong></p> <ul> <li>Launched our new, in-house website traffic management (TLS termination, layer 7 routing, caching, origin HA) service in two UK <a href="https://en.wikipedia.org/wiki/Point_of_presence">PoPs</a> (our largest audience) as part of our worldwide rollout, alongside the existing mainland Europe and Ireland PoPs.</li> <li>Gradually enabling <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.3">TLS1.3 </a>on our website traffic managers, as platform technology allows.</li> <li>Built 鈥渂q-logs鈥, a large-scale, low cost, auto-scaling, reliable, extensible system to receive, enrich and import our traffic management access logs (or any structured or semi-structured data) into Google BigQuery. This system requires no day-to-day management, currently processes around 1TB of logs every day and enables access to all 主播大秀 online teams to the data it contains, maintaining access control over personal data.</li> <li>Built a very simple, fast, low cost, auto-scaling <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri">Report URI </a>and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API">Reporting API</a> endpoint which feeds reports into bq-logs (above) for <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">CSP</a>, <a href="https://w3c.github.io/network-error-logging/">NEL</a> and similar reports.</li> <li>Began deploying a consistent baseline of HTTP security headers, such as CSP, NEL, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options">X-Content-Type-Options</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options">X-Frame-Options</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options">Expect-CT.</a></li> <li>Deployed <a href="https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization">CAA</a> records on bbc.co.uk, bbci.co.uk and bbc.com.</li> <li>Enabled <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security">HSTS</a> on the bbc.co.uk and bbc.com apexes.</li> </ul> <p><strong>Media Distribution</strong></p> <ul> <li>Along with our colleagues in R&D, Media Services and iPlayer, successfully delivered the FA Cup Finals and all of Wimbledon 2019 in glorious <a href="/rd/blog/2019-08-uhd-hdr-fa-cup-football-live-sport-production">live streaming UHD</a>, to compatible smart TVs.</li> <li><a href="/blogs/internet/entries/8c6c2414-df7a-4ad7-bd2e-dbe481da3633">BIDI</a> (our in-house media CDN) reached a milestone of serving 1 Terabit of <a href="https://en.wikipedia.org/wiki/主播大秀_iPlayer">iPlayer </a>video on-demand traffic per second in 2019. BIDI is now running from 78 servers embedded within 15 data centres, across 4 <a href="https://en.wikipedia.org/wiki/Internet_service_provider">ISP</a>s.</li> <li>New BIDI cache hardware model designed and validated, which provides 119% more throughput, 316% increased programme storage capacity and is 88% more power efficient at peak throughput. All whilst providing an enhanced quality of service to the audience and at a lower cost per unit to the 主播大秀.</li> <li>Radix, our in-house media content origin platform has been refreshed. The new platform provides a better quality of service and increased capacity to meet the demands of iPlayer's on-demand catalogue for the next three years.</li> <li>Software improvements helped reduce <a href="https://en.wikipedia.org/wiki/Solid-state_drive">SSD</a> drive write rate on cache servers by 75%, improving latency and increasing drive longevity.</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p07xnhgd.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p07xnhgd.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p07xnhgd.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p07xnhgd.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p07xnhgd.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p07xnhgd.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p07xnhgd.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p07xnhgd.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p07xnhgd.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>Media Services</h4> <p>Media Services is the team responsible for audio and video workflows across the 主播大秀 Online. We <a href="https://en.wikipedia.org/wiki/Transcoding">transcode</a> and manage access to media, deliver video to linear playout systems, and develop the media players for Web and native iOS and Android. We've been making some subtle but important changes under the hood. Here are the highlights:</p> <ul> <li>We improved our <a href="https://en.wikipedia.org/wiki/Audio_description">Audio Description</a> workflow so that we can deliver audio described programmes to iPlayer before they are broadcast on <a href="https://en.wikipedia.org/wiki/Broadcast_programming">linear TV</a>. This meant that we could deliver the entire second series of <a href="/programmes/p06jy6bc">Killing Eve</a> with audio description, so visually impaired viewers could enjoy the whole series before broadcast like anybody else. One of our developers, Marcel, wrote a blog post with all the details <a href="/blogs/internet/entries/4b2fc26e-8822-4fd8-9aa7-840a41e992c5">here</a>.</li> <li>We integrated a new transcoding service from Bitmovin into our workflow that dramatically speeds up the delivery of content to iPlayer. Last year, for example, fans of <a href="/programmes/b006m8dq">Strictly Come Dancing</a> had to wait hours after broadcast for the show to appear on some platforms: it took over 2 hours to transcode each episode. This year, we reduced that time to just 10 minutes by splitting the programme into small chunks and processing them in parallel. This is just one of several transcoding services we use to optimise our media transcode function for different scenarios.</li> <li>"Content Enrichment" is a term that's being used a lot in planning meetings. If we can better understand our own content, we'll be able to provide better recommendations to the audience. One way we can do this is by creating transcripts of the audio and video we produce. Media Services has now launched a managed transcription service using <a href="/rd/">主播大秀 R&D'</a>s tool 鈥<a href="/rd/projects/speech-to-text">主播大秀 Kaldi</a>鈥 that will make it easier for other 主播大秀 teams to transcribe their content at a fraction of the cost of other speech-to-text providers on the market. So far we鈥檝e transcribed 75,000 hours of archive audio!</li> <li>The Playback team have been busy. The web team rebuilt the 鈥榗ontinuous play鈥 experience so that programmes and clips will automatically play in sequence. Alongside that, they commenced a major programme to rebuild the web media player from scratch in order to take advantage of new technologies available in browsers, such as <a href="https://en.wikipedia.org/wiki/Media_Source_Extensions">Media Source Extensions</a>, <a href="https://en.wikipedia.org/wiki/Progressive_web_application">Progressive Web Apps</a> and <a href="https://en.wikipedia.org/wiki/Progressive_web_application#Service_workers">Service Workers</a>. This also enable us to leave behind older or legacy technologies like <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe">iFrames </a>and suchlike (noting that we will still support older browsers for as long as they are needed even as we move to the new player sometime next year). The new player will also sport the new design which we鈥檙e excited to roll out.</li> <li>The Mobile playback team have been equally busy; we onboarded several new apps over the last year and have been working with them to enable full use of the players. Again, much work 鈥榰nder the hood鈥 is ongoing to maintain an uninterrupted delivery of 主播大秀 content to those apps with a robust and reliable service.</li> </ul> <h4>iBL</h4> <p>iPlayer Business Layer is 鈥淭he Beating Heart of iPlayer鈥. If content is the lifeblood of iPlayer, iBL is the team responsible for controlling its flow through the product. We achieve that by gathering the metadata, curation, business logic and algorithms in one place: we are iPlayer as an API.<br />Some of the highlights of what we worked on in 2019:</p> <ul> <li><strong>Curator DSL</strong> - In order to help our editorial teams with their work, we have developed a <a href="https://en.wikipedia.org/wiki/Domain-specific_language">DSL</a> for selecting a subset of episodes on iPlayer, which can be refreshed automatically rather than needing manual updating of groups. This is using existing commissioning information such as genre, but also analyses and labels episodes based on descriptions and other data - see also the content enrichment work Media Services is working on above.</li> <li><strong>Personalised Bundles</strong> - On our journey for iPlayer to be <a href="/mediacentre/speeches/2019/charlotte-moore-iplayer#heading-the-total-tv-vision">Total TV</a>, we have introduced more personalised 鈥淏undles鈥 of content on the iPlayer homepage, such as the 鈥淚f you Liked鈥 bundle, which suggests shows based on your recent watching history and communicates that reason to you.</li> <li><strong>Content to Content Recommendations</strong> - We have taken some of the concepts 主播大秀 R&D have developed for their <a href="/rd/projects/responsible-machine-learning">Recommender System </a>into production and running some of iPlayer鈥檚 recommendations using this system. Stay tuned for more in this space in the future!</li> <li><strong>Live Events</strong> - 2019 saw the return of <a href="https://en.wikipedia.org/wiki/Glastonbury_Festival">Glastonbury</a> after a fallow year, and the 主播大秀 is committed to show much more live coverage across the board, including <a href="/sport/43464874">sports</a>. This year, we have revamped our live event workflows after some user testing: From dynamically updating the titles and images on the playback screen, and on the homepage, based on what鈥檚 actually happening on stage or tennis court right now to grouping content into sensible slices, we鈥檝e made many improvements to iPlayer, and won <a href="https://www.uxukawards.com/past-awards/2019-winners/">two UX UK Awards</a> 馃弳.</li> <li><strong>Full Series</strong> - Following recent <a href="/news/entertainment-arts-49191885">Ofcom regulation changes</a> we are expending the number of series available on iPlayer significantly, and are improving the ways in which iPlayer handles this. We allow browsing by series now, use better imagery and promotional materials for a whole programme rather than individual episodes, and we keep track of users鈥 watching progress and current episode.</li> <li><strong>Experiments</strong> - We have run dozens of <a href="https://en.wikipedia.org/wiki/Application_programming_interface">API</a> driven experiments in the live product this year, many of which resulted in changes to the audience experience. From re-ordering categories for an U13 (under 13) audience to a more useful way we generate recommendations for new users who don鈥檛 have a watching history, we hope that these under-the-hood improvements have made some people鈥檚 lives easier.</li> <li><strong>Scotland</strong> - Scotland got its own TV channel, and obviously this is featured on <a href="/tv/bbcscotland">iPlayer.</a></li> <li><strong>Programme Publication Workflow</strong> - With the increasing size of the iPlayer catalogue, we鈥檙e undergoing a migration to an event-driven workflow to update available episodes to ensure everybody gets the latest Episode of <a href="/programmes/p07kt8b4">Ru Paul鈥檚 Drag Race UK</a> as quickly as possible.</li> <li><strong>Better client workflows</strong> - Our <a href="https://en.wikipedia.org/wiki/GraphQL">GraphQL</a> APIs uses Persisted Queries, which means that if any iPlayer client would like to update what they query from the API, they need to register their new query first, we need to review it, and then add it to our API. This used to be a manual process, which we have now automated, allowing clients to update their queries in minutes rather than hours or days.</li> <li><strong>Operational Visibility</strong> - All the new services to deliver all the new features above have introduced some changes to our operational workflows. We have worked with the 主播大秀鈥檚 operations teams to allow them to handle most actionable events without needing to call out an engineer. Across the whole department and organisation we have also started to share a lot more background on incidents and how we can work together to learn from them.</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p07xnfnv.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p07xnfnv.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p07xnfnv.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p07xnfnv.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p07xnfnv.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p07xnfnv.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p07xnfnv.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p07xnfnv.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p07xnfnv.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>iPlayer Web</h4> <p>The iPlayer Web team are responsible for building and maintaining the face of iPlayer on the web, across thousands of different types of device.</p> <ul> <li><strong>Analytics & Data</strong> - With audiences at the heart of everything we do, we need to ensure we can capture data around user behaviour, so that we can fully understand how users use the product. We have therefore increased our focus on understanding user data and insight, with more advanced implementations of analytics.</li> <li><strong>Childrens鈥 experience</strong> - iPlayer has lots of programmes but not all are suitable for our younger audiences! We have started creating a safeguarded and child-friendly experience in iPlayer Web, for those users who are signed in with an Under 13鈥檚 主播大秀 Account. We have run several experiments on this experience, for example, simplifying the user interface to see if young people find it easier to discover content. There are many more improvements to come, but to see our progress so far please check out <a href="/usingthebbc/account/how-to-register-a-child-account/">how to register for a child account</a></li> <li><strong>End-of-playback experience</strong> - We have run over 10 experiments this year, around the end-of-playback experience. We鈥檝e been trialling various changes to the user interface, to assist users in discovering new programmes that they鈥檇 like to watch.</li> <li><strong>Live Events</strong> - As mentioned by iBL, we designed and launched a brand new live events experience on iPlayer, making it easier to discover the various live streams available for users to watch at various live events such as Glastonbury and Wimbledon. <a href="https://www.uxukawards.com/past-awards/2019-winners/">We even won 2 UXUK awards for this new experience!</a></li> <li><strong>React Migration</strong> - We finished moving all of our custom client-side code to <a href="https://en.wikipedia.org/wiki/React_(web_framework)">React components</a> - the last things to move were the main iPlayer navigation and footer. This makes for a more consistent codebase, allowing quicker development and experimentation across the product.</li> <li><strong>End-to-end test infrastructure</strong> - We started making improvements to our end-to-end acceptance tests and infrastructure, with an aim of making tests quicker, more stable and run more frequently. By upgrading our testing framework and running tests in parallel, we saw time to run a full regression of the playback experience more than half, making it even quicker to ship new features to the audience!</li> </ul> <h4>Technology Strategy & Architecture</h4> <p>Technology Strategy & Architecture (TS&A) is a collaborative group which brings together expertise from across 主播大秀 Design & Engineering. It鈥檚 the team that looks ahead and assesses what technology the 主播大秀 will need in five years' time, and maps out a plan of how to get there; and ensures that we have the right priorities in place so we can digitally transform the 主播大秀.</p> <ul> <li>The <a href="https://www.bbc.com/blueroom">Blue Room</a> ran a successful conference and fair in October with a focus on responsible use of <a href="https://en.wikipedia.org/wiki/Artificial_intelligence">Artificial Intelligence</a>. 300+ internal and external guests took part and were offered a range of discussions on <a href="https://en.wikipedia.org/wiki/Machine_learning">Machine Learning </a>developments, creativity, regulation and ethics and invited to explore their hands-on technology fair. A summary of the conference, and an exhibition walk-through can be found <a href="https://canvas-story.bbcrewind.co.uk/bbc-blueroom-conference-fair/">here</a>.</li> <li><a href="https://datalab.rocks/">主播大秀 Datalab</a> facilitated a pan-主播大秀 initiative to create the 主播大秀鈥檚 first Machine Learning Ethics Guidelines - specifically for the 主播大秀 Recommender Engine project but with the expectation that they鈥檒l be rolled out further to other machine learning initiatives.</li> <li>Our substantial work on developing personalised recommender systems has started to take effect with the first in-house recommenders being deployed. You can read more <a href="/blogs/internet/entries/a38207dd-e4ed-40fa-8bdf-aebe1dc74c28">here</a>.</li> <li>Following publication last year of a <a href="https://tsacommunity.bbcmail.co.uk/579O-464X-NH6Y3-2EBO0-1/c.aspx">blogpost</a> on the 主播大秀 Capability Framework, developed by TS&A, the EBU asked to share the framework to support the creation of an <a href="https://www.ebu.ch/">EBU</a>-owned model which could be adopted by its members. This July, the EBU technical committee formally approved the work to create an EBU media industry capability model. Read our follow-up blogpost <a href="https://tsacommunity.bbcmail.co.uk/579O-464X-NH6Y3-2H67V-1/c.aspx">here</a>.</li> <li>The 主播大秀 Machine Learning Fireside Chats are now available as a podcast on <a href="https://tsacommunity.bbcmail.co.uk/579O-464X-NH6Y3-2H681-1/c.aspx">Soundcloud</a>. The ML Fireside Chats are friendly bi-monthly events to discuss and share knowledge in the ML space. To find out more, join our <a href="https://tsacommunity.bbcmail.co.uk/579O-464X-NH6Y3-2H682-1/c.aspx">MeetUp group</a>. To join the conversation follow us on Twitter: <a href="https://tsacommunity.bbcmail.co.uk/579O-464X-NH6Y3-2H683-1/c.aspx">@主播大秀_MLFireside</a></li> </ul> <h4>RMS (Sounds)</h4> <p>RMS is the service that powers the 主播大秀 Sounds experience across Mobile and Web. Our API provides a view into the content, and guides the experience that clients receive when using Sounds. Some of the work we鈥檝e done (or are working on) this year includes:</p> <ul> <li><strong>Local Radio Stations in the Listen Live Rail</strong> - To help make Sounds more personalised and relevant to the audience and increase user engagement, we started displaying a Local Radio suggestion to a user. If a user has a postcode set and has enabled personalisation, we will find the nearest Local Radio Station to that user鈥檚 postcode and display it at the end of the Listen Live Rail, along with the National Radio Stations.</li> <li><strong>Shared, distributed cache to support Personalised Content</strong> - We鈥檙e investigating caching at different layers, and sharing the cache with other instances of the same service. In order to support more personalised content, we have started a long term investigation into new caching strategies. RMS serves hundreds of thousands of requests per day, and historically, most of those were for static or infrequently changing content that every user could consume. With the move towards more personalised content, we will have to change our caching strategy, as each user will receive a different experience. The variance of pages that could be cached grows massively with each piece of personalised content, and it is not practical to cache this in the way we鈥檝e been doing it before.</li> </ul> <h4>Research & Development</h4> <p>R&D activity at the 主播大秀 has been going on for almost 100 years. A specific department was established when the 主播大秀 Research Department was formed in 1930. Doing research and development activity is Clause 65 of the 主播大秀 Charter. In 2011 the 主播大秀 Executive Committee鈥檚 paper interpreted Clause 65 to mean the following for the corporation鈥檚 research and development activity:</p> <ul> <li><strong>Drive Innovation</strong> in support of 主播大秀 strategy and public purposes</li> <li><strong>Horizon scan</strong>, acting as early warning radar in the face of technical change</li> <li><strong>Provide an expert team</strong> to solve problems or maximise opportunities</li> <li><strong>Add tangible value</strong> to the wider media industry</li> <li><strong>Maintain 主播大秀 partnerships</strong>, and with them, primary position in the wider ecosystem</li> </ul> <p>Our 2019 highlights include:</p> <ul> <li><a href="/programmes/b006m9ry">主播大秀 Click </a>used our <a href="/rd/object-based-media">Object-Based Media</a>聽tool <a href="/rd/blog/2018-10-object-based-media-tools-storyformer">Storyformer</a> to make their <a href="https://storyplayer.pilots.bbcconnectedstudio.co.uk/experience/click1000">1000th episode</a>.</li> <li>We introduced our personal data store prototype <a href="/rd/blog/2019-06-bbc-box-personal-data-privacy">主播大秀 Box</a> designed to give audiences control over their personal information.</li> <li><a href="/programmes/b006m8wd">Casualty</a> audiences benefited from our <a href="/taster/pilots/casualty-ae-audio">new trial on Taster </a>which made it easier for people with a hearing impairment to enjoy 主播大秀 dramas the feature allowed audiences to set the audio mix to suit their needs.</li> <li>R&D tested the use of <a href="/rd/blog/2019-03-5g-rural-first-network-orkney">4G/5G broadcast technology to deliver live radio services </a>to members of the public in <a href="https://en.wikipedia.org/wiki/Orkney">Orkney</a>. The island was chosen because it has limited fixed broadband, little or no mobile coverage and poor digital radio coverage.</li> <li>Connected Studio, part of R&D launched <a href="/rd/blog/2019-10-makerbox-digital-storytelling-tools-creators">Makerbox</a> the destination for developers, producers and storytellers to use cutting edge 主播大秀 R&D and third party originated tools to help them create new ways of telling stories to audiences.</li> <li>We continued our <a href="/rd/blog/2019-08-uhd-hdr-fa-cup-football-live-sport-production">High Dynamic Range trials</a> and increased the jeopardy by tackling the 2019 <a href="https://en.wikipedia.org/wiki/FA_Cup">FA Cup live</a>.</li> <li><a href="/rd/blog/2019-10-bbc-notes-proms">The 主播大秀 Proms was used to test Notes</a> our new web app that sends you extra information about what you鈥檙e seeing and hearing to your device, as it happens.</li> <li>We launched our <a href="/rd/blog/2019-07-diversity-inclusion">Diversity & Inclusion policy</a> on what speaker opportunities we will be involved with to help to improve diversity in the tech industry.</li> </ul> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p07xngx1.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p07xngx1.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p07xngx1.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p07xngx1.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p07xngx1.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p07xngx1.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p07xngx1.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p07xngx1.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p07xngx1.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4>News and World Service (Web)</h4> <p>主播大秀 News and World Service online bring 主播大秀 news content to the web both for our domestic UK audience and for our international audiences, around the world.</p> <p>This year our main focus has been on moving large parts of our website to the cloud and to our new technology stack (Including the ~40 world service language sites). As well as delivering coverage of the December general election, and improving our existing web products.</p> <p>Specifics:</p> <ul> <li>Released a new <a href="https://github.com/bbc/simorgh">open-source World Service platform</a> that is 鈥減erformance-first鈥 to ensure that our users around the world are getting a first-class experience that caters for different needs</li> <li>Continued to migrate from our legacy monolithic applications to a more <a href="https://en.wikipedia.org/wiki/Microservices">microservices-oriented</a> approach (mostly made up of <a href="https://en.wikipedia.org/wiki/Node.js">Node.js/React</a> and <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a> microservices on AWS).</li> <li>Added support for personalised content on the <a href="/news/entertainment-arts-49191885">News front page</a> with top stories tailored to each user's preferred nation.</li> <li>Developed a new <a href="https://en.wikipedia.org/wiki/Elixir_(programming_language)">Elixir</a>-based 鈥減reflight鈥 service that is responsible for the resiliency and availability of our web platforms.</li> <li>Upgrading our existing Elections infrastructure and creating new components for general election coverage in the UK, India, Nigeria, Thailand, Indonesia, and Sri Lanka amongst others.</li> <li>Using <a href="https://aws.amazon.com/fargate/">AWS Fargate</a> ECS clusters to render images with R and publish directly to Twitter and other platforms.</li> <li>Used natural language selection templates to create semi-automated editorial content in English and Welsh for the general election.</li> <li>Moving our iframe services to <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe">Shadow Dom</a>.</li> <li>Working with our data science teams to deliver an API to provide content recommendations based on users recent article reading history.</li> </ul> <h4>Weather website</h4> <p>The 主播大秀 Weather website serves an average of 8 million users per week, offering 14-days of hourly forecast information, warnings, interactive maps, and the latest editorial analysis and videos from the 主播大秀 Weather Centre.</p> <p>In 2018, we relaunched <a href="/blogs/internet/entries/dc3468bf-dd27-4c25-ae92-7622d6ba3e48">a significant portion of the 主播大秀 Weather website on the cloud</a>, expanding our use of <a href="https://en.wikipedia.org/wiki/AWS_Lambda">AWS lambda</a> to transform and render incoming weather data. Several features, however, remained on the 主播大秀鈥檚 outgoing on-premise platform. Our primary aim for 2019, therefore, was to complete our migration to the cloud, and in the process deliver a visually consistent and performant experience across the entire site.</p> <p>Highlights include:</p> <ul> <li>Automated <a href="/weather/warnings/weather">UK Weather Warnings</a> and <a href="/weather/warnings/floods">Flood Warnings</a> pages.</li> <li>A refreshed <a href="/weather/outlook">Monthly Outlook</a>.</li> <li>Migration of our article, video and photo galleries to the cloud, here鈥檚 an <a href="/weather/features/50338967">example article</a>.</li> <li>Incorporating the 主播大秀鈥檚 new typeface, <a href="/gel/articles/introducing-bbc-reith">Reith</a>, in line with our <a href="/blogs/aboutthebbc/entries/4df3e9ba-bdf7-48dc-8c9e-0c4256cce7f6">new TV graphics</a>.</li> <li><a href="/weatherwatchers/article/47290037/showcasing-more-of-our-favourite-weather-watchers-photos/">Showcasing Weather Watchers photos </a>(user-generated content) on our UK forecast pages</li> <li>New and improved <a href="/weather/coast-and-sea/tide-tables/8/62">Tide Tables</a> information</li> </ul> <p>In early 2020, we鈥檒l release a new look for the remaining section of the site: our specialised forecasts covering <a href="/weather/coast_and_sea">Coast and Sea</a>.</p> <h4>Search</h4> <p>The Search team runs the back-end services that power most of the search features on 主播大秀 Online including the website, mobile, TV and voice applications. We鈥檝e been busy completing our migration from the on-premise 鈥淔orge鈥 platform to AWS, enabling improvements to our search features going forward.</p> <ul> <li>Migrated search engines, services and data feeds to AWS</li> <li>Created a content enrichment pipeline and associated editorial tooling on AWS</li> <li>Started migration of search results pages to AWS</li> <li>Invested in Relevancy Engineering skills</li> </ul> <h4>Navigation</h4> <p>The Navigation service provides the 主播大秀 blocks, navigation links and footer on the website, as well as delivering the cookies/GDPR banners, analytics integration, the 主播大秀 Reith font, etc.</p> <ul> <li>Supported migration to the new 主播大秀 website analytics system</li> <li>Created a new EU cookie banner to allow our audience to opt in or out of the various cookies we use in 主播大秀 Online</li> <li>Supported insertion of <a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">GDPR</a> banner in 主播大秀 CoreServices/Webcore products</li> <li>Improved click-per-view tracking support, enabling a feedback loop for improvements to Search etc</li> <li>Created a replacement <a href="https://en.wikipedia.org/wiki/Geolocation">geolocation</a> service</li> </ul> <h4>Application Security (AppSec)</h4> <ul> <li>Conducted a plethora of security architecture surgeries and<a href="https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html"> threat modelling sessions</a> in collaboration with 主播大秀 Online teams as they develop or change their services</li> <li>Re-launched the Security Champions forum in January 2019 for our online teams</li> <li>Introduced an initial training pathway for 主播大秀 Security Champions where new members have to take secure coding training, threat modelling training and data protection training in order to qualify as a formal 主播大秀 Security Champion</li> <li>Ran a pilot of a computer based training secure coding training tool and migrated to that from the previous classroom based course. This was successful so the platform was opened up to the entire 主播大秀 Security Champion community as a part of their training pathway</li> <li>Launched a newly developed threat modelling course and have trained 120 主播大秀 Security Champions across the year</li> <li>Ran a <a href="https://en.wikipedia.org/wiki/Red_team">red team</a> testing event against 主播大秀 iPlayer and 主播大秀 Sounds in order to identify vulnerabilities in their codebase and to help productionise our red teaming capability</li> <li>Hosted an <a href="https://youtu.be/TwbySIg2z2Y">OWASP Manchester vs Secure Code Warrior event</a> at 主播大秀 <a href="https://en.wikipedia.org/wiki/MediaCityUK">MediaCityUK</a></li> <li>Launched a proof of concept deployment of <a href="https://www.defectdojo.org/">OWASP DefectDojo</a>, a vulnerability consolidation tool for 主播大秀 Online teams and InfoSec</li> <li>Launched a proof of concept deployment of <a href="https://www2.owasp.org/www-project-juice-shop/">OWASP Juice-Shop</a>, fronted by <a href="https://github.com/bkimminich/juicy-ctf">Juicy-CTF</a>, for the 主播大秀 Security Champions to test their knowledge and skills in a safe environment.</li> </ul> <p>So there you have it, a snapshot of what some of the teams in 主播大秀 Online have been working on in 2019. To the best of my knowledge, this is the first time we鈥檝e published a roundup and whilst not all our teams were able to contribute this year, I hope we鈥檒l continue this each year and improve as we go.</p> <p>As I mentioned earlier, if there鈥檚 something which particularly interests you or a question you鈥檇 like to ask, please leave a comment and we鈥檒l do our best to cover them in follow-up blog posts.</p> <p>Thank you to all the 主播大秀 Online teams who contributed. All that鈥檚 left to say is that we hope you had a great 2019 and wish you all the best for 2020!</p> </div> <![CDATA[Mixital to close]]> 2019-04-24T08:27:57+00:00 2019-04-24T08:27:57+00:00 /blogs/internet/entries/dbb0e8f3-818a-47cf-875f-75025a3721cb Martin Wilson <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p076mdh4.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p076mdh4.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p076mdh4.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p076mdh4.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p076mdh4.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p076mdh4.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p076mdh4.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p076mdh4.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p076mdh4.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>In 2015, <a href="/blogs/internet/entries/ad4d5a40-2488-4d69-bef4-f6fc0030b074">we launched Mixital</a> to help young people become digital makers. Brands from Doctor Who to EastEnders to Strictly got involved to inspire fans to make games, videos, animations, scripts and even dancing robots.</p> <p>In all, more than one million new creations have been submitted to the 主播大秀 using Mixital鈥檚 maker tools. And it has won or been nominated for six national awards 鈥 including a Children鈥檚 Bafta.</p> <p>Its key success was in simplifying digital making to enable everyone 鈥 including those with only basic digital skills - to get creative with the 主播大秀. It meant audiences could engage in new ways with their favourite brands. And the brands themselves could showcase the creativity of their fans.</p> <p>鈥淒octor Who is always looking for new ways to engage with its fans. We had nearly 100,000 original games submitted using the game maker kit that featured all the Doctor Who characters. And we鈥檝e had thousands of scripts sent in too. It shows how creative our community is and how much they like to engage with us even when the show鈥檚 not on air,鈥 said Matt Rogers, Digital Producer, Doctor Who.</p> <p>The 主播大秀 is now building on these learnings and exploring how we might best incorporate creative participation into what we do online. That means we鈥檒l be closing down Mixital over the next year and helping our creative communities grow further on bbc.co.uk.</p> <p>We鈥檒l also be sharing the insights and learnings from Mixital with partners like Nesta and Freeformers who collaborated with us in setting up Mixital.</p> <p>Mixital was launched as part of the 主播大秀鈥檚 Make It Digital campaign. It built on the insights from <a href="https://media.nesta.org.uk/documents/next_gen_wv.pdf">Nesta鈥檚 Next Gen. Report (2011)</a>聽 and <a href="https://media.nesta.org.uk/documents/youngdigmakers.pdf">Young Digital Makers Report (2015)</a>聽that highlighted the growing skills gap in making with technology.</p> <p>Digital technologies are rapidly changing how we learn, the skills we need and the future of work. It鈥檚 becoming increasingly important for young people to get creative with these technologies.</p> <p>鈥淥ur research shows how vital digital skills and creativity are to the future of employment. And also the huge appetite young people have to make digitally. Mixital built on the work we did with the Digital Makers Fund and, in turn, we look forward to building further on its insights and learnings,鈥 said Joysy John, Director of Education, Nesta.</p> <p><a href="/blogs/aboutthebbc/entries/39903a70-2217-48b2-9bff-1fd02b094756">The programme commissioned original research and worked directly with young people.</a>聽The findings highlighted the need for easy-to-use maker kits and a safe, fun space to experiment, learn new skills, build confidence and showcase submissions - all essential ingredients of creativity.</p> <p>主播大秀 Executive Product Manager Jon Howard said: 鈥淐hildren were taking part in creative activities as entertainment. This wasn鈥檛 just casual engagement; the quality of the creations demonstrated a high level of skill. Most surprising and exciting were the emergent behaviours, young people using the digital tools in ways that weren鈥檛 originally conceived 鈥 devising games that we hadn鈥檛 thought possible. We knew we鈥檇 uncovered a rich seam of creativity among young people.鈥</p> <p>One of the innovations underpinning Mixital was the Youth Panel: a group of 18-21 year olds who met the 主播大秀 production team regularly to help shape the product. <a href="/blogs/internet/entries/0991e162-b338-45c2-bc6f-0f91e5af4e2e">They even built and launched their own maker kit with 主播大秀 Radio 1Xtra. </a></p> <p>鈥淚t鈥檚 been great working with Mixital. The Youth Panel 鈥 many of whom were Freeformers 鈥 really enjoyed working alongside 主播大秀 engineers and designers to create and launch their own product. I know how much they learned from these experiences,鈥 said Adam Freeman, CEO of Freeformers.</p> <p>From April 2019, it will no longer be possible to register with Mixital or submit any new content using the tools. And from April 2020, Mixital itself will be removed from public view.</p> <p>For more information please <a href="https://www.mixital.co.uk/faqs">see Mixital FAQs</a>.</p> </div> <![CDATA[Around the world with TLS 1.0 (Part 1)]]> 2018-11-30T11:36:00+00:00 2018-11-30T11:36:00+00:00 /blogs/internet/entries/50c3faf5-eed2-42c5-bb45-1d816fa8e514 Neil Craig <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p06t90md.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p06t90md.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p06t90md.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p06t90md.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p06t90md.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p06t90md.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p06t90md.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p06t90md.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p06t90md.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>Recently, <a href="https://datatracker.ietf.org/doc/draft-ietf-tls-oldversions-deprecate/">a draft IETF proposal to formally deprecate TLS 1.0 and TLS 1.1</a> was published and soon afterwards, <a href="https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls/">Mozilla</a>, <a href="https://security.googleblog.com/2018/10/modernizing-transport-security.html">Google</a>, <a href="https://webkit.org/blog/8462/deprecation-of-legacy-tls-1-0-and-1-1-versions/">Apple</a> and <a href="https://blogs.windows.com/msedgedev/2018/10/15/modernizing-tls-edge-ie11/">Microsoft</a> coordinated their announcements that they intend to remove TLS 1.0 and TLS 1.1 from new versions of their primary web browsers.</p> <p>Removing TLS 1.0 and TLS 1.1 in newer web browsers is a good step forward, which I hope will drive up the number of websites and services offering TLS 1.2 and TLS 1.3.</p> <p>Some of the above announcements provided statistics on TLS 1.0 and TLS 1.1 usage in modern browsers, since it鈥檒l be modern browsers from which TLS 1.0 and TLS 1.1 are removed. The numbers I saw stated in the announcements (TLS 1.0 at 1.1% and TLS 1.1 at 0.1% usage) looked much lower than some I had seen in our per-geography data鈥娾斺妉ikely because their data is globally aggregated.</p> <p>鈥淏est check our data to see how it鈥檚 looking, eh?鈥 I thought鈥o I did.</p> <h4>Methodology</h4> <p>I put in some work earlier this year to make it easier to use the HTTP access log data from 主播大秀 traffic management services. We now have an automated ingestion pipeline which takes the access logs from their existing AWS S3 storage buckets, verifies, parses, enriches and transforms them before loading them into Google BigQuery (in a GDPR-compliant manner, of course). The net result is that we can now perform SQL queries across all of our traffic management layer鈥檚 access logs in a very short timeframe. This has been a game-changer in my opinion, we鈥檙e using the data to discover all sorts of things we never knew about usage of our services.</p> <p>The data I used for this particular study show HTTPS (only, not HTTP) requests to <a href="http://www.bbc.co.uk">www.bbc.co.uk</a> and <a href="http://www.bbc.com">www.bbc.com</a> from November 10th-13th 2018鈥娾斺奱 total of just over 2 billion requests from 250 countries (including country: 鈥渦nknown鈥).</p> <h4>Global view</h4> <p>First of all, I looked at our 鈥済lobal view鈥 of TLS usage. This covers TLS usage on <a href="http://www.bbc.co.uk%20">www.bbc.co.uk </a>and <a href="http://www.bbc.com">www.bbc.com</a> from every country we served:</p> </div> <div class="component prose"> <table width="515" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>TLS Version</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>TLSv1.2</p> </td> <td> <p>2,002,516,373</p> </td> <td> <p>97.96%</p> </td> </tr> <tr> <td> <p>TLSv1.1</p> </td> <td> <p>4,529,764</p> </td> <td> <p>0.22%</p> </td> </tr> <tr> <td> <p>TLSv1.0</p> </td> <td> <p>37,160,210</p> </td> <td> <p>1.82%</p> </td> </tr> </tbody> </table> <p><a href="https://gist.github.com/neilstuartcraig/898726e59fe34ce8cfb1ff2e739d4a3d/raw/c9ddfd39031245a55ea9e8f1d3a19e5a93658b5d/tls1-blog-global.md"><strong>view raw</strong></a>聽聽<a href="https://gist.github.com/neilstuartcraig/898726e59fe34ce8cfb1ff2e739d4a3d#file-tls1-blog-global-md"><strong>tls1-blog-global.md</strong></a>聽hosted with聽鉂y聽<a href="https://github.com/"><strong>GitHub</strong></a></p> </div> <div class="component prose"> <p>So whilst our global aggregate view of TLS usage differs a little from e.g. the Firefox metrics, it鈥檚 not vastly different.</p> <h4>Per-Country view</h4> <p>As I mentioned earlier, the main purpose of this study was to look at how TLS usage varies by geography, as a contrast to the global view for our audience. My query counted the number of HTTPS requests and grouped them by the negotiated TLS version and also by the country (using the IANA name) from which the request originated. I then filtered out countries with less than 10,000 requests as they鈥檙e probably less reliable, statistically. Since the result set is pretty large, I then filtered to only include countries which have greater than 5% of TLS 1.0 usage. The results are as follows (ordered from highest to lowest percentage of TLS 1.0 usage):</p> </div> <div class="component prose"> <table width="515" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Country</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage of TLS 1.0 usage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Bosnia and Herzegovina</p> </td> <td> <p>35,031</p> </td> <td> <p>100.00%</p> </td> </tr> <tr> <td> <p>China</p> </td> <td> <p>2,261,506</p> </td> <td> <p>86.93%</p> </td> </tr> <tr> <td> <p>Montenegro</p> </td> <td> <p>28,712</p> </td> <td> <p>48.74%</p> </td> </tr> <tr> <td> <p>Croatia</p> </td> <td> <p>113,948</p> </td> <td> <p>43.75%</p> </td> </tr> <tr> <td> <p>Uganda</p> </td> <td> <p>150,225</p> </td> <td> <p>34.48%</p> </td> </tr> <tr> <td> <p>Honduras</p> </td> <td> <p>97,644</p> </td> <td> <p>29.55%</p> </td> </tr> <tr> <td> <p>Ethiopia</p> </td> <td> <p>180,473</p> </td> <td> <p>26.04%</p> </td> </tr> <tr> <td> <p>Democratic Republic of the Congo</p> </td> <td> <p>12,775</p> </td> <td> <p>25.67%</p> </td> </tr> <tr> <td> <p>Nigeria</p> </td> <td> <p>1,224,923</p> </td> <td> <p>25.13%</p> </td> </tr> <tr> <td> <p>Cote d'Ivoire</p> </td> <td> <p>14,717</p> </td> <td> <p>23.68%</p> </td> </tr> <tr> <td> <p>Myanmar</p> </td> <td> <p>164,751</p> </td> <td> <p>21.25%</p> </td> </tr> <tr> <td> <p>Hungary</p> </td> <td> <p>175,327</p> </td> <td> <p>20.20%</p> </td> </tr> <tr> <td> <p>Cameroon</p> </td> <td> <p>11,618</p> </td> <td> <p>15.02%</p> </td> </tr> <tr> <td> <p>Tanzania</p> </td> <td> <p>76,469</p> </td> <td> <p>14.93%</p> </td> </tr> <tr> <td> <p>Somalia</p> </td> <td> <p>189,509</p> </td> <td> <p>12.98%</p> </td> </tr> <tr> <td> <p>Sudan</p> </td> <td> <p>16,273</p> </td> <td> <p>12.93%</p> </td> </tr> <tr> <td> <p>Mozambique</p> </td> <td> <p>10,348</p> </td> <td> <p>12.39%</p> </td> </tr> <tr> <td> <p>Taiwan</p> </td> <td> <p>195,132</p> </td> <td> <p>11.01%</p> </td> </tr> <tr> <td> <p>Zambia</p> </td> <td> <p>29,070</p> </td> <td> <p>10.41%</p> </td> </tr> <tr> <td> <p>Morocco</p> </td> <td> <p>32,932</p> </td> <td> <p>10.04%</p> </td> </tr> <tr> <td> <p>Uzbekistan</p> </td> <td> <p>17,135</p> </td> <td> <p>9.38%</p> </td> </tr> <tr> <td> <p>Japan</p> </td> <td> <p>489,215</p> </td> <td> <p>9.15%</p> </td> </tr> <tr> <td> <p>Hong Kong</p> </td> <td> <p>426,542</p> </td> <td> <p>8.97%</p> </td> </tr> <tr> <td> <p>Algeria</p> </td> <td> <p>24,760</p> </td> <td> <p>8.97%</p> </td> </tr> <tr> <td> <p>Romania</p> </td> <td> <p>62,019</p> </td> <td> <p>8.79%</p> </td> </tr> <tr> <td> <p>Zimbabwe</p> </td> <td> <p>19,253</p> </td> <td> <p>8.15%</p> </td> </tr> <tr> <td> <p>Egypt</p> </td> <td> <p>52,061</p> </td> <td> <p>7.60%</p> </td> </tr> <tr> <td> <p>Turkey</p> </td> <td> <p>234,372</p> </td> <td> <p>7.32%</p> </td> </tr> <tr> <td> <p>Philippines</p> </td> <td> <p>94,536</p> </td> <td> <p>6.95%</p> </td> </tr> <tr> <td> <p>Ghana</p> </td> <td> <p>44,913</p> </td> <td> <p>6.71%</p> </td> </tr> <tr> <td> <p>Belarus</p> </td> <td> <p>28,211</p> </td> <td> <p>6.68%</p> </td> </tr> <tr> <td> <p>Kenya</p> </td> <td> <p>73,939</p> </td> <td> <p>6.39%</p> </td> </tr> <tr> <td> <p>Nepal</p> </td> <td> <p>38,569</p> </td> <td> <p>6.00%</p> </td> </tr> <tr> <td> <p>Bulgaria</p> </td> <td> <p>27,659</p> </td> <td> <p>5.96%</p> </td> </tr> <tr> <td> <p>Malawi</p> </td> <td> <p>15,501</p> </td> <td> <p>5.85%</p> </td> </tr> <tr> <td> <p>Jordan</p> </td> <td> <p>13,419</p> </td> <td> <p>5.73%</p> </td> </tr> <tr> <td> <p>Indonesia</p> </td> <td> <p>119,720</p> </td> <td> <p>5.40%</p> </td> </tr> <tr> <td> <p>Ukraine</p> </td> <td> <p>86,505</p> </td> <td> <p>5.35%</p> </td> </tr> <tr> <td> <p>Republic of Korea</p> </td> <td> <p>83,370</p> </td> <td> <p>5.33%</p> </td> </tr> <tr> <td> <p>Saudi Arabia</p> </td> <td> <p>79,834</p> </td> <td> <p>5.21%</p> </td> </tr> </tbody> </table> <p><a href="https://gist.github.com/neilstuartcraig/59f66232005abb6d90961c638e514970/raw/370f0f7c11bc78a96e29beaaf219b2ba705cb7d0/tls-1-blog-per-country.md"><strong>view raw</strong></a>聽聽聽<a href="https://gist.github.com/neilstuartcraig/59f66232005abb6d90961c638e514970#file-tls-1-blog-per-country-md"><strong>tls-1-blog-per-country.md</strong></a>聽hosted with聽鉂y聽<a href="https://github.com/"><strong>GitHub</strong></a></p> <p>聽</p> </div> <div class="component prose"> <p>It鈥檚 pretty clear that there are very significant differences across the world in TLS 1.0 usage from country to country. We鈥檒l dig into this in a little bit more detail in a moment but I should just mention for now that the data from China might be inaccurate as (to the best of my knowledge), <a href="/news/technology-45098190">www.bbc.co.uk and www.bbc.com are currently blocked in China</a> (following our migration to HTTPS) so this could well be proxied/VPN鈥檇 traffic rather than traffic direct from users.</p> <p>It鈥檚 interesting to make a comparison with the two countries which make up our largest user-base by request count:</p> </div> <div class="component prose"> <table width="515" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>Country</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> <td> <p align="center"><strong>Percentage of TLS 1.0 usage</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Great Britain</p> </td> <td> <p>23,778,043</p> </td> <td> <p>1.43%</p> </td> </tr> <tr> <td> <p>USA</p> </td> <td> <p>2,373,620</p> </td> <td> <p>1.47%</p> </td> </tr> </tbody> </table> <p><a href="https://gist.github.com/neilstuartcraig/09ede7e1272e1322953b90743cedfac3/raw/a3b67fc6865263e09452afafdc87fc0fdc04ebf2/tls1-blog-gb-us.md"><strong>view raw</strong></a>聽聽<a href="https://gist.github.com/neilstuartcraig/09ede7e1272e1322953b90743cedfac3#file-tls1-blog-gb-us-md"><strong>tls1-blog-gb-us.md</strong></a>聽hosted with聽鉂y聽<a href="https://github.com/"><strong>GitHub</strong></a></p> </div> <div class="component prose"> <p>These data show what you鈥檇 probably guess, they鈥檙e similar and are just a little bit below the global values.</p> <h4>Clients</h4> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p06t93q3.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p06t93q3.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p06t93q3.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p06t93q3.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p06t93q3.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p06t93q3.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p06t93q3.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p06t93q3.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p06t93q3.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>The next most obvious question is perhaps 鈥渨hat is making all these TLS 1.0 requests?鈥. The global most popular 20 (from over 90,000) user agents are:</p> </div> <div class="component prose"> <table width="515" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>User Agent</strong></p> </td> <td> <p align="center"><strong>Browser/OS</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0</p> </td> <td> <p>Firefox 26 / Windows 7</p> </td> <td> <p>2,243,786</p> </td> </tr> <tr> <td> <p>CITRIXRECEIVER</p> </td> <td> <p>Citrix receiver</p> </td> <td> <p>1,762,744</p> </td> </tr> <tr> <td> <p>Nokia6280/2.0 (03.60) Profile/MIDP-2.0 Configuration/CLDC-1.1</p> </td> <td> <p>Nokia model 6280</p> </td> <td> <p>1,054,119</p> </td> </tr> <tr> <td> <p>HTTPClient/3.4.0 (Linux; Android 4.0.3; KFTT Build/IML74K)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>1,045,245</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; Genieo/1.0聽<a href="http://www.genieo.com/webfilter.html">http://www.genieo.com/webfilter.html</a>)</p> </td> <td> <p>Firefox / Genio search addon</p> </td> <td> <p>892,453</p> </td> </tr> <tr> <td> <p>SGOS/6.7.3.9 (S400-30; Proxy Edition)</p> </td> <td> <p>Symantec SGOS (proxy)</p> </td> <td> <p>479,035</p> </td> </tr> <tr> <td> <p>Dorado WAP-Browser/1.0.0</p> </td> <td> <p>Dorado</p> </td> <td> <p>468,775</p> </td> </tr> <tr> <td> <p>Mozilla/4.0 (ISA Server Connectivity Check)</p> </td> <td> <p>Microsoft ISA server (proxy)</p> </td> <td> <p>453,251</p> </td> </tr> <tr> <td> <p>Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1</p> </td> <td> <p>Firefox 16 / Windows 8</p> </td> <td> <p>439,674</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/6.1.6 Safari/537.78.2</p> </td> <td> <p>Safari 6 / OSX 10.7</p> </td> <td> <p>387,037</p> </td> </tr> <tr> <td> <p>HTTPClient/4.0.0 (Linux; Android 4.4.4; SM-T560 Build/KTU84P.T560XXU0APL1)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>369,724</p> </td> </tr> <tr> <td> <p>Mozilla/5.0</p> </td> <td> <p>Possibly Bluecoat (proxy)</p> </td> <td> <p>342,443</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10</p> </td> <td> <p>Safari 5 / OSX 10.6</p> </td> <td> <p>302,765</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)</p> </td> <td> <p>IE 9 / Windows 7</p> </td> <td> <p>291046</p> </td> </tr> <tr> <td> <p>Mozilla/4.0</p> </td> <td> <p>Possibly Bluecoat (proxy)</p> </td> <td> <p>247,455</p> </td> </tr> <tr> <td> <p>ProxySG Appliance</p> </td> <td> <p>Symantec SGOS (proxy)</p> </td> <td> <p>246,598</p> </td> </tr> <tr> <td> <p>Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB7.5; EasyBits GO v1.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; yie8)</p> </td> <td> <p>Yahoo IE 7 / Windows XP</p> </td> <td> <p>242,294</p> </td> </tr> <tr> <td> <p>HTTPClient/4.0.0 (Linux; Android 4.4.2; SM-T310 Build/KOT49H.T310XXSBQB4)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>218,775</p> </td> </tr> <tr> <td> <p>MediaCAT/4.5.1</p> </td> <td> <p>?</p> </td> <td> <p>216,015</p> </td> </tr> <tr> <td> <p>HTTPClient/3.4.0 (Linux; Android 4.3; GT-I9300 Build/JSS15J.I9300XXUGMK6)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>213,459</p> </td> </tr> </tbody> </table> <p><a href="https://gist.github.com/neilstuartcraig/ba9911650c8aed5ffacfbc34fc7d0590/raw/933482bc90e5e61884f2a88ba7a857d9470cb6f7/tls1-blog-uas-global.md"><strong>view raw</strong></a>聽聽<a href="https://gist.github.com/neilstuartcraig/ba9911650c8aed5ffacfbc34fc7d0590#file-tls1-blog-uas-global-md"><strong>tls1-blog-uas-global.md</strong></a>聽hosted with聽鉂y聽<a href="https://github.com/"><strong>GitHub</strong></a></p> </div> <div class="component prose"> <p>So we can see that there are some old desktop web browsers, some feature phones, some proxies and some HTTP libraries, mostly running on older Android versions (mainly Android 2 and 4). Further down the list there are lots more HTTP libraries and web browsers running on Android 2 and 4. We can compare this global view with the 20 most popular user agents from Bosnia and Herzegovina:</p> </div> <div class="component prose"> <table width="515" border="0" cellpadding="0"> <thead> <tr> <td> <p align="center"><strong>User Agent</strong></p> </td> <td> <p align="center"><strong>Browser/OS</strong></p> </td> <td> <p align="center"><strong>Number of requests</strong></p> </td> </tr> </thead> <tbody> <tr> <td> <p>Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1</p> </td> <td> <p>Firefox 16 / Windows 8</p> </td> <td> <p>18,137</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; Genieo/1.0聽<a href="http://www.genieo.com/webfilter.html">http://www.genieo.com/webfilter.html</a>)</p> </td> <td> <p>Firefox / Genio search addon</p> </td> <td> <p>1,344</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)</p> </td> <td> <p>IE 9 / Windows ?</p> </td> <td> <p>1,251</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15</p> </td> <td> <p>Chrome 24 / Windows 8</p> </td> <td> <p>1,240</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)</p> </td> <td> <p>IE 10 / Windows 7</p> </td> <td> <p>1,229</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7)</p> </td> <td> <p>IE 9 / Windows 7</p> </td> <td> <p>1,228</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17</p> </td> <td> <p>Chrome 24 / OSX 10.8</p> </td> <td> <p>1,213</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1</p> </td> <td> <p>Firefox 16 / Windows 8</p> </td> <td> <p>1,213</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20120716 Firefox/15.0a2</p> </td> <td> <p>Firefox 15 / Windows 7</p> </td> <td> <p>1,194</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14</p> </td> <td> <p>Chrome 24 / Windows 8</p> </td> <td> <p>1,174</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.1; Trident/5.0)</p> </td> <td> <p>IE 9 / Windows ?</p> </td> <td> <p>1,171</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1</p> </td> <td> <p>Firefox 16 / Windows 8</p> </td> <td> <p>1,168</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))</p> </td> <td> <p>IE 10 / Windows ?</p> </td> <td> <p>1,156</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)</p> </td> <td> <p>IE 10 / Windows 7</p> </td> <td> <p>1,143</p> </td> </tr> <tr> <td> <p>HTTPClient/3.4.0 (Linux; Android 4.1.2; LG-E440 Build/JZO54K)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>164</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Linux; U; Android 4.1.2; fr-fr; LG-E610 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30</p> </td> <td> <p>Webkit ? / Android 4</p> </td> <td> <p>132</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Linux; U; Android 4.2.2; hr-hr; TPC-71203G Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30</p> </td> <td> <p>Webkit ? / Android 4</p> </td> <td> <p>125</p> </td> </tr> <tr> <td> <p>HTTPClient/3.4.0 (Linux; Android 4.4.4; E2105 Build/24.0.A.5.14)</p> </td> <td> <p>HTTPClient / Android 4</p> </td> <td> <p>98</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/534.50.2 (KHTML, like Gecko) Version/5.0.6 Safari/533.22.3</p> </td> <td> <p>Safari 5 / OSX 10.5</p> </td> <td> <p>54</p> </td> </tr> <tr> <td> <p>Mozilla/5.0 (Linux; U; Android 4.3; en-; SGH-T999 Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30</p> </td> <td> <p>Webkit ? / Android 4</p> </td> <td> <p>46</p> </td> </tr> </tbody> </table> <p><a href="https://gist.github.com/neilstuartcraig/2df0c5c4869b39d660d0efca202305ca/raw/839255f1e1cf9f12e23755df28eb6a6495576533/tls1-blog-ba-uas.md"><strong>view raw</strong></a>聽聽<a href="https://gist.github.com/neilstuartcraig/2df0c5c4869b39d660d0efca202305ca#file-tls1-blog-ba-uas-md"><strong>tls1-blog-ba-uas.md</strong></a>聽hosted with聽鉂y聽<a href="https://github.com/"><strong>GitHub</strong></a></p> </div> <div class="component prose"> <p>Here we see fewer HTTP libraries, no feature phone or proxies but a greater proliferation of old desktop web browsers, notably lots of Chrome 24 (2013) and Firefox 15 (2012) & 16 (2012). There鈥檚 lots of old Android (especially v4, ~2013) in both result sets. Of course the user agent HTTP header is completely spoof-able so there may be some inaccuracies.</p> <p>The concentration of year of client release is interesting though, I wonder why 2012 and 2013 are so common? It doesn鈥檛 seem to be tied directly to a TLS version change since TLS 1.0 was 1999, TLS 1.1 was 2006 and TLS 1.2 was 2008 (though it was revised in 2011). Answers on a postcard (or in a comment) please!</p> <h4>Is there anything we can do to reduce the TLS 1.0 usage?</h4> <p>The short answer, sadly, is 鈥渘ot really鈥. The longer answer involves waiting for the natural reduction in older Android versions as the devices running those OS鈥檚 fail and are replaced, hopefully with something which supports better crypto! The complication to this is in geographies which are not so wasteful as most 鈥渨estern鈥 economies. In India, for example, older devices are much more frequently repaired than in the 鈥渨est鈥, often by local repair agents whose skill and ingenuity can keep devices running for much longer than they do elsewhere.</p> <h4>What about TLS 1.1?</h4> <p>As it is for the rest of the industry, our TLS 1.1 usage is much, much lower than TLS 1.0 and TLS 1.2. This is typically because most user agents/Clients which support TLS 1.1 also support TLS 1.2, so TLS 1.1 doesn鈥檛 get a big slice of the action. Our data shows no countries with over 10,000 requests in the 3 days of data which also have TLS 1.1 usage above 1%.</p> <h4>Recommendations</h4> <p>Whichever metric(s) you鈥檙e looking, ensure that you don鈥檛 just look at the global/overall aggregated numbers, which often mask large regional/subset variations. The constituent communities of your audience often differ significantly, so it鈥檚 really important to understand how that affects your data and therefore your decision making process.</p> <p>The same goes for percentages versus absolute numbers鈥娾斺奻or example, 0.2% of a large number of users is, in absolute numbers, still a lot of users. Don鈥檛 discount seemingly small fractions of a large user base without checking how many people that fraction represents!</p> <p>P.S. Thanks to my children, Polly and Stanley, for the illustrations. I couldn鈥檛 find any suitable pictures so they drew some for me.</p> </div> <![CDATA[Round up: September 2018]]> 2018-09-21T13:13:29+00:00 2018-09-21T13:13:29+00:00 /blogs/internet/entries/6641153b-d3ff-42e6-9b37-bea3cad96837 Jonathan Murphy <div class="component prose"> <p>It's been a busy few weeks both within Design + Engineering and across the 主播大秀 as a whole, so it's worth one of my occasional round-ups to bring everyone upto date....</p> <ul> <li>The DG Tony Hall has announced both internally and externally about <a href="/mediacentre/speeches/2018/tony-hall-rts">a major reshaping of our online services</a>.聽 There will be more on this on these pages over the coming weeks</li> <li>News has launched the <a href="/mediacentre/latestnews/2018/bbc-news-marathi">first ever bulletin for a mobile audience in India</a>, as part of the expansion of the World Service</li> <li>The 主播大秀 VR documentary聽<a href="http://www.bbc.co.uk/guides/zb3ggdm">Damming the Nile</a> has won a <a href="http://www.rosedor.com/news.html#article-31">Rose D'Or award</a>聽at a ceremony in Berlin.聽 Meanwhile聽<a href="http://www.bbc.co.uk/blogs/internet/entries/3098c1cd-36e7-4d35-bfbf-8687c8ba2872">鈥1943 Berlin Blitz鈥 </a>聽will be on show at the RAF鈥檚 Battle of Britain Air Show at Duxford this coming weekend</li> <li>A new 3D audio drama <a href="/taster/pilots/vostok">Vostok-K Incident</a> has been launched by R&D on Taster.聽 Listeners can use mobile phones or tablets as extra speakers in this lastest experiment in Spatial sound</li> <li>R&D has also <a href="/mediacentre/latestnews/2018/iplayer-lag">resolved the "lag" issues </a>聽that viewers experience during live internet sports streams</li> <li>And we've had <a href="http://www.bbc.co.uk/blogs/internet/entries/7e1744d4-a664-4a0c-bd4c-6eb02bb4af2e">two schemes launch</a> to encourage more women to get into technology roles at the 主播大秀</li> </ul> <p>So a busy time and there's plenty more to come over the next few months as more services and launches are in the pipeline.</p> </div> <![CDATA[Privacy by design]]> 2018-06-13T14:18:00+00:00 2018-06-13T14:18:00+00:00 /blogs/internet/entries/3e35ce9a-a8ac-49aa-9925-741c30738184 Adam Bailin <div class="component prose"> <p>This little button means a lot to us.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p067zctr.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p067zctr.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p067zctr.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p067zctr.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p067zctr.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p067zctr.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p067zctr.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p067zctr.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p067zctr.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>When it鈥檚 switched on it allows you to view personalised content recommendations based on your historic 主播大秀 activity data.</p> <p>I work for the 主播大秀 Analytics Services team in Cardiff and we鈥檝e been working on what happens when <a href="https://account.bbc.com/account/settings/privacy">you switch it off</a>.</p> <p>The 主播大秀 decided that when you switch off personalisation, it shouldn鈥檛 link any activity data to your account. In fact, we think that it shouldn鈥檛 ever be possible to tie activity data back to you. This page <a href="http://www.bbc.co.uk/usingthebbc/account/about-your-personalisation-settings/">about using the 主播大秀</a> expresses it well:</p> <p><em>鈥淒ata about how you use the 主播大秀 will be anonymous. For instance, we鈥檇 be able to see that someone looked at a particular story on 主播大秀 News, but we wouldn鈥檛 be able to tell if it was you.鈥 </em></p> <p>That鈥檚 actually quite a difficult software engineering problem to solve. The way most analytics tracking systems work is by using cookies or some other persistent identifier precisely to be able to tie together a user鈥檚 activity across multiple sessions. To get around that, we reset a user鈥檚 analytics identifier whenever they switch personalisation off.</p> <h4><strong>How it's normally done</strong></h4> <p>Normally, when you sign in or out of a service your analytics identifier will persist. This means that organisations can attribute data to you as an individual even when you鈥檙e signed out or have chosen not to receive a personalised experience.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p06b1ddq.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p06b1ddq.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p06b1ddq.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p06b1ddq.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p06b1ddq.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p06b1ddq.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p06b1ddq.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p06b1ddq.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p06b1ddq.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <h4><strong>How we've designed it</strong></h4> <p>We鈥檝e designed our analytics ID differently, with privacy in mind.聽We鈥檝e designed it so that when you sign in to your 主播大秀 account and disable personalisation, we can鈥檛 attribute activity back to you as an individual.</p> </div> <div class="component"> <img class="image" src="https://ichef.bbci.co.uk/images/ic/320xn/p06b1dg2.jpg" srcset="https://ichef.bbci.co.uk/images/ic/80xn/p06b1dg2.jpg 80w, https://ichef.bbci.co.uk/images/ic/160xn/p06b1dg2.jpg 160w, https://ichef.bbci.co.uk/images/ic/320xn/p06b1dg2.jpg 320w, https://ichef.bbci.co.uk/images/ic/480xn/p06b1dg2.jpg 480w, https://ichef.bbci.co.uk/images/ic/640xn/p06b1dg2.jpg 640w, https://ichef.bbci.co.uk/images/ic/768xn/p06b1dg2.jpg 768w, https://ichef.bbci.co.uk/images/ic/896xn/p06b1dg2.jpg 896w, https://ichef.bbci.co.uk/images/ic/1008xn/p06b1dg2.jpg 1008w" sizes="(min-width: 63em) 613px, (min-width: 48.125em) 66.666666666667vw, 100vw" alt=""></div> <div class="component prose"> <p>We鈥檝e designed privacy into our analytics.</p> </div> <div class="component prose"> <h4>Putting users in control of their data</h4> <p>The General Data Protection Regulation, or GDPR for short, is one of the biggest changes to data privacy law in recent years. It is designed to put you in control of how your information is collected and used by organisations.</p> <p>This change to our analytics services is a small example of how we are designing privacy as a feature to put users in control of their data. It is part of a wider opportunity to enable much greater control over how your data is collected, what you share and with whom. And in turn to drive a more relevant and nuanced personalisation of the 主播大秀鈥檚 services.</p> <p>We see privacy not just as an exercise in legal compliance but as an opportunity to deliver greater value for users.</p> </div>