O Manifest V3 do Chrome está aí. O que esperar dele?
Há quase 4 anos, no começo de 2019, a equipe do Google Chrome anunciou intensas mudanças na plataforma de extensões de navegador conhecidas como “Manifest V3”.
Em artigos anteriores, nós já discutimos amplamente seus problemas em potencial:
- Falamos sobre os motivos para estas mudanças e por que, na nossa opinião, elas foram implementadas em detrimento de outras medidas;
- Expressamos nossa opinião: não se trata do fim do mundo, e as extensões de navegador não serão tão atingidas;
- Nós explicamos como nós do AdGuard faríamos a adaptação a estas alterações e as ameaças do MV3 para o ecossistema de listas de filtragem.
Inicialmente, quase todo mundo recebeu o Manifest V3 de forma negativa, desde a comunidade de desenvolvedores (e não apenas os desenvolvedores de bloqueadores de anúncios) até os usuários que estavam com medo das consequências da implementação de uma plataforma mais restritiva e, francamente, suscetível a bugs.
A equipe do Chrome pausou a implementação do Manifest V3 até que todos os principais bugs e preocupações dos desenvolvedores fossem resolvidos. No link acima, é possível ver que este momento está quase chegando. Com o lançamento do Chrome 120, espera-se que todos os seus principais problemas sejam resolvidos, o que significa que a integração com o Manifest V3 está cada vez mais próxima. Por isso, chegou a hora de discutirmos o estado atual desta implementação.
Nos últimos anos, fui questionado muitas vezes sobre a forma como o Manifest afetará as extensões de navegador. Tentarei estruturar este post de forma a listar todas as perguntas mais frequentes relacionadas a este tópico.
Qual a sua opinião sobre o Manifest V3?
Minha relação com a nova plataforma passou por vários estágios. Tudo começou, naturalmente, com certa resistência. Mas os desenvolvedores do Chrome merecem seu crédito, reconheço que os seus esforços fizeram com que eu mudasse minha opinião. Quero chamar atenção para os principais fatores que influenciaram a minha perspectiva.
O grupo W3C
Acho que a alteração mais significativa para mim foi a criação do W3C WebExtensions Community Group, em que os desenvolvedores do Mozilla, Safari e Chrome, junto com os desenvolvedores de extensões de navegador, estão trabalhando em especificações para uma plataforma de extensões comum que será compatível com todos os principais navegadores ao redor do mundo.
E o que muda? Tudo! Nós finalmente começamos a ouvir uns aos outros. Os desenvolvedores de extensões começaram a entender melhor as motivações dos desenvolvedores de navegadores, e os desenvolvedores de navegadores ouviram as nossas preocupações. Mas apenas ouvir não basta. Precisamos trabalhar para colocar em prática melhorias. Com o passar do tempo, nós vimos com os nossos próprios olhos como os desenvolvedores de navegadores estão se esforçando para melhorar a situação. Em alguns casos, isso significa corrigir falhas, mas, em outros, grandes mudanças eram necessárias, incluindo a API para user scripts.
O grupo W3C é uma iniciativa que surgiu como resultado da dedicação de alguns engenheiros individualmente e não como uma ordem vinda de cima. Quero expressar minha gratidão a eles.
Investimento na plataforma das extensões
Venho lidando com extensões de navegadores há mais de 10 anos e tive o prazer de acompanhar todas as mudanças que ocorreram com o passar do tempo. É preciso falar a verdade: a plataforma de extensões nunca foi uma prioridade para o Chrome. Ao longo de sua existência, ela foi gerenciada por poucas pessoas sendo que, no começo, havia uma única pessoa responsável pela plataforma inteira.
A situação mudou completamente. O Chrome investiu na plataforma e expandiu o time. Você pode perceber isso pela escala e a linha do tempo de alterações sendo feitas pela própria plataforma. Isso também pode ser percebido pela escala de alterações na Chrome WebStore.
A equipe do Google estava presente no último Ad Filtering Dev Summit. Recomendo assistir a apresentação deles para entender do que eu estou falando:
Então o quão ruim é o Manifest V3, na verdade?
Vou direto ao ponto. Em resumo:
- De uma forma geral, as coisas não estão ruins, longe disso.
- As mudanças no Manifest V3 são de fato globais e demandam um esforço gigante de todas as partes envolvidas. Vale a pena? Acho que sim. No fim das contas, teremos uma plataforma unificada em todos os navegadores. Enquanto isso, os desenvolvedores de extensões de navegadores também têm influência na plataforma. Ela continua a mudar com o passar do tempo.
- A parte ruim é que o Chrome insiste em remover certas funcionalidades, mais especificamente as capacidades de bloqueio da webRequest API, que permitia que os bloqueadores de anúncios implementassem seus próprios mecanismos de filtragem. Não, isso não nos agrada e, se dependesse de nós, gostaríamos que esta mudança não ocorresse. Mas eu tenho esperanças de que o nosso trabalho coletivo na plataforma nos permitirá compensar este problema.
Qual o status da preparação do AdGuard para o Manifest V3?
Há um ano, o AdGuard lançou o primeiro bloqueador de anúncios com base em Manifest V3. Aqui está um vídeo do Ad Filtering Dev Summit do ano passado em que o apresentei para o público:
Esse ano, nós falamos sobre como o nosso trabalho na melhoria dessa extensão e os próximos passos a serem tomados pela nossa equipe:
Nós também já falamos sobre com foram feitas as alterações em nossa principal extensão e a sua preparação para a implementação do Manifest V3.
Em resumo, nós ainda não fizemos todo o nosso trabalho, mas há uma luz no fim do túnel. O protótipo do bloqueador MV3 já mostra uma boa qualidade de filtragem, que você pode verificar por si mesmo.
É verdade que os bloqueadores de anúncios apresentarão uma pior performance?
Não, isso não é verdade. Apesar de perder uma boa parte de sua funcionalidade, os bloqueadores de anúncios conseguirão oferecer a mesma qualidade de filtragem do Manifest V2.
O primeiro desafio da adoção do Manifest V3 é a complexidade da manutenção de um ecossistema unificado para as listas de filtragem atualmente utilizadas por todos os bloqueadores de anúncios. Mas nós também estamos trabalhando nisso, e acredito que logo conseguiremos melhorar a situação. Projetos como o AGLint e nosso plugin para o Visual Studio Code permitirão que os autores de listas de filtragem mantenham facilmente a sua compatibilidade com todas as versões dos bloqueadores de anúncios durante o desenvolvimento destas ferramentas.
É verdade que todos os bloqueadores de anúncios serão iguais e não haverá competição?
Isso é parcialmente verdade. Como o “mecanismo” que filtra as solicitações de rede está sendo implementado pelo navegador, isso de fato tira parte da identidade dos bloqueadores de anúncios.
No entanto, os bloqueadores de anúncios já há muito tempo não se restringem a solicitações web. Se analisarmos o trabalho do mecanismo de filtragem nos últimos anos, a maioria de nossos esforços se concentra na expansão de filtros cosméticos e scriptlets, e o seu uso se mantém único em cada bloqueador de anúncio (e isso continuará assim no futuro).
Mesmo quando se trata das regras declarativas para as solicitações de filtragem de redes, as coisas não são assim tão claras. Uma conversão competente e de alta qualidade da sintaxe das regras tradicionais de reserva (que continuará como padrão) em um formato compatível com o navegador ainda é uma tarefa completa de engenharia. Os bloqueadores de anúncios que lidam melhor com esta tarefa mostrarão resultados melhores se comparado aos competidores.
É verdade que o Manifest V3 fará com que a inovação seja mais difícil?
Isso é, mais uma vez, parcialmente verdade. Vamos considerar um cenário simples: o uso de uma Inteligência Artificial para reconhecimento e bloqueio automático de anúncios é discutido com frequência na comunidade de desenvolvedores de bloqueadores de anúncios. Mas sem a habilidade de tomar decisões em tempo real sobre o que bloquear e como fazê-lo, será de fato mais difícil implementar algo do tipo.
Isso não quer dizer que nós não conseguiremos implementar tais tecnologias. Teremos que inventar formas novas, mais ousadas de introduzi-las. Isso tudo é um desafio à nossa espera.
É verdade que o Manifest V3 aumentará a privacidade e a segurança do navegador?
Honestamente? Eu diria que não. Eu vejo as vantagens do MV3 em termos de unificação, compatibilidade multiplataforma e performance. Infelizmente, eu não vejo vantagens em termos de aumento na segurança do usuário. A quantidade de extensões fraudulentas na Chrome Web Store continua alta, mesmo com a interrupção na aceitação de novas extensões não adaptadas ao MV3.
Eu mantenho as minhas velhas crenças: a única forma de aumentar a segurança dos usuários é através de uma maior moderação das extensões de navegadores. Se o time da Chrome Web Store atualmente não possui os recursos para livrá-la destes golpes, isso é um sinal de que as guidelines deveriam ser melhoradas e a equipe do Chrome precisa desenvolver um trabalho mais próximo com a equipe de cibersegurança.
Talvez, no futuro, com o desenvolvimento da plataforma de extensões, a situação pode melhorar um pouco, mas eu tenho fortes dúvidas de que poderemos ir além de pequenas melhorias apenas através de mudanças na plataforma.
Então não há motivos para preocupação, certo?
De jeito nenhum! É precisamente a sua preocupação e engajamento que nos motiva a continuar trabalhando. Isso vale tanto para os desenvolvedores das extensões, como para os desenvolvedores dos navegadores. Não importa o que as pessoas dizem ou as contradições que encontrarmos pelo caminho: temos o objetivo comum de tornar as nossas vidas melhores. Mas, sem o seu feedback, como é possível que os desenvolvedores saibam quais são os próximos passos a serem tomados?
Por fim, se você não liga muito para o desenrolar do desenvolvimento das extensões de navegador, sempre existe a possibilidade de recorrer às versões premium do AdGuard e instalar um dos nossos aplicativos independentes para Windows, Mac ou Android. Todos eles operam a nível de rede e não se importam com qual navegador você está usando ao bloquear anúncios e rastreadores.