Introducing the Super Cool Ad Inserter Plugin For WordPress

After several months of development, we're pleased to announce the initial release of a plugin that will help publishers automatically insert widgets in the middle of posts: the Super Cool Ad Inserter Plugin (SCAIP, for short).

SCAIP creates widget areas that are inserted programmatically into every post after every Nth paragraph.

A screenshot of the configuration page of the Super Cool Ad Inserter Plugin
Here's the main SCAIP settings page. Read more about these settings in the plugin's documentation.

You can then fill the widget areas that SCAIP creates with ads, newsletter signup forms, donation messages, other calls to action, related posts widgets, or really anything else that fits in a WordPress widget (including the default text/html widget).

To see the plugin in use, check out Religion News Service, which uses another one of our plugins, DoubleClick for WordPress, to insert ads within posts after every few paragraphs. The Cornell Daily Sun uses WordPress text widgets to display ads within posts using another ad network.

Another example is this screenshot, which shows the plugin in use in the WordPress.org Twenty Thirteen theme, inserting image widgets. Anything contained in a WordPress widget can easily be inserted by SCAIP.

Ads are normally inserted automatically, but the plugin also supports shortcodes to allow manual placement of the widget areas within posts, and per-post overrides to disable automatic ad placement.

To learn more about what the plugin is capable of, check out the docs or download the plugin and try it out! We're eager for your suggestions, bug reports and pull requests on GitHub or in the open tech channel on the INN Slack.

Developers will be happy to learn that the plugin is easy to integrate with themes. Our Largo WordPress theme required no changes to support SCAIP, and we believe that is the case with other themes.

New WordPress Plugin: Pym Shortcode

We're pleased to announce the release of yet another new WordPress plugin: Pym Shortcode.

If you often find yourself embedding iframes in your WordPress posts, you've probably encountered the hassle involved in making an iframe responsive to the width of its containing element.

To address this problem, NPR Visuals Team released Pym.js, a JavaScript library that goes on the embedding page and the embedded page. The parent page tells the child page what the width of the iframe is, and the child page tells the parent how tall the iframe should be. The iframe, resized, now fits its content and the page. The embed code required is pretty simple:

<div id="example"></div>
<script type="text/javascript" src="pym.js"></script>
<script>
 var pymParent = new pym.Parent('example', 'child.html', {});
</script>

But WordPress' default configuration strips <script> tags from posts, meaning that you can't normally use Pym in WordPress sites.

Enter the pym shortcode. This simple plugin is designed to allow users to place Pym embeds without having to use <script> tags.

Here's an example of how the shortcode would be used:

pym src="http://blog.apps.npr.org/pym.js/examples/table/child.html"

In the goal of making it as useful as possible, we've given the shortcode a couple of other attributes, pymsrc and pymoptions, which are explained in the plugin's docs on GitHub.

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

May this help all your interactives to be responsive!

resizing
Tiago Franco's classic "resizing the browser" gif.

Learning From Those Who Really Know

If I have to summarize my apprenticeship in one phrase, I would say that I spent three very productive months learning from a team of programmers who were not only incredibly talented, but also very giving.

I learned a ton really fast and that would not have been possible without a supportive team determined to help. INN's senior director of product and technology, Adam Schweigert, has written a post on apprenticeships. The INN tech team stays true to Adam’s vision. I have paired up with colleagues numerous times and have never had to worry about getting help.

In terms of projects, I spent most of my apprenticeship working on One-liner, a prototype funded by the Knight Foundation. One-liner is a web-based application that will deliver a single line of code responsible for loading specified third-party analytics services. Here’s a detailed description of what One-liner aims to do.

I researched third-party analytics services like Google Analytics, Facebook Pixels (Custom audience tool), Chartbeat etc. and studied their privacy implications, performance and prices. The idea is to provide information and suggest which services are best fits with the organization. We reached out to organizations to verify our research and also designed a survey to gather more information to be able to make suggestions.

We then created user flows, storyboards and mockups to prepare for the next step of building an app. We decided to build the app using Django as the web application framework and JavaScript for the front-end.

I benefitted from being part of the entire project from start to finish. I learned about what the entire process is for executing a web application like this is. Plus, I learned Django and worked with a great team!

But my learning was not just limited to picking up technical skills. I learned to be disciplined with my work schedule to enable working with a remote team. I learned how to communicate using Slack, Screenhero and other tools to make up for not having as much face time. I learned to manage time differences as most of my team was based out of different parts of the United States.

In addition to all this, I really enjoyed conducting the monthly book club and enjoyed an invigorating conversation about what the Internet is doing to our cognitive capabilities.

All in all, it was three great months, a ton of learning and fun!

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.

ga-2

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

ga-3

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:

tdc-2

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.

tdc-1

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.

Welcome Our Summer Apprentice: Gabriel Hongsdusit!

Gabriel HongsdusitWe're excited to welcome Gabriel Hongsdusit to the INN Nerds team as our summer apprentice!

Before joining INN as a summer apprentice, Gabe worked as a graphic designer for Center for the Art of Performance at UCLA. His design sensibilities come from a background in print and he's excited about learning to translate those skills to online platforms.

Gabe recently graduated from UCLA with a bachelor's in Linguistics and Mandarin Chinese. During his time there, he was involved with OutWrite Newsmagazine, America's first collegiate LGBT/Queer periodical, and led as Editor-in-Chief from 2014-2015. Through OutWrite, he fell in love with journalism, editorial illustration, and community engagement.

He starts with us in mid-June and will be working on an upcoming revamp of our style guide, contributing to Largo and helping our members and clients with various upcoming projects.

Welcome to the team, Gabe!

Improvements to Largo Support Process

We love helping people get the most out of their Largo sites. As we have more sites using Largo we occasionally have to make changes to how we provide this support.

The help desk system we’ve been using has proven to be a bit confusing and not as flexible as we would like so we’ve decided to make a switch.

Starting this week, and officially launching May 1st we’ll be launching a new support portal at http://support.largoproject.org.

The new portal includes the ability to create new support requests and adds a knowledgebase of answers to common questions and a community forum to ask questions, propose new features and share success stories with other Largo users.

This change does mean you will need to create a new account. But you can also still open a new support request by emailing support@largoproject.org.

We’re also in the process of revising and expanding the Largo Project documentation, and developing new training resources to answer common questions about setting up and running a Largo website.

The preferred process if you need assistance with your site is as follows:

  1. Visit support.largoproject.org and search the knowledgebase and/or public forums to see if your question has already been answered (many questions come up time and again and we’ll try to have answers ready to go for you for as many of these issues as possible).
  2. Site administrators or developers may want to also consult the Largo documentation and editors and authors might want to reference our Largo users guide.
  3. If you’re still unable to find an answer to your question and require further assistance. Just open a new ticket and we’ll do our best to help.
  4. In some cases if you request is going to require more one-on-one assistance or custom work we may ask you to pay for this work to help us cover our costs. You can learn more about our consulting services here.

We hope these changes help you to get the most out of your Largo site. If you have questions or suggestions for us, feel free to reach out anytime.

Thanks for using Largo.

May’s Book Club Selection: The Shallows by Nicholas Carr

We hope you'll join us for our next News Nerd Book Club hangout on Wednesday, May 11th at 1pm ET.

This month we'll be reading The Shallows:  What the Internet is doing to our brains by Nicholas Carr.

From the author’s website:

Is Google making us stupid? When Nicholas Carr posed that question in a celebrated Atlantic essay, he tapped into a well of anxiety about how the Internet is changing us. He also crystallized one of the most important debates of our time: As we enjoy the Internet’s bounties, are we sacrificing our ability to read and think deeply?

With The Shallows, a finalist for the 2011 Pulitzer Prize in non-fiction and a New York Times best seller, Carr expands his argument into the most compelling exploration of the net’s intellectual and cultural consequences yet published.

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

Hope to see you on May 11th. Happy reading!

Welcome Our Spring Apprentice: Sinduja Rangarajan

Sinduja Rangarajan

We're really excited to welcome Sinduja Rangarajan to the team as our spring apprentice.

Before joining INN, Sinduja was the 2015 Google Journalism Fellow at Reveal, where she reported, cleaned and analyzed data for investigative stories.

She has a bachelor’s degree in computer science from the University of Mumbai and is a recent graduate from the University of Southern California’s Annenberg School of communication and journalism where she is majoring in digital journalism.

At Annenberg, she worked as the multimedia editor at Intersections South LA and led their web development efforts on the Watts revisited project. Her work at Annenberg earned her a LA Press Club award and the Bryce Nelson award for distinguished journalism.

She’s originally from Mumbai and misses the crowded streets, ample public transportation and the street food there.

Welcome, Sinduja!

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, Parse.ly, 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.