Una de las novedades de iOS 9 que Apple no comunicó de forma pública y notoria durante la keynote inaugural fueron las nuevas extensiones del sistema que llegan para ampliar algunas de las caracteristicas que se presentaron con iOS 8. En este caso, una de las nuevas API de extensión para Safari que ofrece Apple a los desarrolladores es la posibilidad de crear bloqueadores de contenido.

Como es habitual, no tardaron en llegar declaraciones agresivas y extremadamente simplificadas del tipo: "Apple bloqueará la publicidad online", que resultan, a día de hoy, falacias.

Lo que de verdad sabemos:

1. Apple ha incluido en Safari 9 para Mac y en iOS 9 una API para extensiones que permite bloquear cierto contenido seleccionado por desarrolladores de terceros. Lo vemos en los ajustes de la beta de iOS 9.

Captura de los ajustes de Safari en iOS 9 beta 1 en un iPad mini.
Captura de los ajustes de Safari en iOS 9 beta 1 en un iPad mini.

Y en la documentación oficial de iOS 9.

ios-content-blocker-documentacion

2. También sabemos, de forma básica y preliminar, cómo funcionará la extensión. Crea más dudas que respuestas pese a lo que muchos creen. Es la primera vez que se añade una API de extensión a Safari desde la versión 5.1, y puede ser una pequeña ventaja para los desarrolladores de bloqueadores o su muerte tal y como indican en el blog de Adblock Plus.

Todavía no hay documentación oficial, pese a que medio Internet se eche las manos a la cabeza pensando, incorrectamente, que habrá bloqueadores de anuncios en la App Store y con ejecución perpetua. Lo que sí dijo Apple es que se basarían en un JSON mediante 'disparadores' y 'acciones' acorde a tipos de elementos de la web.

safari-content-blocker

Lo que no podemos afirmar

Aquí llegan los primeros inconvenientes a la afirmación "Apple mata la publicidad en Safari". Pese a que el API y las funciones y disparadores en el JSON no estén documentados, se ve claro que es radicalmente diferente a lo que hace en la actualidad Adblock Plus por ejemplo. Los bloqueadores de anuncios ejecutan código arbitrario cuando el usuario hace una petición a una web, bloqueando contenido dependiendo de la URL y el contexto.

Bajo esta nueva medida tendrían que convertir todos los filtros actuales a un JSON. El caso es que ningún filtro de Adblock Plus es tan simple como el JSON con disparadores mostrado por el equipo de prensa de Apple.

No se puede afirmar, de ninguna manera, que vayamos a tener bloqueadores de publicidad tal y como los conocemos en nuestro iPhone

En el mejor de los casos la API es abierta y potente y permitiría que los bloqueadores trabajasen de forma más eficiente en Safari 9 y en Safari de iOS 9. Pero si resulta que no es así, podría significar la muerte de estos bloqueadores y no su implantación masiva como todo el mundo parece creer, ya que el evento DOM onbeforereload y el safari.self.tab.canLoad son deprecated ahora. Es decir, adiós a ejecutar código arbitrario antes de cargar la web para bloquear ciertos elementos.

Además las extensiones dependen de una aplicación. ¿Aceptará Apple, sin poner, pegas aplicaciones que bloqueen publicidad? No me imagino a Adblock Plus arriba de la lista de aplicaciones más descargadas. A Esos problemas y dudas, todavía no resueltas, se enfrentarán los desarrolladores de bloqueadores. Para el usuario hay todavía más dudas y problemas para tener un bloqueador de anuncios de "verdad" como los que están disponibles en nuestros navegadores de escritorio.

Lo tedioso que sería bloquear publicidad

En el mejor de los casos, para los que bloquean el contenido, los desarrolladores tendrían una API potente, sus aplicaciones serían aceptadas y el bloqueador estaría disponible para todos los usuarios. Hasta en ese hipotético caso habría muchos problemas:

  • Es una extensión de Safari que, al parecer, hay que activar en cada llamada a la web. Es decir, entras a una web, cargas toda la publicidad y activas para no verla. Entra a otra web o recarga y repite el proceso. Un poco tedioso. (Actualización importante más abajo)

  • Tal y como comentan en sus impresiones preliminares en Stackoverflow, la extensión no es como las de compartir que todos conocemos. Es una clase NSObject plana, no un *ViewController. En castellano quiere decir que el usuario no ve, de momento, respuesta a la acción en la interfaz.

Y es que hay más dudas que respuestas como para afirmar que Apple matará a los medios digitales. Además, el bloqueador puede tener usos diferentes, como bloquear contenido para adultos o para fines educativos. Necesitamos ver la documentación de la API para afirmar lo que hará o no hará Apple, pero parece que no será tan fácil ver a los millones de usuarios de iPhone navegar sin publicidad en Internet.

Actualización 10 de junio, 6:21:He actualizado el artículo ya que la extensión de bloqueo de contenido funciona de forma permanente acorde a uno de los ingenieros de Apple para Safari. Todavía no sabemos si será en iOS y Safari.

El viernes habrá una conferencia dedicada a este tema y por fin podremos afirmar o desmentir lo qué va a pasar. Y, a partir de ahí, pensar el impacto que tendrá.