New WordPress Plugin: Google Analytics Popular Posts

Another day, another plugin. Get excited! We're announcing the release of our Google Analytics Popular Posts plugin.

The plugin (previously called Analytic Bridge) queries Google Analytics for pageview data for your site and uses an algorithm – based on publish date and total number of pageviews – to determine a weighted popularity score for a post.

Using this scoring mechanism, the plugin generates a list of the most popular posts for a given site.


The list of popular posts can be displayed on the front end of your site using the included "Google Analytics Popular Posts" widget.


We hope to make this the start of a suite of tools to improve the connection between your site and Google Analytics. Stay tuned!

The plugin is available now in the WordPress plugin directory and you can check out the code on Github and create a fork to contribute!

New WordPress Plugin: Term Debt Consolidator

We're pleased to announce the release of a new WordPress plugin: Term Debt Consolidator.

We've all been there. You have an older WordPress site with thousands of tags. Mixed up in there you have misspellings, singular and plural version of the same term, similar terms applied to only a single post and more.

Our new Term Debt Consolidator plugin examines your site's tags and categories and groups them by similarity, allowing you to consolidate groups of similar terms down to a single term of your choosing:


This is useful for sites that have tons of messy tags, some of which are technically unique due to differences in capitalization or minor typos in the term title.


Using Term Debt Consolidator, you can identify and fix these issues quickly.

You can also use the `tdc_enabled_taxonomies` filter to enable the TDC to work with your site's custom taxonomies (it supports the built-in WordPress categories and tags taxonomies by default).

If you feel so inclined, you can contribute to the plugin by forking the code on Github.

INN Receives Knight Prototype Grant

INN is pleased to be the recipient of a Knight Prototype Fund grant for a new project we’re calling One Liner.

The Knight Prototype Fund is a grant program helping media organizations, technologists and newcomers or hobbyists develop new ideas from concept phase to, hopefully, a live demonstration.

Grants of $35k are awarded and grantees are given six months to research, test and build a prototype. The culmination of the grant period is a demo day in which all grant winners for a given cohort show off their work.

The problem:

Working in media technology, we (the INN Nerds) get frequent requests of INN members and clients to add third party scripts to their websites. The number and type of third party scripts is virtually endless, but there are a handful of usual suspects when it comes to this: Google Analytics, Omniture, Chartbeat, Comscore,, Facebook Insights.

We’ve found a few key issues with our members' and clients’ understanding of these things:

  1. They often don’t consider the performance implications of adding third party services to their sites. How much “weight” does any one script add to the page? How much longer will users be waiting for the site to load? How does this impact low-bandwidth and mobile audience?
  2. They also have a hard time understanding the privacy implications of adding scripts to their site. Does the third party retain any information about their users? Does it sell said information to other parties? The aspect of trust and advocacy for the audience is important, especially for journalists (if it’s not important to you as a journalist, I’d encourage you to reconsider).
  3. Sometimes they can’t even articulate why they need a particular third party service or whether it’s a good fit for their organization. In many cases, they’ve just heard of a new tool and believe they need it because other organizations use it. Consider Chartbeat, for example: if you’re only publishing one story per quarter, you very likely do not need this service on your site.
  4. Finally, they often need assistance  adding the scripts to their sites. The steps are different in subtle ways from script to script and documentation is almost always difficult to find and, once found, often inscrutable.

What is the solution?

We aim to de-mystify this process and help organizations to make better choices by building a web service called One Liner (named after the “just one line of code” selling point often cited by many third-party services).

Our prototype will have a few components:

  • A research tool listing some of the most common third-party services one might add to their site along with some simple information about each, including possible performance and privacy implications. The tool will also help organizations make informed decisions and select tools that are best suited for the size of their organization and the problems they are trying to solve.
  • A configuration dashboard where users can select from the list of supported services and walk through the setup process without leaving the dashboard. No searching for documents. No struggling to understand. Let One Liner guide the way.
  • A web service not unlike the services we’re looking to remedy. Once the user has selected and configured the third-party services they would like to use, we’ll deliver a single line of code they can add to their site. This single line of code will be responsible for loading the specified services and their configurations from the One Liner application.

The single-line-of-code service to end (remedy) all single-line-of-code services.

So, who are we trying to reach?

This is for the editor, reporter (or other web writer) who doesn’t have a lot of experience with web development, cringes at the sight of javascript and generally does not want to be responsible for the addition of these types of features and services but often finds the responsibility falls to them. These folks might also be their organization’s technologist by default or be serving several roles for the company as in the case of very small INN members (think: when you have one or two people of staff, you have to do a little bit of everything).

What’s Next?

Between now and the demo day in July we aim to develop a prototype of this service and test it with a few sites. We hope that the prototype helps not only make it easier for sites to setup and add third-party services to their sites, but also helps them to make informed decisions that improve their site performance while respecting visitors’ privacy.

If you’re interested in being a part of our pilot or have any suggestions for us, we’d love to chat! Drop us a line.

Prototyping With The Gaming Community At SNDMakes Chicago

SNDMakes is a series of prototyping events, organized by the Society for News Design. Each event's challenge approaches a different issue facing modern media companies.

The most recent event took place in Chicago this past weekend.

This was my second SNDMakes event. Our two hosts — Pitchfork and Cards Against Humanity — were ever-so gracious and accommodating. Cards Against Humanity's Some Office was beautiful and an especially comfy environment for a weekend of creative heavy-lifting.

Also, the event organizers and volunteers are incredible. Thanks for all the thinky-fun.

The Weekend's Challenge:

“How might we grow community around games, the artists who make them, the fans that love them?”


I was on Team Sauganash (WTF is Sauganash?):


We started with the premise that game developers often want to know about gamers’ feelings and want to hear their thoughts on how a game engaged them on an emotional level. Unfortunately, the responses are often trite — “It was too hard” or “Too boring” or “Your game literally sucks.”

Fine, but these aren’t data points that a game developer can act on to make things better.

Our problem statement:

How might we help game developers solicit qualitative feedback in a way that enables them to make better game design decisions in the future?

Our prototype: Rant to Reason

Rant to Reason is a card game of sorts. We’ve taken to calling it an activity rather than a game. Rant to Reason gives game developers a means to talk with their users about a feeling that may be hard for them to articulate without a structured conversation.

We based aspects of the activity on concepts of cognitive behavioral therapy whereby doctors help their patients to identify emotions, thoughts and behaviors (typically for anxiety and depression) that might be contributing to their condition.

Our teammate Chris Ballard and his game Floppy Candidate were our case study. 

"We found that users wanted to give feedback on Twitter or whatever, but couldn't figure out the right words to use.”

Chris Ballard

We wanted to focus on what we saw as a few key aspects of gaming: difficulty, visual design and rewards systems/achievement.

Each of these aspects would then have a deck of cards with two to three levels of statements that a gamer would choose to help pinpoint their feelings on the game.

We started with physical cards

The activity goes something like this:

  1. Give your gamer a chance to play the game until they declare themselves satisfied, bored, angry or otherwise ready to stop.
  2. Tell them you want to ask them about the game’s difficulty and present them with two cards as their options: “Too hard.” or “Too easy.”
  3. Based on the card they choose, continue to the second tier of cards. If they said too hard, the options become: “I keep failing”, “I’m confused” or “I got stuck.”
  4. Suppose the gamer chooses "I keep failing." The third tier of cards hones in on a specific reason for the difficulty: “I couldn’t figure it out” or “My hands don’t work like that.”

The hope is that once the gamer completes the activity, they will be primed to better describe what they were actually feeling while playing.

What happens if the cards don’t cover everything?

If, by the end of the activity, the gamer has ruled out all the statements in your card deck, that’s okay. In that case, the cards can still provide direction for a subsequent conversation. After a discussion, you may have new statements to add to your card deck for future use.

We built a digital prototype of the physical cards

See our modest prototype of Rant to Reason.

A digital version of the activity has tons of advantages:

  • Recording and reviewing responses is way easier
  • Customizing or adding decks could be very easy and would allow easier sharing of statements and decks across the game developer community at large
  • Building out an API to access your decks and cards would make it possible to choose when and where gamers are prompted for feedback. Some ideas:
    • in-game/in-app after a level or achievement is reached
    • After a gamer reaches out to a developer via social media
    • Via an email campaign after the gamer finishes gameplay
And that's okay.

Drawbacks and challenges:

  • The digital version of the activity needs to feel conversational to avoid feeling like “just a survey”
  • The digital version makes it impossible to read a person's body language and tone of voice
  • Getting gamers to participate and opt-in can be difficult

Other stuff:

If you've made it this far, thanks for reading! If you want to find out more about our project, we put the code on GithubWe also have slides!

Feel free to tell us what you think. If you're interested, read more from SNDMakes.

Nerd Alert 56: Found this in the junk drawer


What we're reading this week

  Adam: Writing consistent frontend code is hard. And it’s even harder with a team. Brad Frost has a helpful list of questions to ask yourself (and your team) to ensure you’re all on the same page.

  Ben: If-less programming is an interesting idea.

  David: Session videos from the awesome CSSDay conference I attended in December are now on YouTube! I recommend Jonathan Snook’s keynote and Lynn Fisher’s pure CSS illustration session.

  Jack: During any election season, we would be wise to treat campaign ads with a degree of skepticism. But how can journalists fact-check the 4.4 billion dollars worth of political TV ads projected for 2016? The Internet Archive wants to make it easy to see who’s lying.

  Kaeti: Today is my last day at INN, so I thought I’d revisit two of my favorite things that we made this year. The first is our manifesto, a living document of our values and how we work. The second is how we redesigned INN in 60 days. It’s been a joy to work with this team, and I’m sure you’ll see me here again soon as a guest contributor. <3

  Ryan: An old article, but an important article: the absolute minimum every developer should know about Unicode and character sets. (h/t @eads)

  Bert: "If a packet hits a pocket on a socket on a port..."


Work we admire by our journalism peers

Hack Harassment is on a mission to reduce online harassment. Learn how you can participate.


Our projects, manifest

This week, we released Largo v0.5.4 with a slew of improvements to navigation and social sharing tools. See the release notes for a full list of changes.


Good jobs with good people

Don't forget, we're hiring a lead designer and a summer apprentice. Drop us a line!


Gather ye rosebuds

LISTEN: The Velvet Voice sings The Glow of Love.

EAT: This weekend, pull out the slow cooker for braised beef short ribs.

DRINK: Recipes you may actually have all the ingredients to make.

Take the next two days off. You've earned it.

Nerd Alert 55: Are you pondering what I’m pondering?


What we're reading this week

  Adam: The website obesity crisis is real and news sites are some of the worst offenders.

  Ben: New Year’s Resolution: write better commit messages.

  David: Internet Explorer versions 8, 9 and 10 are no longer supported by Microsoft as of Tuesday (CELEBRATE!). Flexbox compatibility in the United States is over 93 percent using browser prefixes, and this end of support will only add to the momentum needed to adopt flexbox.

  Jack: As online and mobile consumption of news continues to grow, the printed newspaper continues to decline. What about the fate of the increasingly lonely newspaper box?

  Kaeti: This interview with Marco Rogers contains some great advice for engineering managers (and all other managers, for that matter).

  Ryan: Bloomberg Business breaks down digital “traffic brokers” and details which are most likely to deliver fraudulent, non-human “visitors.”

  Inndy: Hockey robot? Not impressed.


Work we admire by our journalism peers

This week, ProPublica launched the first news site on the dark web.


Apply now!

INN seeks a lead designer and a summer apprentice. You'll have a blast working with us!


Gather ye rosebuds

LISTEN: Enjoy some David Bowie: Starman.

WATCH: A crazy demonstration of a 4-year-old's driving skills and a Volvo truck's durability.

DRINK: The finest Ransom Sweet Vermouth.

Just one more cup before I transcend.

November’s Book Club Selection: Zingerman’s Guide to Giving Great Service by Ari Weinzweig

510WZvVTkZL._SX302_BO1,204,203,200_Join us for our next News Nerd Book Club hangout on Wednesday, November 18th at 1pm ET.

This month we'll be reading Zingerman's Guide to Giving Great Service by Ari Weinzweig.

From Amazon's description of the book:

Booming business and loyal customers are proof enough that the Zingerman's team knows a thing or two about customer service. Now in Zingerman's Guide to Giving Great Service, co-founder Ari Weinzweig shares the unique Zingerman method of treating customers, giving the reader step-by-step instructions on what to teach staff, how to train them, how to implement the training, how to measure their success, and finally, how to reward performance.

Here's the event invitation and hangout link if you'd like to RSVP.

Hope to see you on November 18th. Happy reading!

INN’s WordPress Framework For News Sites Now Fully Supports HTTPS

We're pleased to announce the release of version 0.5.2 of our popular Largo WordPress framework for news sites.

With this update, Largo is now fully-compatible with https out of the box. Also included are some enhancements to managing featured media for your stories, some new footer layout options and a number of minor enhancements and bugfixes.

Full HTTPS Support

For many news sites, user privacy and security are significant concerns. With this release we wanted to ensure that sites using Largo would be able to use https out of the box. We're proud to say that this is now the case. Starting from a base installation of Largo you should not have any issues enabling https for your entire site.

WordPress has a guide explaining how to do that, but the details will vary depending on the hosting company you use.

A couple of caveats:

  • If you are migrating to Largo from a different WordPress theme or even updating Largo from a previous version and enable https, you may find that you have http links hard-coded into the body of your stories or elsewhere in your site settings. To get rid of potential mixed content warnings you would need to perform a search and replace to change these URLs to https. We use and recommend this tool, but please be sure to backup your site before doing anything potentially destructive.
  • If you have done any custom work in a child theme using Largo as your parent theme, you may also need to review the code in your child theme to make sure it also fully supports https.
  • If you install third-party plugins or insert/embed content from other sites or services (ad networks, embedded media, etc.) you will need to ensure that those plugins/sites/services support delivery via https or you may also run into mixed content warnings, missing ads or other issues. This is sometimes a major tripping point for sites switching to https, so just be aware that a significant amount or work and testing may be required depending on the number and type of third-party services you're using on your site.

If you are an INN member using our hosted version of Largo and would like to enable https for your site, let us know and we'll explain how the process works, the cost involved, etc. and help you get switched over.

Enhancements to the "Featured Media" editor

In Largo 0.5 we introduced the ability to use a video, slideshow or other embedded media in the place of a featured image for each story. With Largo 0.5.2, we have added a number of enhancements to this functionality to make it work better in a number of additional contexts, including:

  • The ability to set a thumbnail for embed and video featured media types to be used on the homepage, category pages, widgets or anywhere else a thumbnail/featured image might appear
  • The video featured media editor will attempt to automatically pull a thumbnail from any available oEmbed provider (YouTube, Vimeo, etc.) but still give authors the ability to upload their own thumbnail images if they would prefer
  • For theme developers, we have also added "featured-media" and "featured-media-{type}" classes to story containers for use in customizing the appearance of different types of featured media via CSS (adding overlays, icons, etc. to call out posts containing video, slideshows or other rich media)

New footer layout options

In working on a few recent client projects (Nonprofit Quarterly, Midwest Energy News and the redesign of our own site) we've developed a couple of new layout options for the footer of Largo sites, specifically:

  • A 4-column asymmetrical layout, with three narrow columns and one wide column, well suited for three menu areas and a donation, subscription or newsletter signup banner or widget.
  • A minimal 1-column centered layout, well-suited for sites who want a simpler, more minimal footer limited to simple navigation instead of having more widget areas to populate and manage.
  • For theme developers, an easier way to register and use a custom footer layout.

And of course a number of other bugfixes and enhancements.

We encourage you to download the new version and update your sites at your earliest convenience. If you host your site with us, we're making this update for you today. If you host your site elsewhere, you can download the new version from GitHub.

If you have questions or need assistance please check out the release notes and documentation first and if you're still stuck, open a ticket through the Largo help desk.

What's next?

Over the next couple of months we'll be working fast and furious on polishing a number of existing features gearing up for our next full point release, version 0.6 (currently slated for late October). Look for a new release almost every week in between now and then and if you're interested in following along or contributing to the project, you can check out the upcoming milestones on GitHub.

Largo 0.5.1 released!

On July 16, we tagged Largo v0.5.1 with another slew of bug fixes and updates.

Amongst the bug fixes and enhancements:

Google Custom Search results are now displayed on the standard WordPress search results page and are compatible with the standard WordPress search results conventions including the /search/search%20term and /?s=search%20term url structures.

We've also added a menu to the WordPress Admin Bar with several useful Largo-related links.

Further, we fixed a nasty bug/oversight which resulted in the optional "donate" button not displaying on smaller screens. The donate link we're referring to shows up in the site's sticky navigation.

On the documentation front, we merged a ton of developer documentation that came about as a result of our participation in the OpenNews Code Convening in Portland The developer docs now include:

  • Revised technical notes
  • Instructions for setting up a development environment (based on the development rig we use at INN)
  • Details for working with Largo to create Child Themes
  • A first pass at Largo API documentation

A special note on a breaking change -- if you redefined largo_load_more_posts in your child theme, you will need to update it with code from this release, as the old logic will fail to load the correct posts.

That said, the "Load more posts" button can now be used multiple times per page and no longer relies on the global $wp_query. Further, you can customize the text of the button by using the largo_next_posts_link filter.

Read the complete release notes and download the version here.

June’s Book Club selection is Responsive Design Workflow

Join us for the May News Nerd Book Club hangout on Wednesday, June 10, 2015 at 1 p.m. ET.

We'll be reading Responsive Design Workflow by Stephen Hay.

From the book's description:

"Forget fixed-width Photoshop comps, bloated client requirements, and overproduced wireframes. Yesterday's web design deliverables fail to take into account the demands of responsive solutions. Design workflow hasn't really changed, but best practices have. This book shows you how to adapt to the new paradigm and create sites for today's web."

The meeting this month will be held via Google Hangout and the invite and link to RSVP are right here.

Hope to see you in a few weeks. Happy reading!