Category Archives: databases

Dashboards and journalism: why we need to do better

airplane dashboard

Confused? Knobs and dials image by anataman

Last month I watched the founder of OpenOil, Johnny West, talk via video link about a dashboard he had designed to help people more effectively report on government announcements related to Chad’s hugely important oil industry.

The dashboard struck me in all sorts of ways: firstly in automating certain processes it lowered the barrier to more effective reporting; secondly it reduced the time needed to do so; and thirdly it turned a numerical topic into something more visual, and in the process made stories easier to spot.

More from Johnny later.

First, however, it’s worth taking stock of just how big a part dashboards play in our lives, and how little a role journalists play in their creation:

  • Publishers create content management systems to allow reporters and other staff to navigate between stories, media, metrics and other tools and information
  • Social media services create dashboards as a way of navigating our networks
  • Analytics companies create dashboards to help users monitor the performance of their content
detroit dashboard

This dashboard uses Chartbeat to give a real time view of how reporters are performing

Metrics dashboards are a big part of all three, including HuffPo’s analytics and Bleacher Report’s gamification of writer performance. But what about finding stories?

Story sourcing dashboards: social and RSS

Tweetdeck and Netvibes are good examples of dashboards that save us time as journalists: specifically search time.

RSS readers like Netvibes mean that we do not need to check multiple websites or perform multiple searches to see if new information has been published or shared: instead we only need to check the Netvibes dashboard.

netvibes-dashboard

This Netvibes account has multiple tabs for different dashboards

In fact, we can set up more than one dashboard depending on when or where we might be using them: one for when we are covering health, for example; or another one for a specific event.

Social media management dashboards like Tweetdeck and Hootsuite perform a similar function, but more narrowly focused on social media and with the ability to publish through the dashboard too, and in some cases access analytics.

So we can add saving response time to the time saved performing searches across multiple social networks and monitoring multiple lists or hashtags.

And then there are trending dashboards like Spike that aim to help newsrooms spot breaking stories.

Sometimes organisations develop event-specific dashboards. Here, for example, you can read The Times team on the process behind designing their own election dashboard:

times red box dashboard

The Times’ audience-facing dashboard for the 2015 election was also useful for journalists

If you’re not using dashboards like these then you are probably wasting time unnecessarily. But these all rely on existing infrastructures, whether those are RSS feeds or social network APIs.

We can do better than that.

Dashboards that help more people hold power to account

This is where Johnny West comes in. Johnny was one of the speakers at the Centre for Investigative Journalism’s recent Illicit Finance course. Here’s that dashboard he designed to make it easier to interrogate new figures from Chad’s government and oil industry:

dashboard openoil

A dashboard created by Johnny West of Open Oil for Chad. Image: Joel Benjamin.

Chad’s public finances, he explained, are over 70% dependent on oil revenues and under “severe pressure” from falls in prices. The dashboard made it easier to frame questions:

“…Of whether a budget holds up with likely revenues etc [or compare] Chad’s annual EITI reports – which state revenues actually received – with what you would expect the government to receive.”

He argues that creating a visual interface to the information the journalist needs (in this case oil prices and contract agreements) is essential:

“You cannot achieve any real understanding of the many interlocking parts of the contract and revenue flows without a model of their relationships with each other. I would not trust any financial comment or analysis of oil economics done blind to a model.

“It is a bit of a challenge to get journalists to accept this – since many of them are not familiar with or comfortable with financial models.”

One result of financial illiteracy, he argues, is an inclination towards simple but meaningless comparisons: one royalty rate being higher than another; or how much an income tax rate was raised by.

“Nine out of ten such stories are simply not accurate enough to provide any service to the reader. What if the royalty rate is lower because the income tax rate was raised? Or this one has a higher royalty because it is the second discovery in an area (with less exploration risk to the company therefore putting government in a stronger negotiating position)? And so on…”

The dashboard supports the journalist in reporting something richer despite the pressure to deliver something on deadline. And it’s not just for journalists:

“We know there are many governments which do not have models like this one for contracts they themselves negotiated and signed. It may be a question of institutional knowledge: perhaps one individual once had one, or a consultancy or visiting IMF delegation. But these get hoarded and not passed on. The need for public domain versions of these kinds of applications is critical in helping states build their capacity, not just the media.”

At a broader level there are also dashboards designed by journalists to help make their colleagues’ work easier. The Investigative Dashboard was designed a few years ago to help journalists and civil society investigate organised crime and corruption. It has subsequently had an injection of cash and a relaunch:

And there are dashboards from hackdays which show how we can make better use of the data we already have:

archive_dashboard

Broken Promises dashboard by Journalism++

Those are isolated examples, but they shouldn’t be. I once created a dashboard for journalists at a Scottish newspaper to pick stories out of some data I had scraped.

It meant that journalists with very little spreadsheet skills could call up data on any one of hundreds of measures by using a drop-down menu and be shown where to focus their follow up calls instantly.

Some great original stories and big splashes came out of that, yet all it took was a little initial effort, after which dozens of stories were easy to report.

Online spreadsheet tools like Google Sheets allow us to pull in live information, using built-in functions that fetch stock prices, or scrape web tables or feeds (which themselves might be generated by scrapers).

Once we have that live information it can be connected to historical information, and display those relationships visually.

Imagine a dashboard that pulls in the latest crime reports and tells us whether they’re going up or down – and where.

Imagine the BBC’s A&E tracker redesigned for journalists as well as readers.

Imagine sports performance shown dynamically, so you can pick up on the most improved performers and not just the top performers.

Much of this is already happening – but it’s not being done by journalists or news organisations.

FixMyStreet has long pioneered the ability to report – and see – local problems. And Birmingham’s Civic Dashboard showed all sorts of information on things like which parts of the council were getting the most contacts and when.

birmingham dashboard

The Birmingham Civic Dashboard

Expect to see more of these dashboards as the growth of ‘smart cities’ drives the connection of transport systems, policing, education, business and health.

But they’re not being done by news organisations. And that’s the point.

We need to change that.

Where data is already published we need to be setting up dashboards that bring it to the journalists. Where data is not, we need to be pushing for access to it.

It may be that news organisations can no longer “afford to be a paper of record and dutifully report everything that happened on our patch”. But we can do a better job of bringing as much as possible that happens to journalists’ desktops – and not just the stuff that is shared on social media.

Data journalism isn’t just a technical skill – it’s a cultural one too

kids playing game

Data journalists will always need help. Image by Widhi Rachmanto

When people talk about data journalism the emphasis is almost always on the technicalities of the role: visualisation tools and spreadsheet formulae; scraping and cleaning; coding and mashing.

But data journalism isn’t just a technical skill – it is a cultural skill too.

Let me explain what I mean. If you were to list the technologies involved in data journalism you might start with Excel or a similar spreadsheet tool. Then add Open Refine for cleaning. Some scraping tools. Mapping tools. Some tools for charts, and infographics. Some understanding of HTML and CSS will help. Also XPath, SQL, regular expressions. JavaScript, Python or Ruby or PHP. R probably too… I could go on.

If those technologies sound like too much for one person to master all at once, you’d be right. They are.

So how do data journalists get the job done? They collaborate.

They use sites like CodePen, Stack Exchange and GitHub, where others can build on your work – and you can build on the work of others. They contribute to mailing lists; they share resources; and they work with a range of other individuals and groups.

It is an open approach to reporting that borrows more from the culture of programming than journalism’s own culture of guarding information jealously.

And understanding that culture is, for me, one of the first steps to becoming a successful data journalist.

No longer the gatekeepers

For example, notice my choice of words in the sentence two lines earlier: “contribute to”; “share”; “work with”. Sometimes journalists can make demands of communities of web developers that betray an exaggerated sense of their own importance, and an ignorance of the environments that developers often work in.

Those journalists are often given short shrift as a result of their clumsiness and lack of empathy.

If journalists were the gatekeepers of the 20th century, programmers are the gatekeepers of the 21st.

We no longer need journalists to get information to an audience; but we do need programmers to connect different parts of the networks we operate in.

Recognising this is so important that I’ve codified the requirement for understanding in my data journalism teaching at Birmingham City University and City University London.

Students at BCU on the MA in Online Journalism, for example, are required to engage with – and contribute to – wider communities of practice.

That means sharing what they learn, curating useful discussions in the community, interviewing key individuals and researching problems and questions that are important to that community.

The intention is twofold: firstly to embed good habits as a member of that community. And secondly to position them so that they are able to continue to learn not just while they are on the course, but after they graduate, as technologies and practices continue to develop.

A different culture of learning

A final difference is also important to highlight: journalists and programmers have different learning cultures.

One of the questions I am asked most often by aspiring data journalists is “What should I learn first?” My response is: “What you need to for the story you’re doing right now. And if that’s too much, then pick a simpler story then work up from there.”

If you think you learn to be a data journalist by doing Codecademy or reading a book on Python, you are likely to end up frustrated. It can be helpful – but it’s neither effective nor efficient.

The learning culture of the programmer is much more piecemeal, strategic, and reliant on others.

So I would never advise a journalist to learn a particular programming language for the sake of it. Instead learn some basic concepts in programming, such as variables, data types, loops and if/else tests, and then search the web for code that solves the problem you’re trying to solve, whether that’s “making a chart in JavaScript” or “scraping a spreadsheet in Python” or “Excel function to extract a year from a date”.

Often the next step will be a case of copying and pasting someone else’s code, and changing it slightly to see what works.

That might feel like plagiarism to a journalist, but to a programmer it is simply standing on the shoulders of giants.

Equally, if you’re trying things out in programming they often don’t work first time.

Again, that can feel like failure if you come from a humanities background. But look at it more like science: experimentation, trial and error are part of the process. In fact, programming is essentially a process of working with failure: diagnosing it, looking for solutions, and trying them with a vague expectation that it might not work.

I realised that I had learned this culture when some code of mine worked first time – and I was not only surprised – I was also vaguely disappointed. “Oh. It works. What do I do now?”

Straddling two cultures

Journalists often straddle two cultures: the sports reporter has to connect with fans, players and management; the health reporter with both doctor and patient.

In data journalism we have to draw on the same skill: only it’s not just our audience we’re connecting with, it’s the people who make those connections work.

This was first published on the BBC News Labs Radar blog.

Peru data journalism project Convoca launches interactive tool on mining infractions

Screenshot of Convoca map

Peruvian news organisation Convoca has launched an interactive tool to enable citizens to access environmental information related to the behaviour of Peruvian mining companies.

The tool maps more than one thousand resolutions of sanctions made by a Peruvian supervisory body of the environment to penalise infractions committed by 132 enterprises. Continue reading

How to: clean a converted PDF using Open Refine

Our initial table

This spreadsheet sent in response to an FOI request appeared to have been converted from PDF format

In a guest post post for OJB, Ion Mates explains how he used OpenRefine to clean up a spreadsheet which had been converted from PDF format. An earlier version of this post was published on his blog.

Journalists rarely get their hands on nice, tidy data: public bodies don’t have an interest in providing information in a structured form. So it is increasingly part of a journalist’s job to get that information into the right state before extracting patterns and stories.

A few months ago I sent a Freedom of Information request asking for the locations of all litter bins in Birmingham. But instead of sending a spreadsheet downloaded directly from their database, the spreadsheet they sent appeared to have been converted from a multiple-page PDF.

This meant all sorts of problems, from rows containing page numbers and repeated header rows, to information split across multiple rows and even pages.

In this post I’ll be taking you through I used the free data cleaning tool OpenRefine (formerly Google Refine) to tackle all these problems and create a clean version of the data. Continue reading

The 10 most-read posts (and one page) on the Online Journalism Blog in 2014

ojb post frequency 2014

The last 2 months of 2014 saw a return to regular blogging after some quiet periods earlier in the year

2014 was the 10th anniversary of the Online Journalism Blog, so I thought I’d better begin keeping track of what each year’s most-read posts were.

In 2014 the overriding themes for this blog were programming for journalists, web security, and social media optimisation. Here are the most-read posts of the year, plus one surprisingly popular new page with some background and updates. Continue reading

FAQ: Do you need new ethics for computational journalism?

This latest post in the FAQ series answers questions posed by a student in Belgium regarding ethics and data journalism.

Q: Do ethical issues in the practice of computational journalism differ from those of “traditional” journalism?

No, I don’t think they do particularly – any more than ethics in journalism differ from ethics in life in general. However, as in journalism versus life, there are areas which attract more attention because they are the places we find the most conflict between different ethical demands.

For example, the tension between public interest and an individual’s right to privacy is a general ethical issue in journalism but which has particular salience in data journalism, when you’re dealing with data which names individuals.

I wrote about this in a book chapter which I’ve published in parts on the blog. Continue reading

That massive open online course on data journalism now has a start date

In case you haven’t seen the tweets and blog posts, that MOOC on data journalism I’m involved in has a start date: May 19.

The launch was delayed a little due to the amount of people who signed up – which I think was a sensible decision.

You can watch the introduction video above, or ‘meet the instructors’ below. Looking forward to this…