Uma demonstração no navegador para cada produto, e uma escada de quatro degraus que a mantém honesta
Onze produtos, onze demonstrações, e a parte incómoda: duas delas executam o próprio código do produto, e dizer quais duas é o ponto todo.
Nota técnica · · 7 min de leitura
Cada produto deste catálogo tem algo que pode executar neste navegador, sem instalar nada e sem conta. É a frase mais forte deste sítio e também a que mais facilmente deixaria de ser verdade sem ninguém notar, porque acrescentar um produto leva uma tarde e construir a sua demonstração não. Por isso não é uma frase que alguém mantenha à mão: um teste conta os produtos, conta as demonstrações construídas e faz falhar a compilação se um produto chegar sem uma. Falhou três vezes na semana em que aterraram os últimos três produtos, antes de passar.
A parte difícil nunca foi construí-las. Foi rotulá-las.
A palavra «jogável» carregava duas afirmações diferentes
O primeiro conjunto de rótulos era Jogável, Protótipo interativo e Demonstração guiada. Isso parece uma escala de interatividade, e é — razão exata por que estava errado. A pergunta que quem visita faz de facto não é «posso clicar nisto». É «alguma coisa disto é a real». Jogável cobria tanto as demonstrações que executam o próprio código do produto como aquela que reproduz as suas gravações áudio publicadas, e não são de modo algum a mesma afirmação.
Há agora quatro degraus, e cada demonstração diz em qual está:
- Código real do produto — o próprio código do produto, incorporado sem alterações, com o SHA-256 da cópia registado ao lado.
- Materiais reais do produto — o material publicado do próprio produto: gravações, sprites, ficheiros de conteúdo, a mover um ciclo escrito aqui.
- Recriação interativa — uma mecânica reconstruída aqui, a usar o conteúdo real do produto onde quer que exista.
- Demonstração guiada — um percurso. Nada é calculado, e di-lo.
«Código real do produto» significa algo precisamente porque «Demonstração guiada» é usada com honestidade um produto adiante. Hoje há duas demonstrações no degrau de cima. Esse número é derivado do catálogo de demonstrações em vez de escrito numa frase, pela mesma razão que todos os outros números daqui.
O que uma impressão digital prova de facto
Uma demonstração do degrau de cima incorpora o código do produto neste repositório sem o alterar e registra a sua impressão. Um teste recalcula a impressão em cada compilação. Se alguém editar a cópia incorporada para que uma demonstração se porte melhor num telemóvel, a compilação falha — exatamente a proteção para que foi construída.
A 30 de setembro, o ZUPI publicou um jogo novo na App Store. Um jogo diferente: um Pulse Shield seguro sobre um Pulse Core, ameaças blindadas, um Warden a cada cinco níveis. O jogo cujo motor estava incorporado aqui era o anterior — um balão vermelho debaixo de um guarda-chuva — e a verificação da impressão passou em todas as compilações durante esse tempo, porque a cópia continuava a ser uma cópia fiel do repositório de onde veio.
Uma impressão prova que uma cópia é fiel ao repositório de onde veio. Não pode provar que esse repositório continua a ser o produto.
Durante três dias este sítio executou o jogo errado debaixo de uma frase que dizia «o mesmo motor que as compilações iOS e Android usam». Nada estava quebrado. Todas as verificações estavam verdes. O motor incorporado está apagado e a demonstração do ZUPI é uma Recriação interativa, escrita a partir da ficha da loja e rotulada como tal — uma afirmação mais fraca, e verdadeira.
O degrau que é mais interessante do que o de cima
O Forgotten Town é um jogo em Flutter e Flame. Uma compilação dele não cabe numa página web com um peso que este sítio aceitasse, por isso o seu ciclo de fusão está escrito para o navegador. Tudo sobre o que esse ciclo opera é do jogo: o tabuleiro, a cadeia, os sprites, e a primeira encomenda com o objeto que pede e as moedas que paga, lidos do ficheiro de conteúdo que a compilação publicada carrega em vez de reescritos.
A demonstração do Pivumo reproduz os próprios ficheiros de voz da aplicação, os publicados. A demonstração do Swarm Kingdoms fala as próprias cadeias do jogo, em qualquer das suas dez línguas que escolha, e recorre ao inglês exatamente como a função de localização do próprio jogo faz — porque uma demonstração que mostrasse uma chave em bruto onde o jogo mostra inglês estaria a mostrar um erro que o produto não tem. Uma tradução escrita para este sítio seria uma afirmação pior sobre o produto do que as próprias palavras do produto.
Um robô joga-as todas antes de um lançamento
Uma demonstração que deixa de terminar em silêncio é pior do que nenhuma, por isso cada uma é conduzida num navegador real antes de uma implantação: arrancar, interagir, chegar a um resultado, reportar. Corre em várias línguas, porque uma demonstração pode quebrar numa e não nas outras.
Enganou-se sobre si mesmo duas vezes, e nas duas a correção estava no arnês. Uma vez deslocou a página em vez de jogar, porque a tecla que premia nunca chegava à tela com o foco. Outra perdeu todas as rondas de um jogo que devia ter ganho, e a versão sem ecrã das mesmas regras mostrou porquê: não estava a olhar para o ecrã. Dar a derrota por um teste instável teria sido a saída fácil e deixaria um robô que não sabe jogar a substituir uma visitante que sabe.
Quanto isto custa
Onze demonstrações são um imposto real sobre acrescentar um produto, e é pago de propósito. A alternativa é uma página de capturas e uma afirmação; e um estúdio que pede a uma desconhecida que acredite em onze afirmações sobre software que não pode abrir tem de ser acreditado em cada uma em separado. Uma demonstração é o único argumento que não precisa de ser acreditado.