1 pontos por GN⁺ 2025-07-07 | 1 comentários | Compartilhar no WhatsApp
  • Um desenvolvedor independente criou um sistema operacional baseado na web que recria a interface de usuário do Apple Lisa
  • O projeto se destaca pelos gráficos em preto e branco de 1 bit, algo interessante para entusiastas da computação retrô
  • Reproduz fielmente o design do Apple Lisa dos anos 1980, incluindo desktop, ícones e janelas de arquivos
  • Pode ser executado diretamente no navegador, sem necessidade de um processo de instalação complexo
  • Foi disponibilizado como código aberto, facilitando a customização e a expansão por outros desenvolvedores

Introdução ao projeto

  • Este projeto é o desenvolvimento de um OS web que permite experimentar diretamente, em ambiente web, a UI do sistema operacional desktop inicial do Apple Lisa
  • Usa gráficos de 1 bit (pure black & white) para oferecer uma experiência de usuário retrô
  • Recria um ambiente de desktop tradicional, com desktop, ícones, janelas e execução de apps
  • Embora não implemente todas as funções de um sistema operacional real, foca na reprodução do comportamento da UI e dos elementos visuais
  • Basta ter um navegador moderno para acessar imediatamente, o que reduz bastante a barreira técnica de entrada

Principais características

  • Imita com fidelidade o design da UI do Apple Lisa, lançado em 1983
  • Reproduz de forma convincente interações centrais da UI, como drag and drop, mover janelas e redimensioná-las
  • Oferece uma estética visual única com um estilo de gráficos de 1 bit, simples, mas refinado
  • Inclui elementos básicos de um sistema operacional desktop, como lista de apps, navegação de arquivos e execução simples de aplicativos

Uso e significado

  • É um excelente material de demonstração para computação retrô ou pesquisa em design de UI/UX
  • Até desenvolvedores iniciantes podem analisar o código-fonte para entender a estrutura de UI web e de layouts
  • Por ser distribuído como código aberto, a comunidade pode tentar adicionar funcionalidades ou modificar temas de várias maneiras

Outras observações

  • Sem qualquer processo de instalação complicado, pode ser executado diretamente na web por meio do link
  • O código-fonte é fornecido em repositórios públicos, como o GitHub
  • Este projeto não tem foco comercial, mas sim em experimentação e fins educacionais

1 comentários

 
GN⁺ 2025-07-07
Comentários do Hacker News
  • A Lisa não usava pixels quadrados, então a proporção do canvas foi definida com altura 1,5x em relação à largura. Em displays de alta resolução, isso fica bem legal porque cada pixel em si tem 2 pixels de largura × 3 pixels de altura, mas em displays de baixa resolução ele aparece como 1 pixel de largura × 1,5 pixel de altura, o que causa distorção. Isso foi uma concessão de projeto. Ainda assim, em displays de baixa resolução suficientemente grandes, se você aumentar bastante a largura da janela, entra em ação um recurso automático de escala inteira e os pixels passam a aparecer maiores. Também dá para forçar isso nas opções de display do app Preferences. Se você bagunçou as configurações de escala, pode redefini-las reiniciando o LisaGUI enquanto segura a tecla shift. E há também um pequeno bug de posicionamento do canvas relacionado a PWA no iOS; voltar o aparelho à orientação original depois de girá-lo resolve, mas continua sendo meio incômodo. Para fechar uma janela, basta dar duplo clique no ícone da barra de título para recolhê-la em forma de ícone

    • Fiquei curioso sobre como você lida com redimensionamento dinâmico de janelas ou de fontes, independentemente do tamanho do navegador. Em HTML isso normalmente é automático, mas queria entender como isso funciona neste projeto
  • Meu primeiro computador foi um clone de Apple ][/e ou /c (um Pravetz 8Ц búlgaro), e depois também usei PCs 286 e 386 com monitor monocromático Hercules, então esse belo UI retrô do projeto me trouxe de volta a nostalgia da era do Think-Pascal

  • Projetos peculiares de GUI da Lisa como este são exatamente o motivo de eu gostar do Hacker News. Dá para aprender bastante com JavaScript vanilla puro e com uma interface que estava à frente do seu tempo. Eu ainda acharia melhor se fosse adicionado aos demos/exemplos um jogo jogável na hora, tipo um jogo no estilo Breakout

    • Queria expressar meu grande agradecimento, e o próximo jogo que pretendo fazer é Solitaire. Também penso em algum dia fazer algo como Mazewar do Xerox Alto, especialmente como homenagem à Xerox, embora implementar a parte de rede não seja nada simples
  • Fiquei muito impressionado ao ver o estilo de texto com sombra e o editor fatbits no app Preferences. Mesmo removendo 40 anos de evolução de UX, continua parecendo produtivo e intuitivo. Só senti falta de um botão de fechar janela. O recurso de menus que ficam abertos com um único clique foi uma evolução muito boa que surgiu bem depois nessa trajetória de UX

    • Menus sticky são um recurso introduzido bem mais tarde. Nesta implementação eu os incluí de propósito porque os usuários modernos já estão acostumados. Funciona assim: você pode abrir o menu com um clique e deixá-lo aberto, ou mantê-lo pressionado e arrastar para abrir, soltando o botão do mouse para fechá-lo. Havia até uma extensão para Mac OS antigo (System 6) que permitia usar menus sticky, e aqui a ideia foi meio que retroagir esse recurso para uma era ainda mais antiga. E, complementando, para fechar uma janela basta dar duplo clique no ícone da barra de título

    • Existe mesmo a ação de fechar a janela com duplo clique no ícone do canto superior esquerdo. É algo como um atalho para File > Set Aside

  • Nunca usei uma Lisa por muito tempo, mas como técnico no começo dos anos 90 trabalhei com várias e até converti algumas em Mac XL. Este projeto reproduz a interface com altíssima fidelidade e proporciona uma experiência muito boa de explorar clicando

  • Eu nunca tinha usado nem mesmo um emulador de Lisa antes, então graças a isso tive essa experiência pela primeira vez. Foi um prazer que me fez revisitar as ideias fundamentais por trás das GUIs, e sou grato por isso

  • Eu pronuncio GUI soletrando cada letra separadamente. Não vejo necessidade de falar tudo junto como “gooey”. Meio brincando, meio falando sério, sinto uma certa camaradagem nisso

    • Sou da linha de que siglas e inicialismos devem todos ser pronunciados como palavras. TUI seria “tui”, CLI seria “cli”, TCP/IP seria “tiquipipi”, GPT seria “gipiti”, DNS seria “dãns”, HTTP seria “ritêtipe”, USB seria “iúzber” e USB-C seria “iúzberci”, como proposta bem-humorada

    • Essas pequenas disputas de pronúncia são muito mais divertidas do que discussões pesadas tipo política hoje em dia. Exemplos: vi vs emacs, vi vs vim, a pronúncia de IF, m68k vs x86, Mac vs Amiga, BSD vs Linux etc.

    • É bom encontrar alguém que pensa da mesma forma, uma sensação simpática de identificação

  • Ao usar o cursor do mouse no celular, acho bem prático o método do Microsoft Remote Desktop, em que você move o dedo em qualquer lugar da tela para controlar o cursor separadamente, em vez de tocar diretamente como se o dedo fosse o ponteiro. Fica a sugestão de melhoria

    • Isso já foi implementado. Se você ativar o modo trackpad no painel de opções de touchscreen nas Preferências, terá a mesma experiência de cursor por toque
  • Testei no celular e a responsividade é impressionantemente boa

    • Agradecimento pelo feedback de quem testou
  • No iPhone SE, com a tela pequena, não funcionou direito, então da próxima vez fiquei pensando que talvez uma atualização de hardware renda uma experiência de SO melhor