This article was originally published on Medium.
That importance shows no signs of decreasing today.
I’d like to discuss three aspects of code in journalism:
- Data journalism, charts, maps, information graphics.
- Story design, apart from data journalism.
Before diving in, I want to emphasize that the uses of code in journalism are continually changing – as made clear in this 2016 talk by Archie Tse of the New York Times, summarized in this tweet:
— Brian Boyer (@brianboyer) March 11, 2016
No one will ever make Snow Fall again, so that’s not what we’re teaching, and it’s not what journalists need to learn.
Many hours can be devoted to learning the myriad skills that come under this label. For years, the now quaint phrase “computer-assisted reporting” meant analyzing data with spreadsheets and other software tools such as geographical information systems and relational databases. Those same skills belong under this larger umbrella term, which embraces not only the ways journalists collect, compile and interrogate large data sets, but also the ways they present data and the results of data analysis to audiences.
The journalist need not learn any programming languages to start doing this work. For a beginner, even learning Excel formulas might not be necessary for the first useful projects to be completed. Those who don’t have Excel can use Google Sheets for free. Starting with a spreadsheet is a typical first step, and mastering some basics such as mean, median and percent change is essential.
Programming languages certainly can enhance a journalist’s ability to sort and make sense of data, especially when the data sets are really large. Python, R, SQL, and sometimes Node.js are popular languages for managing and analyzing data. For examples of how journalists are using code (as well as spreadsheets and other software) for data work, see the annual list of links to presentation materials at the NICAR conference, compiled by Chrys Wu.
— CIR (@CIRonline) March 13, 2015
Presentation of data (and the results of data analysis) to audiences is rarely accomplished with the same tools used for analysis. This is an important distinction for journalists to understand. To successfully communicate the information obtained, the presentation must be clear, accurate, and not overwhelming. Sometimes the journalists who do most of the analysis are not the ones who create the audience-facing graphics, charts, maps, etc.—and the journalists creating the graphics will use different code and tools.
To learn more about data visualization and information graphics, see Alberto Cairo’s blog and his books.
This concerns both stories that include data journalism and those that don’t.
By necessity, it concerns stories on mobile, including the smallest smartphones, as well as tablets and large-screen desktop monitors—because people consume journalism wherever and whenever they choose. It also concerns bandwidth, which should make sense to you if you think about the last time you clicked on a link in social media and the story took too long to display on your screen. What did you do? Did you wait for that slow story to finally appear?
I’ve heard too many people say a journalist doesn’t need to know any web code because all online sites use a CMS (content management system) with templates that have a fixed design. In other words, you just dump your text in, and the CMS does the rest.
That works if all you produce is text. For in-depth stories, investigative stories, longform stories, however–guess what? They don’t work in templates. In fact, they die in templates.
And unlike the 2013 versions of scrolly, slidey, snowfalled longform stories, today’s enhanced digital journalism absolutely must work well and load quickly on phones. This includes the charts and graphs of data journalism, the videos, and the interactive bits that users can play with.
Example: View this story on both a phone and a larger screen, and compare the two. You’ll see how the page design adapts to the size and orientation of the device.
Code also helps journalism stories load faster. This article is very geeky, but it illustrates a key reality in user behavior in 2017: Building a better digital experience results in more engagement—five times more, according to Joey Marburger, director of product at the Washington Post, in October 2016. Engagement is defined in multiple ways, but it generally includes measures such as time spent on the story, scroll depth, sharing or bookmarking, and other interactions.
Design is not making it look good. “Design is how it works.
It deserves a place because it is the programming language of the web (HTML and CSS are markup languages, not scripting or programming languages). It is the code that makes a story work on screens, that makes a story fast or slow, that makes a map or a chart interactive. It is the code that runs a slide viewer or a quiz or a poll or a timeline.
In a journalism program at the university level, students are likely to learn about video, audio, still photography, ethics, and media law, in addition to how to interview people, how to search public records, how to write. Many will not master every skill to which they are exposed, and that’s okay, because journalism today is a team effort. What they do understand can make them a better team member, even if they’re not the expert.
If you believe a journalist should understand storytelling, then acknowledge that storytelling is not only done with writing. Video is storytelling. Code is also storytelling.
No matter how you do it, you’ll be opening a whole new world of possibility to some of the students. You’ll also be serving a growing need in the journalism field.
Final tip: Have a look at Source for the latest news, examples, and ideas around code and journalism. You might be surprised! The “Things You Made” list (published once or twice a month) serves up fresh examples.