Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
What we do, who we are
BBC :: News :: Visual Journalism :: Dev Team
> Team of 9 developers and 1 tester responsible for
> BUILDING and SUPPORTING Visual Journalism's WEB CONTENT
There are THREE WORKFLOWS:
* DAILY TASKS Very quick, normally predefined, tasks that a developer will do at
short notice. Typically involving creating small pieces of
web content to be used in a story published that day.
Most of this work stems from CPS not quite doing what we want it to.
With the desktop site we could hack the layout quite significantly.
This is less doable with the responsive site.
Daily tasks is becoming a smaller part of what we do.
* BESPOKE INTERACTIVE This is the main output of our team. A developer will work with a
CONTENT member of the UX and editorial team to create bespoke content. Any
content on the /news site that doesn't look like a standard piece of
content will more than likely be a bespoke interactive.
Our most popular bespoke content are MAPS, CHARTS and CALCULATORS.
This content should be considered EXPERIMENTAL. If a bespoke
interactive has been deemed successful, we'll look to reuse it in
future projects.
Patterns of content occur with bespoke interactives. The image gallery
was originally bespoke content made by the Visual Journalism team.
Quizzes, datapics, charts and clickable guides are all now standard
formats that have come from bespoke interactives.
* IDEPTH TOOLKIT The IDT is a web application that allows journalists to create and publish
(IDT) interactive content and data structures independantly. Its a maintained
application that we continually iterate over, adding new features
to existing formats like quizzes and charts.
The content is published seperately to the code that renders the content.
This means when we release new versions of formats, all pre-existing
content also gets updated.
Tooling is a very important area for us, its something we will be investing
more into. The standard web newsroom tool - CPS - is not very configurable,
the development team for it (located in W12) also supports most of the
website so although we're an important customer, we don't typically get new
features very often. The IDT is an attempt by our team to be able to build
and maintain the workflows we need to improve and automate how we create
visual journalism content.
Everything we create has to work across a wide spectrum of devices, operating systems and web browsers. We put a lot of effort into testing. We try to automate as much as possible. We have a full time tester position within the team. The team structure is...
PRODUCT MANAGER Andrew Leimdorfer :: Deciding on what we make, defining strategy, responsible for all Visual Journalism output (currently on a career break, will return end of July 2015)
- PROJECT MANAGER Sally Morales :: Planning and organising work
- TECH LEAD Tom Maslen :: Responsible for the technical quality of our work, defining technical strategy and for line managing tech team. Who are
- TESTER Priya Rajan (currently on career break - we're advertising for a temporary replacement)
- SENIOR DEVELOPER Steven Atherton :: IDT development
- SENIOR DEVELOPER Ransome Mpini :: Data analytics expert
- SENIOR DEVELOPER Richard Bangay :: Interactive content specialist
- DEVELOPER Patrick Asare :: IDT development
- DEVELOPER Aidan Fewster :: Bespokes
- DEVELOPER Marcelo Zanni :: Bespokes
- DEVELOPER Steven Connor :: Bespokes
- TRAINEE DEVELOPER Nzar Tofiq :: Bespokes
- GRADUATE DEVELOPER Aaron Johal :: Legacy content project
Organisational context:
1) VISUAL JOURNALISM is 1 of 6 teams within the DIGITAL (formerly FM) NEWS DEPARTMENT
2) Our GM (General Manager) is Robin Pembrooke, who is responsible for BBC.CO.UK/NEWS, the NEWS MOBILE APPS, WORLD SERVICE online content as well as bbc.co.uk/travel and bbc.co.uk/weather. Robin is not responsible for CPS or any of the underlying technology that we rely on.
3) Robin reports into Ralph Rivera, the DIGITAL DIRECTOR, who is responsible for all of the BBC's online content. That means the whole of BBC.CO.UK, all MOBILE APPS and TV APPS.
Technological context:
Visual Journalism create content for native mobile apps (iOS and Android) and the website. It's important to understand that only words and images created by Visual Journalism make it onto the native mobile apps. Rendering of our bespoke web content in the news apps is a feature that will be resolved sometime this year.
Our website sits across 3 different technology platforms:
1 COSMOS/AWS/The Cloud/The New Stack Amazon Web Services. This means we control, deploy and
maintain our own code as well as the infrastructure.
This gives us a hell of a lot more functionality but with
the increased responsibility of supporting it ourselves.
We've just kicked off our first AWS project, hoping to launch
in July.
2 FORGE/PAL/The Old Stack Is a strictly controlled platform allowing you to write
PHP applications. The IDT is platformed here. There are
certain limits of what you can't do. For example you
cannot create files. This platform is good for taking
feeds from other services and converting them into something
else (for example: content as XML from CPS to create the /news
website).
This platform is great for DYNAMIC PUBLISHING.
3 The Journalism Stack/The Old-old Stack This is the platform that started it all off in 1997. The
desktop website is platformed here. It's an apache server
with SSI rendering capabilities. It's old and with limited
features but its VERY reliable and VERY fast. We deploy
any daily tasks and bespoke interactive content here.
This platform is great for STATIC PUBLISHING.
Technology used by the team
We're primarily a front end specialist team, which means we are all web developers with various levels of experience across the entire range of the web developer skillset, but we were hired because of our ability to write good HTML/CSS/JavaScript.
HTML/CSS/JavaScript are the primary technologies we use to create web content. SVG (Scaled Vector Graphics) is becoming increasingly popular and we have good experience of this in the team (probably the most in the entire business to be honest).
Bespokes and daily tasks are mostly HTML/CSS/JavaScript. We create and maintain our own tooling for developing this content using a programming language similar to JavaScript called NodeJS. To help us modularise our NodeJS code and use open source tools we use a NodeJS framework called GruntJS.
Bespoke and daily tasks are FTP'd to the Journalism Stack. We have a legacy perl script to do this for us (which will one day be rewritten into NodeJS).
The IDT is a PHP application. While most of the devs in the team will have some knowledge of PHP, Tom Maslen, Patrick Asare and Steven Atherton have the most experience. These 3 people make up the primary IDT development team. Current thinking is that all AWS applications will be written in NodeJS. When the IDT is moved to the cloud we'll rewrite it using NodeJS.
Data types we work with:
* JSON
* CSV
* TOPO JSON
* ...
Technologies / libraries we work with:
* D3 (SVG library)
* PhantomJS (headless browser)
* ...
Software we work with
* Adobe Illustrator
* Adobe PhotoShop
* Sublime Text
* Github
* The CLI (command line interface)
* R – environment for statistical data analysis,
* Qgis – processing geo-spatial content,
* Tableau – story exploration
Workflows and aspirations
This is the interesting bit.
Right now we're good at creating bespoke and IDT content. We'd like to move the daily tasks away from hacking the layout of the News website - i.e. filling in the gaps between what CPS offers and what journalists want - and more towards creating simple bits of unique content and identifying ways of helping to improve the workflow of journalists and UX staff.
We'd like the IDT and other tooling that we could build to take the majority of daily requests away from the team to allow the team to concentrate on building bigger, better bespoke interactives that win awards. An example of this is the Illustrator tool we're currently playing with that will improve the output of graphics made within Illustrator. This will not only make our maps look much better but also offer an alternative to the constant demand on the bespokes developers for maps . We'd also like to create somekind of mapping tool or map format within the IDT.
By improving maps and also charts (by further incrementing the IDT charts format) we can remove demand on bespokes for quickly churning out maps to be more focused on interactive stories and more complex applications (calculators) and other more experimental types of content.
The IDT also allows us to publish data. A good part of the daily tasks workflow is to update existing datasets for content we've published (e.g. unemployment tracker made over 2 years ago). By publishing data separately to the bespoke code, we can give journalists the power to update content without relying on a developer.
We are also taking strides to involve our data journalists in the code creation process. They build working prototypes to put their requirements forward and the design and dev teams work to turn that prototype into a production ready interactive.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment