Future Media Standards & Guidelines

Download Standards v1.1

1. Optimising Download Time to Enhance User Experience

1.1. From page weight to download size

1.1.1. The perceived quality of the user experience of browsing bbc.co.uk can be directly affected by the download time of its pages (how long it takes for a page to finish loading on a user's browser).

1.1.2. Up until now we have used page weight – meaning the total weight (in KB) of an HTML page and its inline objects – as a useful metric to indicate the download time of pages on bbc.co.uk.

1.1.3. On consideration, we have identified a new metric – which we have termed the download size – which takes account of the influence of the number of objects on the page, as we know that this has an additional impact on the time taken to load the page. Further details of how this download size is calculated are included later in this standard.

1.2. How to measure download size

1.2.1. You can measure the download size of individual pages or whole sites by using the new bbc.co.uk Download Tool [Internal BBC document an internal BBC document – please gain access through your Technical Account Manager].

1.3. Optimising the download size of your pages

1.3.1. You MUST optimise the download size of your pages – pages MUST be as small as possible, whilst still supporting the editorial proposition of the page.

1.3.2. If you can make changes to the implementation of a page which decrease its download size without adversely affecting the content, function and presentation of the page, the resulting page is considered to be better optimised and therefore of better quality.

1.3.3. Please see How To Minimise a Page's Download Size below for more details on optimising your pages.

2. Download Size Limits

2.1. All pages on bbc.co.uk MUST have a download size of either 300KB (if built using Barlesque and the Visual Language guidelines) or 200KB (if built using anything else, for example the Barley template).

2.1.1. All pages built using the Barlesque template MUST be optimised for caching. Refer to How to Optimise Pages For Caching below for details.

2.1.2. Barley template pages MUST have a download size of 200KB or lower UNLESS there is an agreed editorial reason that the page is an exceptional case (this must be agreed prior to the page's upload to bbc.co.uk via the Editor, Standards & Guidelines).

2.1.3. On those occasions that a Barley-based page whose download size is greater than 200KB is allowed, any links to that page MUST advise the user of this fact by placing the following warning next to the link: "(Large page: <download size>)".

2.1.4. Note that the 300KB limit for Barlesque pages is to be reviewed following research carried out by the Page Download Working Group.

2.2. Pre-recognised exceptional cases

2.2.1. The following types of page are already agreed as exceptional cases, and do not require approval prior to uploading (but are still subject to the "(Large page: <download size>)" link warning requirement):

  • Alternative print versions of pages

2.3. Notes on user-generated pages, broadband, A/V streams and multimedia

2.3.1. Those responsible for creating systems that create dynamic or user-generated pages should also ensure that these systems only create pages which comply with these download size limits.

2.3.2. Note: This standard does not recognise the idea of the difference between a "narrowband page" and a "broadband page". Rather it recognises the idea of "broadband media content", such as A/V streams or multimedia content, on a bbc.co.uk page. The download size of a page does not currently include any streaming media or multimedia plug-in content (for example, Flash) that is embedded on the page.

Top of page

3. How To Minimise a Page's Download Size

3.1. All of a page's objects (HTML, CSS, images, media, apps) MUST be optimised.

3.2. Optimise your HTML

3.2.1. You MUST optimise (minimise the size of) your HTML, whilst ensuring the readability of all code which is manually maintained, and ensuring conformance to HTML (Integrity) Standards and the XHTML Integrity Standards.

3.2.2. If you use spacer images in your HTML, rather than /furniture/tiny.gif or any other local spacer images, you MUST use the standard spacer image:

  • /f/t.gif (on www.bbc.co.uk); or
  • http://newsimg.bbc.co.uk/shared/img/o.gif (on news.bbc.co.uk).

3.2.3. You SHOULD also minimise the number of spacer images in your HTML.

3.3. Optimise your CSS

3.3.1. You SHOULD optimise the size of any CSS files.

3.4. Optimise the number and file size of image files

3.4.1. You SHOULD minimise the number of image files on your pages, whilst ensuring the maintainability of those images.

3.4.2. For example, you SHOULD consider combining graphical image files in a menu into one image file and an image-map.

3.4.3. Similarly, you SHOULD NOT slice up images (even if ImageReady or Fireworks recommends you to) UNLESS you save more than x (see How the Download Size is calculated below) per image by doing so (size of sliced up images + html code to put them back together compared with the size of the original image). If your slice-up program puts in its own tiny gif, you MUST use the relevant standard spacer image (see Use of spacer images above).

3.4.4. You MUST ensure that each image is encoded as efficiently as possible whilst still upholding BBC editorial quality.

Top of page

4. How to Optimise Pages For Caching

4.1. You SHOULD design your pages for caching by ensuring that you don't update attached files without changing the file name.

4.1.1. For example, if you update a graphics file attached to your page, make sure that you change its name so that it is refreshed when the page is loaded. Otherwise the page will load the cached (old) file.

4.2. You MUST NOT use a query string to break caching. However, you can use a query string on data that you never want to cache.

4.2.1. If you want to keep a file name the same and use caching, it is possible to append a query string to its name in the page that calls it, and then update that string. However, we advise against doing this as under HTTP 1.1 you cannot cache any object with a query string on it.

4.3. You SHOULD apply discrete caching headers to all applicable files; for example, .js, .css, .jpg, .png, and so on.

Top of page

5. How The Download Size Is Calculated

The download size of a page is a measure which aims to provide a best means of estimating the length of time that a page will take to download.

Whilst page weight – the size (in KB) of all of the objects which need to be downloaded for a page to be correctly displayed by a browser – is used by most of the industry, the BBC have identified a number of other factors which also impact a page's download time.

The current calculation of download size includes the transport weight of the page – meaning the overhead necessary to deliver the HTML and attached objects. It is not yet perfect in providing estimates of download time, and will continue to be refined over time.

The Download Size is currently calculated by the following formula:

D = P + xB

where:

D
Download Size
P
Page Weight (size (in KB) of HTML and all inline objects)
B
number of unique objects (e.g. HTML + .js + .css + images + flash etc.)
x
weighting of how much each object contributes to the Download Time

The current version (v0.4) of the Download Tool uses an initial value of x=2KB. The accuracy of this value will be reviewed periodically.

Top of page

6. Notes On The Application Of This Standard

6.1. You MUST NOT launch new sites that include pages that do not comply with the limits in this standard.

6.1.1. If your site does include pages that exceed the limits in this standard you MUST apply for an exemption from the Editor, Standards & Guidelines.

6.1.2. Any sites that do not comply and do not have an approved exemption may be taken down.

6.2. You SHOULD use the bbc.co.uk Download Tool to check the size of any pages you create, prior to their uploading. Site owners should also regularly use the Download Tool to check the download size of the pages of any sites they are responsible for. Information on the average download size of your pages may be used as a measure of the quality of sites at Quarterly Performance Reviews.

Top of page

7. Document History

DateVersionChangeAuthor
03/06/2008 v1.1 Added additional download weight of 300KB for Barlesque-based sites, and details about optimising pages for caching. Victoria Jolliffe
22/03/2004v1.00-external v2Rebranded BBCi => bbc.co.uk Jonathan Hassell
01/10/2003v1.00-externalRemoved retrospective section (not appropriate to externals); links to research docs; triggers sectionJonathan Hassell
12/09/2003v1.00Standard renumbered as 1.00 on approval by Standards ExecJonathan Hassell
02/09/2003v0.35Final version of standard, after changes required by Design Forum on 26/08/2003 and Tech Forum on 29/08/2003Jonathan Hassell
29/08/2003v0.34Final updates before Tech Forum 29/08/2003 (after stats comments by MattB, NickH, PaulH, JamesC) – changes in: (1.1) "on consideration..." paragraph; (1.3) removal of "be google"; (1.4) more clarity on Flash; (2.2) removal of hints and tips to external doc; (3) re-expression of formula; (triggers) 6 months is now 3 months; (1.4) now includes 200KB timings for poor ISP as wellJonathan Hassell
28/08/2003v0.33Updates after comments from Matt Blakemore: reinforced quality = optimised (not small); moved calculation stuff to later in doc and stated it isn't perfect yet; info on size of header; triggers on compressibility of text and table rendering; exceptions for printable pages and a/v streamsJonathan Hassell
22/08/2003v0.32Updates after download group meeting on 20/08/2003Jonathan Hassell
13/08/2003v0.31Added question re objects (in formula) => unique objects?Jonathan Hassell
23/07/2003v0.3Updated after Tech Forum meeting of 23/07/2003 and JH's questions after looking at PH's 3000 pages spreadsheet of 22/07/2003Jonathan Hassell
18/07/2003v0.2Updated after Download Group meeting of 17/07/2003 (still requires more research/justification of limits before being proposed as a standard)Jonathan Hassell
15/07/2003v0.1First draft of this standard – summary of agreements from Download Group meetingsJonathan Hassell, Nick Holmes

Document editor: Editor, Standards & Guidelines. If you have any comments, questions or requests relating to this document, please contact the Editor, Standards & Guidelines.

Like all other Future Media Standards & Guidelines, this page is updated on a regular basis, through the process described on About Standards & Guidelines.

Top of page

BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.