BBCi On Freesat
So you've got to get as much of the BBCi service completed as possible...
...it needs to be ready for an unknown date in Spring 2008...
...the hardware it needs to run on is just in the specification stage...
...and it's a highly important project that lots of people are watching.
Well, the job of helping to launch the BBC's interactive TV services on the new Freesat platform wasn't sold to me in quite those terms eight months ago (although I think the term "exciting challenge" was used somewhere...).
As Senior Producer, working within the FM&T TV Platforms team, I realised the scale of the task in hand, but with the stirring words of Managing Editor, John Denton, ringing in my ears (maybe it was John who said "exciting challenge"?), the team got on with facing the many challenges ahead.
One of the biggest was improving the user experience. BBCi has grown a lot since it first became available to OnDigital users nine years ago. The full service covers a range of text- and video-based services - from reading the news headlines for your area through to choosing your court at Wimbledon - and it now reaches 11 million viewers a week. With Freesat offering HD and more and more people buying big screen TVs, we needed to make sure the new service looked its best.
Not surprisingly, we weren't able to build everything for Freesat in the little time we had available. If you own a Freesat set-top box and press red on a BBC channel you will notice that things are a little cut down. The service consists of News, Sport, Entertainment, Business and Community News. The Weather service will be available mid-May.
An enormous amount of work has gone on behind the scenes just to get the basic service working.
Freesat actually uses the same satellites that are used to broadcast Sky's services; in fact, the video is the same in both cases. But when it comes to interactive services, the two use incompatible technologies. On Sky, we build in OpenTV, while Freesat uses MHEG - which means that we couldn't just re-use the existing code that we'd built for our Sky service.
So, we had to build something new. Thankfully, our technical team know a bit about MHEG. It's used to power interactive services on Freeview, and this did help us. While technical differences between Freeview and Freesat meant that we couldn't simply re-use our Freeview code, our technical team could re-use code in some areas.
As with any codebase which has grown up over nine years, there were many areas which could be improved on, and the chance was taken to make some improvements which, while slightly slowing development down in the short term, would give us a huge benefits in the long term - enabling us to roll out future releases quicker and simpler than we'd been able to in the past.
One of those improvements was the use of Redhat Package Manager (RPM) to deploy our code to the live servers. (For those who aren't Linux users, RPMs are used to install, remove or update programmes on many Linux distributions.)
For many years, we've used a variety of deployment methods from interactive scripts, through to simply giving the deployment team a great big list of commands to execute - for big projects it would often take a day or two to complete the installation. The new RPM method, which we've been increasingly using on a number of projects recently, simplifies things enormously.
Another improvement we have introduced is automated testing, and Freesat is the first BBCi platform to be completely tested in this way. Our test team has written something like 3,000 different tests which are run every time a member of the technical team checks code into the code repository. Very quickly, it's possible to see whether a code change has accidentally broken something else in the service.
The automated tests cover all number of things, from checking all the colours used on screen, making sure that pressing the yellow button always takes you back, and that menus all work correctly. They complement the manual testing by our test team, and help ensure preventable bugs are rarely seen. And not just for this project team - the suite of tests developed will be used for years to come.
One of our biggest problems on the project, though, was simply down to hardware. The project started in September 2007 at a point when there were no Freesat set-top boxes available. The code, written on normal PCs, is played out internally. We have development TV environments for all our platforms, allowing the team to view and test code on a normal set-top box and TV.
However with the lack of top boxes, we had nothing to test the code against. Instead we used a number of "reference receivers". These are basically specially-made Linux PCs in a slimline desktop case with TV cards, infrared receivers and remote controls. Installed on the hard drive was a copy of the software used to display MHEG that will be used in the normal set-top boxes.
While the reference receivers weren't perfect, when we did test the new code on proper set-top boxes, we were pleasantly surprised at how few problems were found with what had been written.
The project wasn't purely technical, however. At the same time, we also took the opportunity to give BBCi a "lick of paint", with a new, lighter colour scheme, and a number of little enhancements including a new "scrollbar" which indicate how many pages of text there are in a story or on a table.
While the launch may have happened, there's still a lot more to be done - adding the News Multiscreen, Travel, Children's services and more. First up on the blocks will be the BBC's interactive service for this year's Olympics: the starting gun has already been fired and the team is on the way.
And if you've already got Freesat, or if you're just about to get it installed, do press red and let me know what you think.
Andrew Bowden is Senior Producer, TV Platforms Team, BBC Future Media & Technology.