1 pontos por GN⁺ 2024-02-19 | 1 comentários | Compartilhar no WhatsApp
  • Em resposta ao Digital Markets Act (DMA) da UE, os recursos de apps web na tela inicial do iPhone foram reduzidos, e o CEO da Epic Games, Tim Sweeney, questionou se a Apple não estaria tentando conter PWAs que poderiam ameaçar a receita da App Store
  • A Apple explica que, por causa do DMA, precisa permitir motores de navegador alternativos além do WebKit, e que o modelo de segurança existente dos apps web na tela inicial dependia do WebKit
  • O problema em que PWAs não funcionam corretamente no iOS beta para a UE foi confirmado não como um simples bug, mas como uma mudança intencional da Apple; os apps web passam a se parecer mais com favoritos de sites, sem armazenamento local, badges, notificações e janelas dedicadas
  • A Apple afirmou que, para oferecer suporte seguro a apps web baseados em motores de navegador alternativos, seria necessária uma nova arquitetura de integração que não existe no iOS, mas que ela não a implementou devido ao esforço de conformidade com o DMA e ao baixo uso
  • Se navegadores concorrentes oferecerem suporte melhor a PWAs do que o Safari, os apps web podem se tornar concorrentes “não tributados” dos apps nativos, criando um conflito entre a explicação de segurança da Apple e a perspectiva de crescimento do mercado de PWAs

Apps web da tela inicial do iPhone reduzidos na UE

  • A Apple confirmou que reduziu intencionalmente os recursos de apps web do iPhone na UE, citando a conformidade com o DMA
  • O problema veio à tona recentemente quando Progressive Web Apps (PWAs) deixaram de funcionar corretamente no iOS beta para a UE
  • No início, considerou-se a possibilidade de ser um bug da versão beta, mas a Apple esclareceu que não era um simples erro, e sim uma mudança de política
  • A explicação relacionada foi adicionada à página de suporte a desenvolvedores da Apple sobre o DMA

A lógica da Apple: modelo de segurança baseado no WebKit

  • O DMA exige que a Apple ofereça suporte a outros motores de navegador web além do WebKit do Safari
  • Os apps web existentes na tela inicial do iOS vinham funcionando com base no WebKit e em sua arquitetura de segurança
    • Isolamento de armazenamento
    • Obrigatoriedade de prompts do sistema ao acessar recursos que afetam a privacidade
  • A Apple explica que, sem esse isolamento e essa imposição, apps web maliciosos poderiam ler dados de outros apps ou acessar câmera, microfone e localização usando o consentimento do usuário como pretexto
  • Como resultado, a experiência de apps web no iOS para usuários da UE foi bastante reduzida, e os apps web passam a funcionar, na prática, como favoritos de sites
    • Sem suporte a armazenamento local
    • Sem suporte a badges
    • Sem suporte a notificações
    • Sem suporte a janelas dedicadas

A contestação de Tim Sweeney: PWAs são concorrentes potenciais da App Store

  • Tim Sweeney, CEO da Epic Games, publicou no X que o verdadeiro motivo da Apple pode ser o fato de apps web do iPhone não gerarem receita para a Apple
  • Como Sweeney é CEO da Epic Games, que moveu uma ação contra a Apple por questões antitruste relacionadas às comissões da App Store, ele tem um interesse claro nesse assunto
  • O ponto central é se a decisão da Apple é uma medida para proteger a segurança dos usuários ou uma escolha para reduzir uma ameaça potencial aos negócios da Apple
  • Sweeney acredita que navegadores concorrentes poderiam oferecer suporte muito melhor a PWAs, ao contrário dos recursos web limitados do Safari, e que, nesse caso, PWAs poderiam se tornar “concorrentes legais e não tributados” dos apps nativos

Há uma solução técnica, mas a implementação foi adiada

  • A Apple reconhece que há uma forma técnica de resolver os problemas de segurança e privacidade de apps web que usam motores de navegador alternativos
  • No entanto, para isso seria necessário construir uma arquitetura de integração totalmente nova, que atualmente não existe no iOS
  • A Apple afirma que a conformidade com o DMA já exigiu “mais de 600 novas APIs e diversas ferramentas para desenvolvedores”, e que, como o uso de apps web na tela inicial é muito baixo, construir essa arquitetura não seria prático
  • Como o DMA é uma regulamentação que vinha sendo preparada há anos, não foi uma situação em que a Apple não pudesse prever essa mudança

Conflito entre a alegação de baixo uso e a perspectiva de crescimento das PWAs

  • A Apple considera pequeno o impacto da redução de recursos, citando o baixo uso de apps web na tela inicial
  • No entanto, no passado, a Apple adicionou recursos para que PWAs pudessem funcionar como apps nativos e ser distribuídas facilmente fora da App Store
  • As projeções para o mercado de PWAs apontam em outra direção em relação ao argumento de baixo uso da Apple
    • Analistas estimam que o mercado de PWAs chegará a US$ 10,44 bilhões em 2027
    • A taxa média de crescimento anual é de cerca de 31,9%
  • Se motores de navegador alternativos puderem tornar PWAs mais úteis, apps web podem se tornar uma ameaça direta ao negócio da App Store
  • A Apple não respondeu separadamente a pedidos de comentário sobre a decisão envolvendo PWAs, optando por publicar uma explicação em seu site sobre o DMA

1 comentários

 
GN⁺ 2024-02-19
Opiniões no Hacker News
  • Ele está certo. A Apple vem reprimindo há anos o avanço dos apps web no iOS, tentando manter a taxa de 30% ao impedir que apps web concorram com apps nativos da App Store
    Agora que a Apple precisa permitir engines de navegador de terceiros, os apps web poderiam ficar muito mais poderosos, mas a Apple decidiu não aceitar isso e preferiu desativar um recurso útil para todos
    Acho que isso vai sair pela culatra, e reduzir a própria funcionalidade para prejudicar concorrentes só vai aumentar a antipatia de usuários, empresas, desenvolvedores e legisladores. A proposta de conformidade com o Digital Markets Act também está mais para não conformidade; o DMA exige interoperabilidade livre, mas a Apple colocou uma taxa extremamente anticompetitiva. Se isso for removido, desenvolvedores poderão distribuir livremente os apps nativos que quiserem, e neste momento muitos desenvolvedores provavelmente migrariam para outras lojas de apps

    • Eu queria concordar, mas o público em geral realmente não se importa com recursos como apps web na tela inicial. Fora do HN, a maioria das pessoas nem sabe o que é isso
      As pessoas simplesmente vão à App Store e baixam um app aleatório de um site, e não se importam mesmo que ele seja apenas um app de navegador renderizando um site. Para haver um boicote à Apple, ela teria que remover algo com que as pessoas realmente se importam
    • Para reforçar esse argumento, mostrei o neal.fun ao meu filho esta manhã, e ele perguntou: “dá para facilitar o acesso a isso?”; respondi: “deve haver um jeito de fixar na tela inicial”
      Mesmo sabendo que esse recurso existe, e até já tendo escrito código com suporte a ele, levei quase 5 minutos para encontrar o botão. Esconder isso na folha de compartilhamento é muito idiota
    • Não acredito que a Apple esteja “estrangulando” o Safari para proteger a App Store e a taxa de 30%
      A Apple liderou muitos recursos da web que fazem a web parecer mais com apps nativos, e em vários casos criou especificações ou adotou antes dos outros. Coisas como backdrop-filter, position: sticky e pontos de snap em CSS, na minha opinião, contribuem muito mais para fazer sites parecerem apps nativos do que recursos como WebMIDI
      As respostas recentes relacionadas ao DMA têm muito de conformidade maliciosa e mesquinharia, mas não acho que a remoção de favoritos sem chrome na tela inicial tenha sido uma delas. Foi mais como uma interpretação estrita da regra e, como eles não tinham grande apego ao recurso, simplesmente o removeram
      A Apple parece ter uma filosofia e prioridades diferentes para a plataforma web, valorizando mais privacidade, desempenho e eficiência do que o Chrome
    • Tenho dificuldade em concordar com a interpretação de que “o DMA exige interoperabilidade livre e a Apple impôs uma taxa extremamente anticompetitiva”
      Nos comentários que li, muitas pessoas querem que o DMA exija interoperabilidade gratuita, mas não sei se ele realmente faz isso. Pelo contrário, ele parece permitir de forma razoavelmente explícita que gatekeepers continuem cobrando pelo acesso
      O considerando 62 começa com “No que diz respeito às lojas de aplicações de software, aos motores de pesquisa em linha e aos serviços de redes sociais em linha enumerados na decisão de designação, os gatekeepers deverão publicar e aplicar condições gerais de acesso justas, razoáveis e não discriminatórias”, então esse item trata de lojas de apps
      O segundo parágrafo começa com “Os preços ou outras condições gerais de acesso deverão ser considerados injustos se conduzirem a um desequilíbrio entre os direitos e as obrigações impostos aos utilizadores profissionais, se conferirem ao gatekeeper uma vantagem que seja desproporcionada em relação ao serviço prestado pelo gatekeeper aos utilizadores profissionais, ou se causarem uma desvantagem aos utilizadores profissionais na prestação dos mesmos serviços ou de serviços semelhantes aos oferecidos pelo gatekeeper”
      Para mim, essa redação parece indicar que ao menos se contempla a possibilidade de cobrança. Gostaria de saber onde em https://eur-lex.europa.eu/eli/reg/2022/1925/oj ele exige “interoperabilidade gratuita”
      Se você está falando do artigo 6.7, eu discordo. Na minha opinião, ele trata apenas de coisas como acesso a SDKs, especificações de portas do dispositivo e a capacidade de fazer chamadas de sistema iguais às dos aplicativos do gatekeeper
      O artigo 6.7 diz: “O gatekeeper deverá permitir aos prestadores de serviços e aos fornecedores de hardware, gratuitamente, a interoperabilidade efetiva e o acesso, para fins de interoperabilidade, aos mesmos recursos de hardware e software acessados ou controlados por meio do sistema operacional ou assistente virtual enumerado na decisão de designação nos termos do artigo 3.º, n.º 9, que estejam disponíveis aos serviços ou hardware fornecidos pelo gatekeeper. Além disso, o gatekeeper deverá permitir aos utilizadores profissionais e aos prestadores alternativos de serviços prestados juntamente com, ou em apoio a, serviços essenciais de plataforma, gratuitamente, a interoperabilidade efetiva e o acesso, para fins de interoperabilidade, aos mesmos recursos de sistema operacional, hardware ou software que estejam disponíveis ou sejam usados pelo gatekeeper ao prestar esses serviços, independentemente de esses recursos fazerem parte do sistema operacional”
    • Eu sempre fui contra apps web e a favor de apps nativos
      Mas, vendo medidas como essa e o rumo que a Apple está tomando com o SwiftUI, estou ficando interessado em apps web de novo
  • Do ponto de vista da Apple, é extremamente conveniente que recursos de segurança se sobreponham a comportamentos anticompetitivos
    Quando alguém diz “não quero ficar preso a um fornecedor”, a Apple imediatamente vira isso para “então você não quer segurança?”
    Mas muitas vezes isso é uma falsa dicotomia criada pela Apple. É bom analisar e rejeitar apps para impedir fraudes e malware, mas a Apple juntou isso a rejeitar apps porque usaram a palavra “Android” ou a fazer a curadoria que ela quer
    A interface de assinatura de um toque oferecida por padrão é segura e conveniente para o usuário, mas, graças ao duopólio móvel e ao controle da plataforma, a Apple pode cobrar as taxas que quiser. A Apple fala como se permitir outros processadores de pagamento levasse as pessoas a sites suspeitos em que não seria possível cancelar assinaturas nem obter reembolsos, mas isso também é uma falsa dicotomia criada pela Apple. Ela poderia exigir que processadores de pagamento alternativos se integrassem à API de gerenciamento de assinaturas do iOS, e já oferece suporte ao PayPal como backend
    Neste caso também, o fato de abrir APIs internas a terceiros sem proteções ser arriscado funciona de modo conveniente demais para a Apple. Mas não há necessidade de executar navegadores de terceiros sem sandbox, nem de permitir que qualquer app crie ícones na tela inicial à vontade. Adicionar à tela inicial já é uma ação do usuário via planilha de compartilhamento e é mediada pelo sistema operacional. O navegador, de qualquer forma, deveria estar dentro de uma sandbox, e os web apps já tinham permissão para rodar em tela cheia
    Isso não é simplesmente a falta de um recurso. Durante anos, a Apple afirmou que a App Store não era obrigatória e que qualquer um poderia criar web apps. Por causa das limitações do Safari, isso já não era totalmente verdade desde o início, mas agora virou simplesmente uma farsa

    • Há um número infinito de pessoas dispostas a arrumar desculpas em nome da Apple. No caso recente do LastPass, John Gruber escreveu algo nesse estilo
      “Em vez disso, o app fraudulento LassPass induz o usuário a assinar uma conta ‘pro’ por US$ 2 por mês, US$ 10 por ano ou US$ 50 vitalícia. Para um app fraudulento, é na verdade um preço baixo. Muitos apps fraudulentos tentam cobrar algo como US$ 10 por semana”
      Além disso, sem ter como saber, ele afirmou que “não parecia ter sido feito para roubar credenciais do LastPass”. O texto inteiro tinha um tom de “sim, é ruim e não deveria acontecer, mas também não é grande coisa. Por que cobrar tanto da Apple?”
    • Se você seguir a lógica da Apple ao pé da letra, tudo vira a dicotomia segurança ou abertura, e essa nuance se perde
    • Às vezes também precisamos de segurança contra o fornecedor. Linux é o único sistema operacional que não usa dark patterns para fazer você criar uma conta na nuvem
  • Será que a Apple acha que esse tipo de brincadeira vai provocar uma reação contra a regulação da UE?
    Cada vez que leio uma nova palhaçada dessas, meu sangue ferve, e minha postura contra a Apple e outras gigantes anticompetitivas só fica mais dura

    • A Apple é uma empresa péssima, mas tem produtos muito bons e marketing muito bom, e esse marketing encantou muita gente a ponto de reduzir seu discernimento
    • Não entendo por que seu sangue ferve. Existe a opção de evitar completamente a Apple e impedi-la de interferir na sua vida, e é uma escolha fácil. Basta não comprar os produtos
      As coisas que deveriam fazer seu sangue ferver são as que você não consegue evitar facilmente na vida. No fim das contas, isso é só um telefone e um computador, e você está gastando paixão em algo completamente sem sentido
  • Eu gostaria que as pessoas que reclamam da Apple, em vez de ficar choramingando, fizessem uma greve e parassem de desenvolver para hardware da Apple
    Melhor ainda seria criarem o próprio hardware, livre de todo esse peso de software; muitas das empresas que reclamam valem bilhões de dólares e poderiam bancar isso
    Claro que elas não farão isso, porque também querem dinheiro como a Apple. Ainda assim, se Spotify, Epic etc. deixassem de dar suporte a dispositivos iOS, a Apple consideraria mudar seu comportamento

    • Não sei quanto a criar hardware próprio, mas é estranho continuar comprando iPhone e desenvolvendo para iOS enquanto reclama
      Se desenvolvedores e usuários migrarem para Android, a Apple vai mudar. Android é realmente tão ruim assim que alguém precisa ser forçado a usar iOS?
    • Este é um mercado de o vencedor leva tudo. Ninguém compra vários hardwares para acessar vários softwares
      É como ninguém gostar de manter 5 assinaturas para acessar Netflix, HBO, Prime, Disney e Hulu. Já é um milagre que haja pelo menos um duopólio em vez de um monopólio
    • Nada disso é problema. Tudo é assim mesmo
      Essas pessoas não assumem nem um pingo de responsabilidade e simplesmente continuam comprando a droga do negócio
  • Para mim, a parte essencial é: “agora os web apps funcionam como favoritos de sites, sem suporte a armazenamento local, badges, notificações e janelas dedicadas”
    O acesso pela tela inicial não foi completamente bloqueado. Meu web app simples consegue viver sem notificações e armazenamento local
    Mas muita gente precisa de progressive web apps, então entendo que essa mudança seja especialmente maldosa para elas
    Isso é claramente uma maldade descarada da Apple, então parece que chegou a hora de trocar o hardware no bolso para apoiar software justo e amigável

    • Na minha definição, um app é uma experiência de usuário independente
      Um site em modo standalone é um “app” web, mas se não for possível remover a barra do navegador mesmo que o site use todos os recursos modernos da web, então web apps não são possíveis no Safari. É apenas um atalho para um site em modo de aba
      Além disso, ainda não sabemos quais recursos web a Apple planeja proibir em sites, nem se isso também será proibido em navegadores concorrentes
      Também não está claro se sites offline que usam cache por service worker serão possíveis. Segundo alguns testadores da versão beta, parece que isso foi desativado
      Pessoalmente, o armazenamento local pode não ser importante para você, mas é preciso pensar no tamanho da desvantagem para a programação web se a Apple apagar o armazenamento local sem permissão do usuário, como faz em abas do Safari
      A falta de garantia para o futuro é um dos maiores problemas. Isso porque programação web é uma estratégia que empresas escolhem agora para poder lançar bons web apps daqui a 2 ou 3 anos
  • Supondo que a Apple tivesse deixado os PWAs sem nenhuma alteração, ou seja, hardcoded no Safari, a Mozilla ou a Microsoft não teriam processado ou questionado imediatamente a Apple por violação do DMA, alegando que não poderiam executar seus próprios motores de navegador a partir dos ícones da tela inicial adicionados pelo usuário?
    Nesse caso, manter os PWAs existentes como estavam significaria assumir o risco de multas astronômicas na UE, não?

    • O jeito correto deveria ter sido este:
      Se os desenvolvedores de iOS são tão ruins assim, era só pagar os desenvolvedores de macOS para implementar as mudanças necessárias em um fim de semana. Os dois sistemas operacionais são da família Unix, o macOS certamente permite isso, e a Apple teve anos para resolver
      Se a Apple quisesse usar a carta do “é difícil demais”, teria de demonstrar, nos termos do DMA, por que isso seria um fardo tão grande. Mas, na prática, não é, então ela não conseguiria provar. Ainda assim, poderia ter negociado com a UE para obter uma exceção e não quebrar os web apps do Safari até que todos os navegadores web estivessem prontos para usar web apps no iOS
      O que ela fez de fato foi quebrar todos os web apps do iOS que só funcionavam no Safari, brigar mais um ano com a UE e, se perdesse, voltar a permiti-los
      Dá para dizer que isso não é maligno? Ela está fazendo isso porque os usuários que usam web apps hoje são minoria
    • Fora a falta de vontade, não há nada impedindo que PWAs sejam acessíveis em outros navegadores
    • A Apple teve 15 anos para lidar com a questão dos motores de navegador alternativos e, enquanto isso, ficou ganhando rios de dinheiro com a cabeça enfiada na areia
      Alegar que é difícil cobrir todos os casos em poucos meses só cria uma desculpa para o fato de terem enrolado por tanto tempo
  • Digamos que eu queira criar um pequeno dashboard para meu servidor doméstico, que possa ser visto em tela cheia no iPhone. Se eu moro na UE, como devo adicioná-lo à tela inicial?
    Como é para um servidor local, não passaria na revisão, então não posso publicá-lo na App Store mesmo que quisesse. Builds locais de debug também expiram depois de mais ou menos uma semana. O que dá para fazer nesse caso?

    • Respondendo literalmente: de agora em diante, não compre produtos da Apple. Ou continue comprando esperando que a regulação mude as APIs da Apple
      Não estou tentando defender a Apple. Sou contra muitas decisões que limitam o que posso fazer com o hardware que comprei, incluindo a política de “só WebKit”. Ainda assim, como tenho algum entendimento do estado atual dos produtos da Apple, tenho um pouco de dificuldade em sentir empatia por alguém que comprou um iPhone esperando esse tipo de interoperabilidade personalizada
      Usuários não técnicos têm muito menos probabilidade de querer esse nível de personalização, e usuários técnicos deveriam saber melhor
      Dito isso, eu realmente gostaria que isso mudasse. Seria bom se fosse razoável considerar hardware de uso geral como algo realmente útil para finalidades gerais
    • Não há como
      PWA é perfeito para apps privados e internos. Na Europa, parece que muitos provedores de saúde usam PWAs para oferecer atendimento a pacientes. A Apple acabará quebrando esses apps e destruindo dados de usuários armazenados sem aviso
    • Se você precisa de coisas como notificações, parece que deu azar. Se não precisa, é só adicionar à tela inicial
      Afinal, não passa de um link para uma página web
    • Eu também estava me perguntando a mesma coisa. Quero saber exatamente o que quebra
      Nunca implementei um PWA e também não sou usuário da Apple, então posso estar perdendo o contexto. Ainda assim, parece uma boa forma de desenvolver um app simples multiplataforma
      Pelo que entendi, PWAs não abrem mais em tela cheia nem parecem apps nativos; agora abrem como um bookmark dentro do navegador
      Mas, se é apenas uma página web, ela ainda deveria “funcionar”, não?
      Se a Apple quebrou a API de notificações, então notificações não funcionariam, mas muitos sites usam notificações. Por exemplo, aquele pop-up do WhatsApp Web para ativar notificações na área de trabalho também passa a quebrar?
      Quando dizem que não há armazenamento local, isso se refere ao sessionStorage/localStorage do JavaScript? Se isso for quebrado, muitos sites vão parar de funcionar. O armazenamento de cookies não é algo que possam quebrar de qualquer jeito, certo?
      O PWA pode não parecer um app polido, mas, para um dashboard pessoal simples, não parece ser um grande problema
    • Não entendi muito bem a parte “um pequeno dashboard para meu servidor doméstico, que possa ser visto em tela cheia no iPhone”. Não basta abrir a página web no Safari?
      As APIs HTML/JavaScript permitem tela cheia
  • A Apple disse que “web apps maliciosos podem ler dados de outros apps e acessar câmera, microfone e localização com consentimento do usuário”; a explicação é que, como as exigências do DMA a obrigam a permitir motores de navegador alternativos, ela reduziu a experiência de web apps no iOS para usuários da UE a fim de evitar riscos aos usuários
    Só que o acesso à câmera, ao microfone e à localização do usuário continua sendo possível. Muito curioso
    Com certeza vai haver alguém que acredite nessa lógica

  • Pelo que sei, a Epic não cria PWAs, então isso parece mais uma crítica genérica direcionada à Apple
    Apesar da posição dominante da Apple, simpatizo com o desejo de reduzir a superfície de ataque e remover um recurso usado por pouquíssimos usuários. PWAs ficam em um espaço ambíguo entre web apps comuns e apps completos. Web apps comuns, pelo que sei, também podem ser marcados na tela inicial, conseguem fazer cache de recursos com cabeçalhos HTTP E-Tag e Cache-Control, e também têm localStorage
    Não está claro qual é exatamente a vantagem de um PWA em relação a um web app comum. Ele consegue receber algo como push de servidor sempre ativo? Mas quantos usuários realmente querem isso?
    Pessoalmente, nunca usei nem criei um PWA. Se quero mirar iOS ou Android nativos, subo um projeto React Native como uma pessoa normal
    Gosto tanto quanto qualquer um de atacar as práticas monopolistas da Apple, mas este caso parece exagerado. PWAs são uma espécie de filho bastardo indefinido do desenvolvimento de web apps, e faz sentido abandonar o suporte para simplificar o sistema operacional e as APIs relacionadas

  • É irritante ver a conversa ser sempre sequestrada por pessoas sem moral para atirar pedras, e algo que nem precisaria ser polêmico virar uma “polêmica”

    • Há algo a se pensar nas conversas do Hacker News dos últimos anos. Um número considerável de participantes, para participar, debate tomando como tema uma opinião contrária que interpreta mal ou distorce a intenção da mensagem original