Ad Blocking on the Web

Hi everyone,

When iOS 9's new ad blocking feature was first announced, it triggered a series of thought pieces about ads on the web. Publishers claimed it would mean the end of free content, while others claimed that publishers would lose "only" $1 billion next year, so it's not a big deal. How important are ads to the web, anyway?

In my mind, ads are vitally important. It costs a nontrivial amount of money to run a successful website, and ads allow sites to offer that content for free. Compare that to your average magazine or newspaper that you pay for and it still has ads inside! It's a pretty good deal.

Further, publishers are encouraged to provide content for free so that search engines can crawl their site and get good search results rankings. That's not possible on subscription sites where content is hidden from crawlers behind a paywall. Subscription-only sites have a self-imposed limit on audience because people can't easily "accidentally" find their content using a search engine.

The sad fact is that publishers have abused our willingness to accept ads for free content. Ads have become more obnoxious, harder to dismiss, and more obstructive to the reading experience than ever before. That's why ad blockers exist: not because people hate all ads, but because people hate the types of ads they're getting.

I've had great success with a single small, static, out-of-the-way ad on my site. I'm not trying to trick anyone into clicking, so that means I get fewer clicks and therefore less money. However, what I get in return is a relatively stable (if not small) income stream that helps to keep my site up and running. This is where I'm hoping ad blockers will go: not that they will force publishers to remove all ads, but that they will force publishers to get back to quality ads that aren't annoying and don't completely ruin the user experience.

Recommended Links

Introducing RAIL: A User-Centric Model for Performance (article)
In the ever-ongoing battle for improving web performance, you need as many tools as possible. This article talks about the Chrome team's approach to measuring and optimizing performance as a focus on four key areas: response, animation, idle, and loading. It gives some guidelines as to how long it's appropriate to perform tasks in each area and how you can improve user experience by adhering to these suggestions.

U.S. Web Design Standards (guide)
The United States government released its web style guide online, and it's quite impressive. Not only does it cover basics like typography and colors, but it also highlights accessibility and when different types of components are appropriate. If you want a style guide to use as a baseline, this is excellent.

Launching nginScript and Looking Ahead (article)
The latest version of Nginx now supports a dialect of JavaScript called nginScript. In order to make JavaScript work in Nginx, they need to create a custom JavaScript runtime that could work with the Nginx threading model. The result: you can now embed JavaScript inside of Nginx configuration files, allowing for a high level of dynamic configurability.

Recommended Book

Written by CSS guru Lea Verou, CSS Secrets is a collection of recipes for how to achieve certain effects using CSS. I found this setup to be extremely useful as it means you don't need to read the book from start to finish in order to solve problems. By focusing on task-based narrative, each section stands on its own while introducing you to the important underlying concepts of the various CSS properties you're using. Lea makes some truly complex CSS effects seem approachable and easy to understand while going out of her way to point out where others have invented or contributed to the technique she's describing. This attention to detail is present throughout the book and makes it a must-have for those who want to understand CSS better.

Recently on NCZOnline

ECMAScript 6 destructuring gotcha
With all of the new syntax in ECMAScript 6, you're bound to periodically find something that is confusing (likely as you're hunting down an error). Recently, I've seen an uptick in the reporting of a specific type of error as it relates to destructuring assignment[1] using object patterns. Destructuring basics Before you can understand the...

Triggering Jenkins builds by URL
As you might have read not too long ago, I recently moved my site from Wordpress to Jekyll[1]. In so doing, I ended up using Jenkins[2] to periodically build and upload my site to S3. Having a Jenkins instance running turns out to be quite useful for all sorts of tasks and so I've been...

My favorite interview question
Interviewing and hiring are more difficult tasks than they may seem. The cost of hiring the wrong person is quite high, yet companies that are hiring often want help sooner rather than later and so sometimes don't want to wait for a good candidate to come along. I operate on the mindset that the damage...

Feedback

Love this newsletter? Hate it? Have suggestions for how to make it better? When you subscribe to the newsletter, you can just reply to send in feedback.