« Previous | Main | Next »

Create your own BBC QRCode

Post categories:

Duncan Robertson Duncan Robertson | 12:00 UK time, Thursday, 15 September 2011

A few years ago, when I was working as an engineer on the BBC Programmes website, we started creating a QRCode for every BBC programme. Here's an example for Dr Who. A QRCode if you are unfamiliar, is a type of matrix barcode (or two-dimensional code) designed to be read by smartphones.

Back then, these codes were relatively new to the public at large, and people had only really scratched the surface of the things you can do with them. It seems though that things have changed. You are now seeing them on the side of buses and on tube train adverts, as well as on posters and in magazines. This is great, and allowed me to unearth some extra work I did back then.

I had done some experimenting with embedding the BBC logo into QRCodes. This work never quite saw the light of day. But I'm happy to say that now it has! Albeit in a slightly different form.

I have created a little prototype web application that will convert any BBC url into a BBC QRCode. You can see an example below. If you have a suitable QRCode scanner, this will decode to https://www.bbc.co.uk/rd.

A QRCode representing the BBC R&D homepage

The url for the application is: https://qrcode.prototyping.bbc.co.uk

The generated QRCodes can then be downloaded and used on posters, websites etc. Anywhere in fact you need to graphically represent a url. Easy!

A few facts about the application. It is a simple Sinatra web application, running under Nginx and Passenger. It uses ImageMagick and rQRCode to create the QRCodes, and uses the Bit.ly API to create the shortened bbc.in url that is embedded in the codes. The application uses rack-cache and the individual QRCode pages live at unique urls in which the code is embedded in the actual webpage using the data uri scheme. This not only makes the page easier to cache, but also means that we can mitigate people hot-linking to the images.

Finally, you can get the source from our R&D Github repository.



More from this blog...

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

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