Apple appears to have added an ad-blocking capability to iOS 9, stoking hopes and fears in different quarters.
The beta version of the operating system sports a Content Blocking Safari Extensions feature which Apple says will give extensions "a fast and efficient way to block cookies, images, resources, pop-ups, and other content".
It doesn't contain ad blocking capabilties as such and instead required ad blocking software to be installed - and to interact with Safari via JSON.
"Your app extension is responsible for supplying a JSON file to Safari. The JSON consists of an array of rules (triggers and actions) for blocking specified content", Apple's developer notes say.
"Safari converts the JSON to bytecode, which it applies efficiently to all resource loads without leaking information about the user’s browsing back to the app extension. Xcode includes a Content Blocker App Extension template that contains code to send your JSON file to Safari."
But the feature could kill popular advertising blockers, according to Sebastian Noack of Ad-Block - depending on whether it forces the apps to rely on inferior mechanisms.
Noack says the JSON file block lists is a large departure from the current framework of running arbitray code on request to kill advertising based on URLs and context.
"We appreciate and support Apple’s attempts to finally catch up on extensions, but those latest changes will create either the best possible landscape for Safari extensions, or the worst – especially for Adblock Plus," Noack says.
"In short, either this new API will improve Adblock Plus performance on Safari or it will force us to rely upon an inferior blocking format that would essentially kill adblocking on Safari.
"So, we are nervously awaiting how powerful their block lists will be, most importantly when it comes to matching the document domain and request type, as well as regular expression matching of URLs and recursive exception rules."
The mechanism will at best allow for a solid iOS advertising blocker or at worst mean "the end" of the facility on the operating system.
It is yet uncertain if the feature is operational as of publication of this article. ®