With the 19 September release of iOS 13, Apple quietly turned off the ability for adblocking companies to use their own blocking mechanisms in the Safari browser. Developers of iOS 13 and macOS Catalina applications will have to use an Apple-supplied alternative which adblocking companies have said is too limited.
Browsers use an application programming interface (API) to talk to extensions. Safari had its own, based on JavaScript, and even published a list of the extensions that used it in its Extensions Gallery.
Then, in 2014, Apple showed developers what was to come by introducing App Extensions – a new way for applications to talk to the operating system and each other on iOS and Safari. With App Extensions, developers can let users share content and functionality between apps.
This was part of a two-pronged strategy for content blocking on Apple’s part. Apple readied app developers for the new approach to blocking in 2015 when it quietly announced a new feature in iOS 9 called Content Blocking. This enabled developers to put content blocking rules directly in their apps.
This gave adblockers a choice: They could either switch to Content Blocking or keep using their extensions the old way. AdBlock eventually did both, building Content Blocking support into its extension.
In a blog post explaining its support for Content Blocking, AdBlock admitted that Safari runs faster using this feature than it does using the traditional AdBlocker legacy extension. However, there are some downsides, it warned.
Content blocking doesn’t let you whitelist websites, which makes it difficult to selectively support sites by viewing their ads, said the AdBlock team.
However, the biggest problem according to AdBlock is the Content Blocker’s 50,000 rule limit. This constrains adblockers’ capabilities because they routinely use far more rules than that. If you want to write lots of custom whitelist filters of your own, then you might also find that some of them don’t work, it warned.
As ZDNet pointed out, Apple has gradually been putting the thumbscrews on Safari extension developers by discouraging the old JavaScript in favour of App Extensions, and last year it announced that it would turn them off altogether.
That means there’s no longer a place for adblocker extensions that use the old, more liberal rule base for Safari. This has caused some blockers, like uBlock Origin, to abandon Safari altogether. One developer explained why in this GitHub post:
Apple has begun phasing out Safari extensions as extensions, and has instead been implenting a new extensions framework which is extremley limited in adblocking functions, only allowing “content blockers”, which are just links bundled as an app which Safari enforces [sic].
Others welcomed the move. They argue that relying on Apple to process Content Blocking in the browser rather than having a third-party adblocker intercept web requests from pages offers more security.
Google drew lots of flak from the community when it did something similar to Apple with version 3 of Manifest, the API that lets extensions talk to Chromium-based browsers. People complained at the time that Google’s interests were conflicted because it makes such a lot of money from advertising. Apple prides itself on the opposite, though, making its money through hardware, software, and cloud services.
Spryte
That’s OK. I don’t (won’t) use safari anyway. (Just as I won ‘t use IE, Edge or chrome.)