73 comments

[ 3.3 ms ] story [ 172 ms ] thread
Aww. I was hoping he also took care of the App Store banner using the content blocker. Would be great if those banners could be turned off.
Unless I'm misunderstanding you, the App Store banner is gone after the content blocker is run
yes, but if you read the article, the author states that was not blocked by the content blocker, he was just unable to get it to reappear.
If you look at his script the blocking system lets you hide html elements with css, too hide the app store banner all you have to do is inspect element in chrome, find the element id/class and set it to display none.
(comment deleted)
App banners are outside the DOM.
I'd be curious to know if it's still possible to block them, however. The banner itself is outside the document, it's a UI element rendered by the client, similar to a toolbar on a desktop client.

However, it's invoked by a head/meta element within the document, so it may still be possible (eg, when the document is parsed, this element is invoked, and the filter is invoked - which comes first?)

Unfortunately there's enough random forums that offer me an app when I'm only visiting for a one-off google result, that I can see a genuine use-case for this.

You need a proxy server that removes the meta tag for the app store from the HTML file.
No they're not

    	<meta name="apple-itunes-app" content="app-id=XXX, affiliate-data=YYY" />
The banner itself is rendered outside of the dom. The meta tag tells Safari to render the banner, which it does natively. If the banner was inside the dom we'd see divs and links and the like.
The App Store banner is not part of the page, it's rendered directly by Safari itself.
9 seconds of page load for ads is unacceptable. Mobile browsing has become a pita because of all those poor ads network, and i think once again (after the flash controversy) apple is going to save the web by making radical decisions like this one.

It may very well be that mobile web content browsing becomes even more pleasant than using native apps thanks to that, since they too seem to fall for the trend of putting the maximum number of ads possible. Only with native you'll never be able to block anything easily.

If Apple wanted to, they could let the content blockers work for native apps as well. All in-app ads that I have seen are loaded over the same HTTP mechanisms. I guess they have chosen not to do so.
I'd be amazed if the SDK's UIWebView (whatever it's called these days) didn't have access to this in some future release.

I doubt they'd apply it to generic HTTP calls on apps though - it would ruin the ad-supported app ecosystem and Apple aren't that daft.

SFSafariViewController (the new API for presenting a Safari-like browser inside your app) already does support content blocking.
Apple isn't doing this to save the web, they are doing this so developers will be forced to create a native app to show ads and make some money.

Easiest way to show ads in a native app on iOS... oh wouldn't that be iAd service in which Apple gets a cut of the profit?

Don't know why you got downvoted, as it's a valid counterpoint. You may be right, and that's maybe what some people at Apple may think. But i don't think it's right. Ad-supported business model is ubiquituous, and there are loads of companies who have a vital interest into finding new ways to put ads in web content.

What i think is that by making it harder to put ads in mobile web content, they'll make it more expensive as well, and thus push toward higher quality ad networks ( better targeting, better speed, better content).

Just like the end of flash saw an increase of quality SPA HTML5 frameworks.

And I'm fine with that, at least iAD doesn't make an app load a page 9 seconds slower...
I think Apple is doing this more as a shot at Google than for revenue. Specifically, Steve Jobs was enraged that Google entered the smartphone market, ever since Apple has been positioning products to erode Google's position. E.g. Apple Maps, removal of the youtube app, iAds, now the ability to block ads.
Apple is probably doing it first and foremost to improve browser performance, battery life, and user experience. That's how they make money. If users like their products they buy more products. No conspiracy theory needed.
I really don't get your point, with a native app the developer has full control of what is being shown, if anything ad ad-blocker would steer users more towards a clean web browers than an ad infested native app.

As a real world example, the (otherwise excellent) Twitch app on iOs serves unskippable minute long video ads with an annoying frequency, so much that I often prefer using the service through an ad-blocking web browser (which btw DO exist on the App Store, and have been for a while already).

I think neor (https://news.ycombinator.com/item?id=9776826)'s point is the intended impact on developers, not on users. I believe that the contention is that Apple hopes to coerce developers—or, rather, content providers—into taking down public-facing web portals that are out of Apple's control, where their ad revenue will plummet, and creating instead an app that is to some extent under Apple's control, because that will become the only effective way to get ad revenue. Your choice as a user will then go away; there are already some, though fortunately not yet many, sites that must be accessed through apps (for example, my bank accepts deposits only through their app).

(I'm not endorsing this point of view myself, although it sounds more than a bit plausible to me; it's just, I think, what was being said.)

I think this fits in very well with Apple's recent push on its pro-privacy stance.

The WWDC session for this feature specifically highlights a major privacy issue this can help solve: blocking privacy-invading tracking scripts.

It's completely possible to show ads without tracking every move the user makes across the web.

Let's pretend the problem of linking to content inside another app will be solved without using a webview (so: native app to native app). You still can't beat the ease of tapping a link and getting to a new site you never heard about. Having to go through the store first to install a native app you don't have yet will be such a bad experience that could kill mobile content. I can't believe Apple is really willing to head into that direction until they keep selling devices to access mobile content. Furthermore do we really have space for an app for every site out there? Probably Apple really prefers to please its customers with faster load times. Some of them are content producers but they are so many more content consumers.
Eleven seconds to load a single page is hilariously bad. Javascript puts far too much blind trust in developers.
While I usually am fine with Ad blockers, Apple's position here is completely incoherent. They decided not to pay artists for a trial period, they've decided websites don't deserve to advertise.

Why it's almost like the only way to deal with Apple users is to sell to them through Apple, and therefore give up at least 30%.

they've decided websites don't deserve to advertise

To be fair to Apple (or to be generous, depending on your point of view) the Safari Content Blocker isn't an ad blocker. It'll block anything you define in a JSON file. If that happens to be ads then so be it, but it could just as easily be malware, or images, or Javascript, or anything served by the government, and so on. If Content Blocker is Apple deciding that websites don't deserve to advertise then so are the developers of NoScript, ImageBlock, FlashBlock, GifBlock, CookieBlock, etc - but most people see those as privacy tools rather than anti-advertising tools.

Obviously people will use Content Blocker it to block adverts, but that doesn't necessarily mean it's Apple attacking the ad industry and Google. Remember that Apple own an ad network of their own, and this feature will hurt that too.

> They decided not to pay artists for a trial period...

Small nit to pick on this one, but presumably Apple had negotiated this with the artists' labels. My (totally unfounded) assumption is that record labels saw the return on Apple Music being better/more consistent than album sales, and worth foregoing those initial three months of revenue.

> ... they've decided websites don't deserve to advertise.

I think that we're only seeing adblockers this late in Mobile Safari's lifecycle because advertisements have become such a pain point for users. I'd imagine that Apple saw an opportunity to make ads less intrusive, more consistent, and add them to their revenue stream in one move.

Minor nitpick. I don't believe Apple ever pays artists. The labels pay artists. The labels need to go back to the artists and explain why they chose to allow Apple to forgo payment for 3 mos. Sure, Apple has some culpability in this as they negotiated for it, but the labels pay artists and they need to speak up on why they chose to negotiate with Apple on this.
I really think a kind of lightweight collective bargaining is the answer here.

The way it works is simple. You install an ad blocker, let's call it QBlock.

Then, QBlock goes to the websites and the ad networks to negotiate. If you want to reach our 1M users with your ads, you have to play ball with us. e.g.

* Keep ads to 15% of screen space

* Don't autoplay audio

* Don't exceed 15% of network traffic

* etc.

If you comply with our guidelines, we'll let your ads through. If you don't, tough.

Of course this assumes there are users who would prefer an ad blocker that lets responsible advertisers through as opposed to one that doesn't, but I believe that enough people do that it could work.

That is very similar to what Adblock plus did. Many of the users were very unhappy, leading to forks of the project.

This policy, for good or ill, annoyed many of the users: https://adblockplus.org/acceptable-ads

Ultimately, it lead to the popular fork:

https://addons.mozilla.org/en-us/firefox/addon/adblock-edge/

There was a huge controversy behind the acceptable ads feature. I think an application like "QBlock" would still stand a chance, but it would have to be transparent and enabled for all web users.
"Collective bargaining" and "all web users" are never, ever going to go together. That kind of consensus is just impossible.
I think the biggest part of the controversy was that people speculated it would become "pay us money so our users see your ads" more than "if your ads are acceptable we will unblock them"
So heavy pages are rewarded with more bandwidth for ads and lightweight pages punished? I think these ruled would be hard to get right and easy to get around for the malevolent webmaster. I'm with you on the auto playing audio though.
>Of course this assumes there are users who would prefer an ad blocker that lets responsible advertisers through as opposed to one that doesn't, but I believe that enough people do that it could work.

I have doubts, unless you get payed for it as a user.

The problem with things like that is people will try to game it. People would just put a bunch of gibberish at the bottom of a page to raise the total percentage of screen space. It reminds me of back in the pre-google days when sites would put tons of keywords in white text on a white background at the bottom of a page to try to rank higher.
(comment deleted)
(comment deleted)
Alternately, an existing social network or reader like Flipboard could implement micropayments. At one time, https://flattr.com had linked Twitter favorites to donations, before Twitter blocked them and never implemented an equivalent service. A monthly recurring "subscription"/donation could be micro-disbursed by the social network.
(comment deleted)
Looks good to me; more control in the hands of users.
"Now, this was fun little project to mess around with, but it does give me a moral dilemma. Do I care more about my privacy, time, device battery life & data usage or do I care more about the content creators of sites I visit to be able to monetise effectively and ultimately keep creating content?"

Once we show content creators that we're willing to block their unsupervised invasions en masse, they'll come back to us with a better deal. The illusion that blocking is binary - either you allow egregious privacy invasion or you fail to support the content creators is one that the content creators have created!

The content creators has a dilemma too. Without ads, no money. The party who can solve that are the ad networks.

We need a disruptive ad provider that offers non-shitty ads (like ads before the Flash era) and pays reasonable ad-money.

Blocking all ads is bad for everyone in the long run. Adblockers should block only the bad players like Antivirus blocks bad players.

When it uses my bandwidth and my battery, they already are bad players.

I'll raise a glass or two to the end of the ad muppets!

Like the original Google ads? Before they bought DoubleClick, they were just plain text and people actually liked them.

Or, better yet, reddit ads. Honestly, I feel like I'm missing out when I turn reddit ads off, so I don't do that anymore: they make an excellent subreddit discovery engine, so they're actually useful to me.

I think the author hits on something here. It's not the ads that bother me, it's that they are destructive to my time, bandwidth, and battery. It's the equivalent of walking into a furniture store and being followed around by a salesperson who won't respect your personal space and berates you verbally if you don't buy immediately. Even better, if you've ever visited a city/country with a bad tout culture (like Luxor, Egypt), it's a lot like that. It's fine for you to advertise to me, but once you've had you say, get out of my way and don't make my life miserable.
The analogy breaks down a little bit because you aren't just shopping, you are getting the product, and the price of that product is listening to the salesperson. So the situation is probably closer to sitting through a timeshare presentation to get something free, although online you are not forced to pay attention to the ad for any amount of time.
(comment deleted)
An alternative to blocking all ads would be blocking based on risk. We could have open blacklists or JSON content-blocking rules for different ad/content categories, including business models. Blocking extensions could optionally notify sites of tagged categories which are whitelisted.
Fair enough. It seems that most timeshare deals have figured out the balance of pitch to product though. The internet, however, is filled with hack jobs that make your page take 11 seconds to load. It's like the timeshare guy that keeps grabbing your shirt when he wants your attention.
The answer to that question is "it depends". If the author is the kind of person that sometimes clicks on ads, then blocking content will make a difference to those sites. I never clicked ads before discovering AdBlock, so the fact that I've been using it for years now didn't deprive them from any money.

Before anybody asks if I gave a chance to ads-filled web sites recently: my tablet doesn't have AdBlock (I run Opera on it because it so much faster than Firefox) so I see all ads and I still don't click them. Luckily I have AdAway on my rooted phone and it blocks all ads, in browser and in app (it uses the hosts file.)

> I never clicked ads before discovering AdBlock, so the fact that I've been using it for years now didn't deprive them from any money.

Do all ads rely on clicks? I'm fairly certain that a good number just want to user to see the ad (they probably pay less, though).

I don't disagree with your main idea, and I do use adblockers, but I think it's worth clearing up that point.

Relatedly, I could really do with an in-app ad blocker for Android, because some ads I'm getting bounce me out of the app without user intervention and into a spammy web page.
At home I use a router with OpenWRT which loads the hosts-file from mvps.org. No ads in webpages, no ads in apps.

Shameless plug for The Netherlands : https://wijvrij.nl ( a preconfigured adblocking router )

For browsing, there used to be Chrome extensions but those are mostly gone now. Firefox for Android works with ABP, Adblock Edge and the rest of the common adblockers and has for a little while now.

As far as system-wide, I typically use Adfree Android. There are some places it doesn't work (like pre-roll ads in the Youtube app) but otherwise it's been great. It's just a variation on the old blacklist + hosts file method but it blocks the annoying popups and banners in a majority of apps.

I think I ran across one game (Crossy Road) that wouldn't even start if you had Adfree installed but frankly, if your game can't even run without hitting some dodgy ad server then I don't need to play it. I understand the revenue model but I gladly pay $1-5 for any enjoyable game that doesn't put that stuff in to begin with.

Adfree Android - http://adfree.bigtincan.com/

The site is just a super-simple mobile site but it's the author's site where you can get the latest download.

On my old iPad 2 I use "Weblock" which blocks most ads and makes browsing on Safari bearable...

Apparently it sets up a "Proxy Auto Configuration" that has a blacklist, any ads get routed to > /dev/null (but its not a VPN, I think its the same approach as uBlock but not sure)

Anyway not affiliated at all but find it very useful on iOS...

Sure, Apple may have reasons to do this to hit Google where it may sting some and also seemingly putting more effort in their own search. Additionally, it may be a reason to increase the incentive of getting products off web ads and more into their own eco systems of apps.

All this while getting applauses from end users who reap the benefit of ultimately getting a better user experience.

Apple is in a position to pull this off. Is it evil? Well...

No matter what - this has the potential of forcing more innovation around ad related business models. Especially since so many products (especially news/journalism) rely on a business model (ads) that is largely in conflict with their product (getting people to consume news). More innovation around "native advertisement" where the ad offer is actually something adding value to the end user rather than distracting from the core product. Hopefully...

When I'm viewing safari, is it visible that content-blocking is going happening? What happens if multiple apps all try and content block the same page?
I have basicaly been running this "experiment" for the last 20 years. It began with (e.g., text-only) browsers that do not source content from other domains automatically, then I started blocking ads via DNS in response to today's "locked-down" computers like smartphones. I just do not see ads. I often need not even visit a webpage. I just download the content I want, directly, using a custom filter.

Do long load times, visual distractions and page clutter matter?

I posit only when you are accustomed to _not_ experiencing these things.

For me, it is difficult to voluntarily choose 38 connections (how many DNS lookups is that?) and 11 second load times after experiencing 2 second load time and connection to one IP only.

I still find it shocking how many connections today's "average" webpages make to third party domains. It was not always this way. I doubt it would have been feasible with yesterday's bandwidth and memory. Somehow things ramped up to the point of absurdity and it's as if no one noticed.

If there is a "moral dilemma" it should amongst with the ad/tracking folks.

Yeah, I have been using HOSTS file adblocker for years and it performs better than AdBlock Plus. On iOS, you can set your own controlled DNS server with a blacklist of ad servers.
I wonder what will happen if ad-based content websites will start blocking Safari iOS 9.
Remember what happened to Flash? Turns out there's not only a lot of iOS users out there, but iOS users end up using the web more on their devices in general too.

Ideally they should come up with better ads that don't try and take over your entire or system resources (this is even after some extreme JS and display optimizations happening over the years in JS and browsers).

Also unless I'm mistaken, this is about putting more control in the users's hands, he can choose to enable ad-blocking just like on a desktop browser.

The only way I see to circumvent this "problem" is to have the ads as integral part of the content, indistinguishable from it. I'm not sure if this will make "better ads" though.
A 9 second speedup! iMore should be ashamed of themselves!

Edit: Before anyone says it's not their fault, they can't control slow CDNs. Yeah, it is their fault. It's their page and they are responsible for the User Experience.

Sadly, this won't be the end of intrusive advertising. It will just go underground. I think as a result of wide-spread ad blocking we'll see three worrying trends develop.

1. More paid-only content

More content will go behind pay gates and login gates, like the NYT site, as sites scramble to monetize. This is bad for society as a whole as we lose free access to information.

2. Advertising goes server-side

Advertising will become more subtle and not understandable by the end user. The good thing about Javascript-based advertising tags is that you could kind of understand what was going on.

In the future, ads will be indistinguishable from content, and already shaky wall between editorial and advertising will collapse completely.

On top of that, the worst part of modern advertising - data sharing - will be completely unobservable to us. Even small publishers will maintain databases of a wealth of information about you, tied to your logged in email address.

3. The collapse of many cottage hobby websites

You can forget about small blogs being a worthwhile side biz for many small groups. No more dropping in a simple JS ad tag and having some revenue to pay off your hosting bill.

> In the future, ads will be indistinguishable from content, and [the] already shaky wall between editorial and advertising will collapse completely.

If anything, that should give us even more reason to attack this new form of advertising. Ad-blockers were born out of a pretty mild inconvenience. But hidden ads are far more sinister, and thus - should result in far more people coming up with ways to remove them.

> No more dropping in a simple JS ad tag and having some revenue to pay off your hosting bill.

At this point, hosting is basically free. You can either pay for it with pocket-change (as is the case with S3), or you could host it on GitHub and use GH-Pages, or even host a non-static site on something like 000webhost (I'm sure that there are more free non-static hosts than just 000webhost, but I haven't looked for one in years).

But yeah, it is a shame that people can't make a little cash off of a side project using something like ads. We should come up with a way to fix that... like Flattr or Gittip (Gratipay) have been trying to do.

> But hidden ads are far more sinister, and thus - should result in far more people coming up with ways to remove them.

But how? Give me an example on a site like my (admittedly far from perfect) startup, http://lump.co. How would you identify an ad which posed as a gallery, or posed as a photo in a gallery? There would be no way to identify it - at all.

On a blog, an entire post could be an advertisement for a product. They wouldn't bother labeling them - to avoid the ad block. The only person that loses is the consumer who can no longer trust what they read.

> At this point, hosting is basically free

I envy those kinds of sites!

My S3 bills were $1200 a month (switched to Incero). I am taking in 2,000 new gallery posts, each with 50 photos that I download, per day, filling 2tb of disk every month or so. Far from free for startups that are data or processing heavy! Even for a blog, WPengine, various SaaS offerings you need, and misc stuff can easily reach $100+, before you add Cloudflare..

And that's before we even consider the human time that goes into it.

Running a site ain't free.

> Flattr and Gittip

This is the best approach. I hope the world becomes comfortable paying tiny amounts for content. Sadly I feel like that's a ways away, especially for the non-US demo. And I hope those systems support refunds because often I'm disappointed by content once I get a chance to really read it. :)

p.s. I'm not trying to make this about me. I am just an example of a common case.

We're not talking about a little side cash. All independent (most of the web) middle-sized publishers like me would have to lay off people (who are not all college kids, some who support have families).

I caution people who think ad block is "sticking it to the man" because only corporations are going to survive a sudden drought if the ad-supported model dries up. It will kill the indies almost instantly and corporate will just figure out a way around it after they're done picking up bodies at a discount.

So now that Apple is saying you can't make money on the mobile web with iOS, everyone will have to make an app with unblockable ads. Great for the app store. What happens to discoverability when your content isn't on the mobile web (and with google penalizing you for not having a mobile friendly site)?
As a publisher I envision redirecting all iOS users to an app download page. Which means Android users would happily browse the page with free content while Apple users are forced to install an app. Not really the best sales argument for Apple? Especially if you consider that the app probably requires permission to get a lot more of your data than any webpage ever could... Nicely done Apple! :-)
The user will just refuse to give the app those permissions.
Thought experiment for anyone not yet tired of the "is blocking ads unethical" discussion:

Imagine there is a news website with content you want to read.

When you go to the site for the first time, you're presented with the following text:

"This site and it's content are entirely supported by display advertisement. You are free to consume this content as much as you like as long as you agree to allow our advertisements to be displayed in your browser. If these terms are unacceptable to you, please do not continue consuming our content. No hard feelings."

Would it be ethical to block ads on this website?