Estudo de caso / 05
Onda Browser
O nosso próprio cliente: um browser para Linux
O Onda é um browser para Linux que desenhamos e construímos sobre o Helium: 77 patches, uma barra lateral e cada versão medida contra o Helium.
- Ano
- 2026
- Localização
- Pombal, Portugal
- Serviços
- Design de produto · Engenharia de browser · Marca e website
- Stack
- Chromium 157 · Helium 0.21 · Série de patches em C++ · Ferramentas em Python e shell

01 / Desafio
O desafio
Na maior parte dos dias construímos sites, identidades de marca e lojas online para outras empresas, e passamos esses dias dentro de um browser. Nenhum dos browsers que usávamos parecia algo que nós próprios tivéssemos lançado. Os bonitos eram pesados e os rápidos eram simples demais. No Onda, somos o nosso próprio cliente. O objetivo: um browser para Linux que mantém a velocidade e a privacidade do Helium e lhe junta uma barra lateral vertical, workspaces e uma barra de comandos flutuante, sem que a interface custe velocidade.
02 / Abordagem
A direção
A primeira decisão foi continuar a ser um browser a sério. O Onda é um fork do Helium, que a imput constrói a partir do Chromium e do ungoogled-chromium, e as alterações à interface são patches em C++ dentro do próprio browser. As regras do projeto excluem a passagem para Electron, para uma interface web ou para outra base. As alterações do Onda ficam numa série de patches própria, depois da do Helium, uma coisa por patch, e nunca mexem num patch do Helium, para que cada nova versão do Helium possa ser acompanhada. Cada decisão que marca o browser, da barra de comandos flutuante à organização da barra lateral, fica registada por escrito como decisão de arquitetura.
03 / Construção
O que construímos
O Chromium 157 e o Helium 0.21 estão fixados em versões concretas. O script de build descompacta o código-fonte, aplica com o quilt a série do Helium, a série para Linux e os 77 patches do Onda, e depois compila com GN e siso. Os patches estão organizados por área: 24 no núcleo, 52 na interface e um para Linux. Scripts em shell e Python tratam do build, dos pacotes e dos testes, e 36 scripts de teste verificam a interface. Só se afirma algo sobre desempenho com números do script de benchmark, que corre o Onda e a versão do Helium por baixo na mesma máquina, cinco execuções por versão. Uma das decisões de arquitetura elimina trabalho que o Helium faz no arranque e em cada troca de separador. O site do projeto foi desenhado a par do browser e não faz pedidos externos.
- Browser Chromium construído sobre o Helium 0.21
- Série de 77 patches para o núcleo e a interface
- Barra lateral, workspaces, barra de comandos, Glance, vista dividida e notas
- Execuções de benchmark contra a versão do Helium por baixo
- 27 registos de decisões de arquitetura
- Pacotes em AppImage, tarball, .deb e pacote Arch
- Marca e site do projeto
04 / Resultado
O resultado
- 77
- patches sobre o Helium
- 27
- decisões de design registadas por escrito
- 36
- scripts de teste da interface
- 207,6 ms
- até a janela ficar visível, contra 213,1 ms no Helium
O Onda não foi lançado. O que existe é um browser que funciona, a versão 0.9.5, em testes privados em Linux x86-64. Contra o Helium 0.21.1.1, mostra a janela ao fim de 207,6 ms em vez de 213,1 ms e troca de separador em 2,3 ms em vez de 2,6 ms; as duas diferenças estão dentro do ruído da medição. Com 50 separadores abertos usa 1760,9 MB, contra 1662,5 MB no Helium, mais 5,9 %, e esse número é publicado como os outros. Antes de uma versão pública ainda faltam builds assinados, atualizações automáticas e versões para Windows e macOS. Não há sincronização entre dispositivos, porque não há contas. O código-fonte e os patches ficam públicos com licença GPL-3.0 juntamente com a primeira transferência.
05 / Medições e tecnologia
Medições e tecnologia
- Base
- Chromium 157.0.8103.38, ungoogled-chromium e Helium 0.21.1.1 da imput
- Linguagens
- C++ nos patches, shell e Python para build e testes, HTML, CSS e JavaScript para o site
- Série de patches
- 77 patches em formato quilt, uma coisa por patch: 24 núcleo, 52 interface, 1 Linux; os patches do Helium ficam intactos
- Sistema de build
- GN e siso, quilt para a série de patches, versões upstream fixadas
- Testes
- 36 scripts de teste da interface; 229 testes em Python e 138 em C++ para o sistema de mods
- Benchmarks
- Cada versão contra a versão do Helium em que assenta, mesma máquina, n=5 por versão, medianas
- Licença
- GPL-3.0
- Site
- Sem pedidos externos: sem CDN, sem fontes remotas, sem analytics



Projetos