BBC News - All the news, all the time, everywhere and for everyone, thanks to Symfony
"The strength of Symfony is its architecture," says John Cleveley, Technical Manager at BBC News. Find out why and how the BBC News technical team chose to migrate to the Symfony framework for their website.
The Project
Originally set up in 1997, the BBC news site witnessed mounting problems as time went by and technology advanced. Their site reached its limits as visitor volume increased and device diversity (PC, cell phones, tablets, TV, etc.) demanded more and more. In order to satisfy these new demands, BBC News chose the Symfony2 framework and many of its components for a total revision of their site. Based on a “Responsive” imperative, BBC News developed a site capable of adapting automatically to each device’s need, simultaneously optimizing the development process, updates and regular maintenance.
Primary benefits:
A responsive approach: building an adaptable website to optimize user experience whatever the terminal used (PCs, cells, tablets, TV...)
A simplified and flexible architecture: with the combination of several independent and decoupled Symfony2 components
A unique code foundation: functions are integrated only once, without duplicating them by a platform
Developers' skill improvement: by learning the best practices of programming
The Stakes
Launched at the end of the 1990s, the British BBC News website gradually emerged as a major news source in the world media, attracting nearly 30 million individual visitors per week. Faced with such success, the website started feeling old and out-of-date. Static, old-fashioned graphics and long, fastidious publication processes became intolerable in an internet environment that requires instantaneous, rapid, reactive sites that satisfy the user immediately.
Their need to revitalize the site was accelerated by the explosion of new terminals accessing the web. “Not so long ago, things were simple,” remembers John Cleveley, technical manager at BBC News. “We had the computers on one side and cells on the other. Two different applications were sufficient.” But things have rapidly evolved. PCs, cells, tablets, TV...within a few years, the increase and diversification of these terminals not only greatly complicated the development process, but created new problems and new challenges as well.
BBC News could no longer ignore the needs and the expectations of its readers, who, in addition to being widely dispersed geographically, are also equipped differently, both in terms of devices as well as connection speed. “We needed a solution that would optimize development time while ensuring each user the same level of service, regardless of the terminal used. The most imperative thing for us was to render our content available immediately,” explained John Cleveley.
The force of Symfony is its architecture. With these well-built, independent components, we were able to choose the most interesting bricks for our needs without suffering the rigidity of a traditional, "monolithic" framework.
John Cleveley, Technical Manager, BBC News
The Solution
The BBC News site suffered from a code that was too old to be properly maintained and on which no one wanted to or could work anymore. Revising the site didn’t mean dumping everything that existed. On the contrary, it was essential to maintain access to archived articles from the last 15 years. This is exactly why BBC News turned to the Symfony2 framework.
Combined with Varnish, to optimize the management of caches, and Pimple to simplify dependency injection, Symfony enabled the BBC News site to increase tenfold its performance while considerably simplifying development. And throughout the process, the "responsive" effort adopted by BBC News was respected…
This user-centric approach aims to automatically adapt content to each terminal without implicating additional development. BBC News is now able to detect which terminal is accessing their site and automatically format the content /screen ratio and add additional content if necessary. “The "responsive design" was ideal for us,” explains John Cleveley, “since it creates the best possible result for every terminal.”
The Benefits
Designing a site that automatically adapts to any type of terminal doesn’t complicate maintenance. On the contrary, the new "responsive" architecture of the BBC News site allows developers more flexibility and efficiency since the entire system uses a single code base. “This obviously greatly simplifies the back end,” says John Cleveley, “The features are integrated only once, without necessary duplication by platform type.” And, as the site is hosted on a single URL space, there is no sub-domain to manage.
This redesign impacted the organization of development teams. Prior to the revision, teams were divided and segmented depending on different platforms. Now, they all work together and continue improving their skills and competences using the best programming practices. “Our developers understood and adopted Symfony relatively fast, thanks to very complete documentation and a fantastic community. Regardless of our problems, we always found an answer with the Symfony community”, recalls John Cleveley.
Next challenge for BBC News: improve advertising, especially for international users, a challenge for which the British media will no doubt call again on Symfony2 and its components.