Features:
New Work in News Code, Feb. 13th 2014
Our roundup of notable interactive features, news apps, data work, and newsroom code commentary
After a few months off, our biweekly roundup returns with summaries of notable interactive features, news apps, data work, and newsroom code commentary. This week, we have features from Reuters, NPR, the New York Times, and the Guardian, plus blog posts from the Chicago Tribune and the NYT and a digest of the last two weeks here on Source.
Note: The last two weeks have seen a big batch of great features related to the Sochi Olympics features—look for those in their own post later this week.
Super Bowl Stats at the Guardian
The Guardian’s interactive team produced Why Super Bowl XLVIII is the best match-up in NFL history, a multi-element interactive contextualizing the first Super Bowl to pit the NFL’s top-rated offense against its top-rated defense.
Credit: Gabriel Dance and Kenan Davis.
Reuters on 44 Years of Fed Maneuvers
Reuters published The Fed’s Balancing Act, a tilt-axis interactive examination of inflation and unemployment under US Federal Reserve chairpersons from 1970 to the present. This roundup’s GIF goes to the animated graph of Arthur F. Burns’ record as Fed chief:
Credit: Maryanne Murray and Charlie Szymanski.
Tracking the Mars Rover
The New York Times published a Mars Rover Tracker, which includes NYT-produced panoramas (and GIFs!) stitched from NASA imagery. The app includes an intriguing note about data sources:
Rover position and drive distances are based on unofficial data from NASA’s Navigation and Ancillary Information Facility, via Joe Knapp.
Daily summaries based on information from NASA, NASA’s Planetary Data System Geosciences Node and Ken Herkenhoff, USGS Astrogeology Science Center.
Credit: Jonathan Corum and Jeremy White.
The NYT Oscar Fashion Archive
Yet another Times team published a 17-year archive of Oscar red carpet fashion coverage with extensive user-filtering capabilities that produce slightly eerie results pages of nearly identical gowns through the decades.
Credit: Erik Hinton, Joanna Nikas, and Ben Koski.
Complicating “Wolves vs. Ranchers”
The NPR Visuals team made Wolves at the Door, a responsive photo feature with ambient audio snippets that delves into the relationship between wolf and human populations in the western US.
Credit: Jeremy Bowers, Tyler Fisher, Becky Lettenberger, Wes Lindamood, and Claire O’Neil.
Minimum Wage Calculator
Also from the NYT, we saw Can You Live on the Minimum Wage?—a visual calculator/interactive connected to a recent editorial on raising wages.
Credit: Jeremy Ashkenas (welcome back, Jeremy).
Suburban Crime and Automated Testing at the Chicago Tribune
At the Trib, Andy Boyle wrote a detailed blog post about data cleaning and handling and visual layout for the recent addition of suburban data to Crime in Chicagoland, the Tribune’s crime stats and mapping app. Boyle on the data cleanup process:
So we had an Excel spreadsheet from the reporters with 12 tabs, one for each year of data, 2000 through 2011. The first thing I did was save each as its own CSV file, because segregating unrelated data is a good data-hygiene practice. I committed them into the repo, because I knew I wanted to use them as fixtures, i.e. data we know won’t be changing so it can be loaded the same way every time by anyone who runs the project locally. This data would then be loaded using a Django management command. We always keep copies of raw data files, and transform the data during import. That way, my mistakes will be in my importation code and lessen my chances of introducing errors into the original data.
The first problem I encountered was that city names weren’t normalized. One city might have “ PD (MCA)” after it, or just list “POLICE” instead, depending upon which law enforcement agency was providing the data and how they chose to identify themselves. Then we had some municipalities whose names were spelled differently, such as “Oaklawn” vs. “Oak Lawn,” or “McCullum Lake” vs. “McCullom Lake,” or “St Charles” vs. “St. Charles.”
The next problem I encountered was that the crime classification for a certain drug-related crime — methamphetamine — was only present in the CSVs after 2009, so I had to write my code to import meth better. I’m not going to lie, I just wanted to write “import meth better” in a blog post and have it be legal.
Also on the Trib blog, Jen Linder wrote up the things she learned while setting up automated testing. Linder on the refinement of her headless testing code:
At first the tests I wrote went through each of the multi-step processes users do to accomplish specific goals, and contained assertions for each step. Later I broke most of them down into single tests for single goals, with one assertion for each. I wrote a few wrapper functions to be able to write clear assertions, assertSomethingContainsText, for example. I learned to use Selenium methods to wait until specific elements were clickable or present, rather than just have the webdriver wait a certain amount of time and hope they were – no better than guessing. Eventually I used one class to handle the setup and teardown and subclasses of it to run different kinds of tests, which is clearer and also helps reduce the load on our network.
NYT Blog Overhaul
Also from the NYT, Scott Taylor has written a detailed and heavily illustrated blog post about the re-platforming of the Times blogs as part of the current redesign/restructuring work.
The Blogs at the Times have always run on WordPress. The New York Times, as an ecosystem, does not run on one platform or one technology. It runs on several. There are over 150 developers at the Times split across numerous teams: Web Products, Search, Blogs, iOS, Android, Mobile Web, Crosswords, Ads, BI, CMS, Video, APIs, Interactive News, and the list goes on. While PHP is frequently used, Elastic Search and Node make an appearance, and the Newspaper CMS, “Scoop,” is written in Java. Interactive likes Ruby/Rails.
The “redesign,” which launched last week, was really a re-platform: where Times development needs to head, and a rethinking of our development processes and tools.… What is launching today is the re-platform of Blogs from a WordPress-only service to Blogs via WordPress as an app inside of our new platform.
From there, Taylor dives into the details of the overhaul:
The new platform has 2 main technologies at its center: the homegrown Madison Framework (PHP as MVC), and Grunt, the popular task runner than runs on Node. Our NYT codebase is a collection of several Git repos that get built into apps via Grunt and deployed by RPMs/Puppet. For any app that wants to live inside of the new shell (inherit the masthead, “ribbon,” navigation automatically), they must register their existence. After they do, they can “inherit” from other projects. I’ll explain. […] Foundation is the base application. Foundation contains the Madison PHP framework, the Magnum CSS/Responsive framework, and our base JavaScript framework. Our CSS is no longer a billion disparate files – it is LESS manifests, with plenty of custom mixins, that compile into a few CSS files. At the heart of our JS approach is RequireJS, Hammer, SockJS and Backbone (authored by Times alum Jeremy Ashkenas).
Madison is an MVC framework that utilizes the newest and shiniest OO features of PHP and is built around 2 main software design patterns: the Service Locator pattern (via Pimple), and Dependency Injection. The main “front” of any request to the new stack goes through Foundation, as it contains the main controller files for the framework. Apps register their main route via Apache rewrite rules, Madison knows which app to launch by convention based on the code that was deployed via the Grunt build.
…and the post gets even more interesting from there.
The Verification Handbook
A team of journalists from around the world worked with the European Journalism Centre to publish The Verification Handbook, a resource for journalists and aid providers focused on tools and techniques for evaluating user-generated content (UGC) during emergencies. From the first chapter:
The combination of the human and the technological with a sense of direction and diligence is ultimately what helps speed and perfect verification. Admittedly, however, this is a new combination, and the landscape of tools and technologies can change quickly.
This book synthesizes the best advice and experience by drawing upon the expertise of leading practitioners from some of the world’s top news organizations, NGOs, volunteer and technical communities, and even the United Nations. It offers essential guidance, tools and processes to help organizations and professionals serve the public with reliable, timely information when it matters most.
Josh Stearns has a post up on MediaShift with more info about the handbook.
Source Digest
Highlights from the Source and Source Learning articles we’ve published recently:
- The evolution of Vox Media’s news tech processes from VP of Technology Pablo Mercado.
- Double feature: How to Make a News App in Six Days (as Told by Six People Who Tried It for the First Time) and Lessons from the ProPublica/OpenNews Pop-Up News Apps Team from Al Shaw and the incoming OpenNews Fellows.
- Chris Keller on his experience building KPCC’s Fire Tracker app.
- All about forking Mozilla’s Popcorn video-mixing tool for a journalist audience, from Joe Flowers, Adam J. Martin, and Brian Williamson.
- Jessica Lord wrote up Sheetdown, a Node.js module that converts a Google Spreadsheet into a Markdown table from the command line.
Send Your Tips
Did we miss something great? Want to flag a piece for our attention? Find us at @source on Twitter or email source@opennews.org.
People
- Jeremy Ashkenas
- Jeremy Bowers
- Andy Boyle
- Jonathan Corum
- Gabriel Dance
- Kenan Davis
- Tyler Fisher
- Erik Hinton
- Ben Koski
- Becky Lettenberger
- Wes Lindamood
- Jen Linder
- Maryanne Murray
- Joanna Nikas
- Claire O’Neill
- Charlie Szymanski
- Scott Taylor
- Jeremy White