4 pontos por GN⁺ 2024-06-27 | 1 comentários | Compartilhar no WhatsApp
  • One Million Checkboxes é um site que transforma 1.000.000 de caixas de seleção em uma experiência de tela única, e no momento todas as caixas aparecem marcadas
  • A mensagem no topo, "we checked every box!", informa imediatamente que todas as marcações foram concluídas
  • Mesmo após a conclusão, ainda é possível continuar no modo “jogar sozinho”, então não é apenas uma tela de resultado simples: ainda há interação
  • A quantidade marcada pelo usuário atual é exibida como "You checked 0 boxes", separando o estado de conclusão global do progresso individual
  • Na tela, a ação Jump! e a lista de caixas marcadas continuam aparecendo, permitindo ver diretamente os vestígios desse experimento de caixas de seleção em larga escala

Estado de conclusão total

  • One Million Checkboxes exibe 1,000,000 boxes are ✅
  • A frase “🎉 we checked every box! 🎉” mostra que todas as caixas de seleção estão marcadas

Jogo que continua mesmo após a conclusão

  • Mesmo depois de todas as caixas estarem marcadas, há a orientação “but you can still play alone if you'd like”
  • A contagem atual do usuário é exibida como 0 boxes

Elementos visíveis na tela

  • A página contém o texto Jump!
  • No corpo, itens de caixas de seleção marcadas são exibidos repetidamente

Criador

  • O site é apresentado como um website criado por eieio

1 comentários

 
GN⁺ 2024-06-27
Comentários no Hacker News
  • Do ponto de vista do desenvolvedor, isso ficou muito mais popular do que o esperado, então por um tempo o servidor vai sofrer bastante

    • Há um problema sério na implementação. As quebras de linha mudam conforme o zoom/largura da tela, então mesmo que eu escreva um rabisco de boobs, outras pessoas não conseguem ler direito se não estiverem com os mesmos pontos de quebra
    • Isso me lembra muito aquelas ferramentas antigas de desfragmentação. Dá vontade de deixar aberto em segundo plano só pela nostalgia: https://www.youtube.com/watch?v=KR3TbL3Tl6M
    • Postei no FediVerse e, 4 horas depois, já tinha quase 700 boosts, além de ter chegado ao Reddit em 2 horas. Também respondi diretamente no post do Reddit, então dá para ver que esse pico inicial de tráfego era inevitável
    • “Mais popular do que o esperado”? Aqui no HN todo mundo sabe o que importa
    • Subi mais 5 servidores e empurrei algumas otimizações, então por enquanto acho que vai dar para aguentar
  • À pergunta de por que fez “um milhão de checkboxes que qualquer um pode marcar”, veio a resposta de que a ideia surgiu numa conversa na sexta passada e, por algum motivo, pareceu que precisava ser feita. O melhor motivo :)

    • Era idiota demais para não ser feito
  • No começo eu estava clicando na parte de cima, mas as pessoas continuavam desfazendo o que eu fazia. Fiquei pensando por que não conseguimos cooperar em paz para marcar tudo de uma vez
    Desci mais na página achando que ali haveria menos conflito, e por um tempo fiquei sozinho; era um trabalho tedioso e sem sentido, mas pacífico
    Aí encontrei alguém marcando como eu, mas a pessoa sumiu em menos de 5 segundos, e enquanto eu continuava rolando e marcando, quando voltei um pouco para cima havia caixas desmarcadas aleatoriamente. Não vi ninguém desmarcando, então parece que existe um fantasma desmarcador

    • Por que destruir? Eu só estou tentando devolver as checkboxes ao seu estado natural original
    • Fui para um ponto aleatório bem embaixo para tentar escrever HELLO com marcações, mas antes de terminar o H alguém apareceu e estragou tudo. Fiquei pensando se esse livro-caixa de arte de um milhão de checkboxes está condenado a desmoronar em loucura
      Não importa quanto eu role a página, não há nada identificável, só um deserto sem significado. É puro caos
    • É estranhamente um espelho de nós mesmos perceber que eu estava agindo com exatamente a mesma intenção e método
      Provavelmente não éramos só nós. Deve ter havido muita gente marcando diligentemente linha por linha, ou em outros padrões regulares, para acalmar o goblin na cabeça que gritava por ordem
      Se eu tivesse entrado na página e visto tudo marcado, teria sentido satisfação e saído deixando aquele estado perfeito intacto, então é realmente difícil ter empatia com os malucos que querem destruir essa beleza para escrever “boobs” ;)
  • Tentei $$('input[type=checkbox]').forEach(elt => elt.click()); e apareceu o alerta "CHILL LOL". Site divertido

    • Agora é hora de usar um script em Playwright
      Basta abrir o navegador com chromium, entrar na página, encontrar todos os input[type=checkbox] e clicar neles
      Mesmo assim, estou meio orgulhoso de ter conseguido acionar o alerta “CHILL” só clicando insanamente com o dedo, sem rodar script nenhum
    • Você tem que enviar 42["toggle... direto pelo WebSocket. Claro, se quiser evitar inverter o estado em vez de desmarcar, primeiro precisa verificar quais caixas já estão marcadas
    • Fiquei pensando se haveria um jeito de enganar isso para aceitar um JavaScript que marque todas as caixas
    • document.querySelectorAll("input[type=checkbox]").forEach(i => { i.checked = false; }); parece funcionar por um instante, e nem dispara alerta
  • Todas as caixas devem ser marcadas. As pessoas que estão desmarcando deveriam repensar suas escolhas e vir para o lado dos marcados

    • Plot twist: para metade das pessoas está aparecendo invertido
    • Foi essa postura de “os dois lados são iguais” que nos trouxe a esta situação em primeiro lugar. Em novembro, vote em Unchecked
    • Marquei 1.000, ou seja, 0,1%, com as próprias mãos e considero que fiz minha parte. Fiz isso sem script, só com trabalho/algoritmo humano puro
      Até daria para fazer de 2 a 5 vezes mais rápido com um script JS simples, mas provavelmente há limite de velocidade, e isso também não combinaria com o espírito dessa coisa estranha
      Lembra Curiosity, do Peter Molyneux: https://en.wikipedia.org/wiki/Curiosity%3A_What%27s_Inside_t...
    • Tire as mãos da minha caixa. Quanto mais caixas marcadas, menos liberdade existe, então sou a favor de deixar algumas desmarcadas. Ainda mais se for uma caixa com meus pertences particulares
    • Reconsiderei, e agora estou do lado da gangue do desmarque
  • Citações de que gostei: “é absurdamente satisfatório, tipo um MMO de estourar plástico-bolha”, “um brinquedo antiestresse para o mundo inteiro”, “excelente! o servidor WebSocket deve estar fazendo brrr”
    https://x.com/itseieio/status/1805986839058079896

  • Fiz um userscript para automatizar a marcação no Tampermonkey. A ideia é encontrar todas as checkboxes em https://onemillioncheckboxes.com/, marcar as que estiverem desmarcadas e executar de novo sempre que o DOM mudar com MutationObserver

    • Sinceramente, isso parece destruir o próprio propósito do site
    • Acho que esse método não vai funcionar com 1.000.000 de checkboxes. Melhor usar requestAnimationFrame, ou buscar só as desmarcadas com querySelectorAll('input[type="checkbox"]:not(:checked)'), ou não chamar checkAllCheckboxes a cada mudança
      Ou então usar querySelector('input[type="checkbox"]:not(:checked)') para pegar uma por vez e processar em um loop tipo while(true)
  • Acho que a grade de checkboxes deveria ter sido fixada em uma largura específica. Dá para ver que as pessoas estão tentando desenhar, mas na minha tela parece torto

    • Do ponto de vista de quem fez o site, isso foi proposital. Já existem experimentos demais de arte colaborativa na internet com canvas fixo e fácil de desenhar, então quis ver o que sairia se tentasse algo um pouco diferente
      Claro, pode ser uma ideia idiota, mas eu queria testar
    • Que pena. O enorme pênis que desenhei só aparece na largura exata que eu tinha ajustado. Fico imaginando quantos desenhos aleatórios estou perdendo
      Como também leva um tempo para reorganizar tudo, não é tão fácil redimensionar a janela e ver em tempo real o que as pessoas estão fazendo
    • O fato de você ter que “escanear” para reconhecer imagens é justamente parte da diversão. E também significa que o autor pode escolher a largura da própria obra
      Como muita gente usa larguras de tela parecidas, no fim as combinações não são tantas quanto parece
  • Trabalho muito legal. Fico até com inveja porque gostaria de trabalhar escalando algo rapidamente e vendo esse tipo de experimento ser usado por tanta gente. Mas meu cérebro está torrado de tanta besteira corporativa e minha criatividade está no porão
    Ainda me pergunto onde dá para encontrar uma empresa em que eu consiga trabalhar sem desperdiçar 90% do tempo com reuniões e documentos
    Talvez seja de tanto clicar, mas em vez de morrer em silêncio e sofrimento, minha cabeça está sendo derramada aqui :D

    • Esse sentimento é muito comum, e eu mesmo comecei a escrever sobre essa sensação de fundo do poço
      A resposta é: se não é a sua resposta, então simplesmente não é. As pessoas se dividem em dois tipos. As que não são dominadas pelo trabalho e as que são. Se você é dominado, fica difícil fazer qualquer outra coisa sem negligenciar o trabalho
      Na maioria dos empregos, 90% é reunião e documentação. Isso é mais ou menos a própria definição de emprego. Startup é exceção, mas aí o trabalho definitivamente domina sua mente
      Minha criatividade também ficou no porão durante cerca de um ano. Essas fases acontecem. É melhor não lutar à força e tentar ser feliz. Na minha experiência, foi o único caminho para recuperar a criatividade
    • Hoje em dia, isso parece mais próximo de uma startup em estágio inicial ou então de montar sua própria empresa desde o zero. Estou na mesma situação, mas projetos paralelos ajudam a aguentar
    • Por que você não cria isso você mesmo?
  • O trabalho de desmarcar todas essas caixas é um trabalho que ninguém vai reconhecer