Retângulos com cantos arredondados estão por toda parte
(folklore.org)- Na época em que o QuickDraw para Macintosh ainda era chamado de LisaGraf, Bill Atkinson criou rotinas rápidas para círculos e elipses, e Steve Jobs queria expandi-las para uma forma mais útil na UI
- Na época, o processador 68000 não tinha ponto flutuante, e multiplicação e divisão também eram lentas, então Bill escolheu uma forma de calcular círculos usando apenas adição e subtração
- A demonstração de elipses era muito rápida, mas Steve convenceu Bill mostrando exemplos reais dentro e fora da sala, dizendo que “retângulos com cantos arredondados estão por toda parte”
- Bill, que no começo achava desnecessário e difícil, resolveu verificar novamente a dificuldade da implementação depois de ver uma placa com cantos arredondados
- A demonstração apresentada no dia seguinte funcionava a uma velocidade próxima à de retângulos comuns, e os RoundRects depois se tornaram um elemento gráfico essencial da UI do Macintosh
Uma demanda que começou com rotinas rápidas de elipse
- Bill Atkinson trabalhava principalmente de casa, mas, quando havia algum avanço significativo, corria até a Texaco Towers, onde ficavam os escritórios do Macintosh da Apple, para mostrá-lo
- O objetivo dessa visita era demonstrar as novas oval routines, e o QuickDraw, na época, ainda era chamado de LisaGraf
- Bill havia adicionado código para desenhar círculos e elipses muito rapidamente e mostrou a tela do Lisa sendo preenchida com elipses de tamanhos aleatórios
As limitações do 68000 e o método de cálculo
- Desenhar círculos rapidamente no Macintosh não era fácil por causa das limitações de hardware da época
- O cálculo de círculos normalmente exige raiz quadrada
- O processador 68000 do Lisa e do Macintosh não tinha suporte a operações de ponto flutuante
- A multiplicação e a divisão no 68000 também não eram rápidas
- Bill usou um método que processava tudo apenas com adição e subtração, sem multiplicação nem divisão
- A ideia central era a propriedade de que a soma de uma sequência de números ímpares resulta no próximo quadrado perfeito
- Ex.:
1 + 3 = 4 - Ex.:
1 + 3 + 5 = 9 - Ex.:
1 + 3 + 5 + 7 = 16
- Ex.:
- Usando essa propriedade, ele rodava um loop até ultrapassar um valor-limite e decidia quando incrementar o valor da coordenada dependente, permitindo ao QuickDraw desenhar elipses muito rapidamente
O pedido de Steve Jobs por retângulos arredondados
- Quando a demonstração de Bill rodou muito mais rápido do que o esperado, Steve Jobs perguntou se seria possível desenhar não só círculos e elipses, mas também retângulos com cantos arredondados
- Bill respondeu que não tinha um método para implementar isso, que seria muito difícil e que, na prática, nem era necessário
- Steve disse que “retângulos com cantos arredondados estão por toda parte” e imediatamente apontou exemplos dentro da sala
- Quadro branco
- Algumas escrivaninhas e mesas
- Ele acrescentou que, pela janela, também havia mais exemplos em quase qualquer direção que se olhasse
Exemplos do mundo real impulsionaram a implementação
- Steve convenceu Bill a dar uma breve volta pelo quarteirão e foi apontando, um a um, os retângulos com cantos arredondados que chamavam atenção
- Quando os dois passaram por uma placa de proibido estacionar com cantos arredondados, Bill mudou de ideia
- Bill voltou para casa para trabalhar, dizendo que verificaria se era mesmo tão difícil quanto imaginava
RoundRects se tornam um elemento básico da UI
- Bill voltou à Texaco Towers na tarde seguinte e mostrou uma nova demonstração, na qual os retângulos com cantos arredondados eram desenhados de forma bonita e muito rápida
- A velocidade era quase igual à de desenhar retângulos comuns
- Ao adicionar esse código ao LisaGraf, Bill deu ao novo elemento gráfico básico o nome de RoundRects
- Nos meses seguintes, os roundrects foram incorporados a várias partes da interface de usuário e logo se tornaram indispensáveis
1 comentários
Comentários do Hacker News
O Windows usou cantos arredondados nos botões do 1.0 ao 3.11, depois mudou para cantos retos até a UI temática do XP, no XP voltou a ficar levemente arredondado, no 8 ficou reto de novo e no 11 voltou a arredondar
https://user-images.githubusercontent.com/7389110/64139289-3...
Mesmo assim, eu ainda prefiro cantos afiados
O Windows 10 também foi bem legal, mas o problema é a bagunça total, especialmente ao navegar pelas configurações, como se você entrasse num mundo onde paradigmas de UI completamente diferentes aparecem do nada e se misturam
Curiosamente, já fiquei em um hotel no Leste Asiático, talvez em algum lugar com influência tibetana, e lembro que todos os cantos do quarto eram arredondados. Simplesmente parecia melhor e mais confortável. No Ocidente, chamar um artesão para arredondar todos os cantos de um cômodo sairia caríssimo, e até daria para fazer com gesso, mas dificilmente duraria mais de 10 anos e provavelmente não aumentaria o valor de revenda
Ao mesmo tempo, também confirma que eu realmente não ligo nem um pouco para cantos arredondados versus retos
Os desenvolvedores podem ter paletas de cores de design como Solarized, então não entendo por que a Microsoft impõe sua vontade e submete todo mundo ao mesmo azul horrível. Dá para imaginar perfeitamente alguma conversa corporativa do tipo: “amarelo parece muito alerta, laranja é ambíguo demais, vermelho está bravo demais e roxo chama atenção demais. Azul é seguro”. Eu odeio esse azul por causa disso
Não gosto que os widgets modernos não tenham sombreamento. Entendo a intenção de parecer moderno, mas passa uma sensação de pura preguiça
Também dá para ver que, a partir do Windows Vista/7, os botões de repente ficaram quase duas vezes maiores e começaram a aparecer espaços em branco e padding por toda parte. O espaço desperdiçado pela UI está ficando absurdamente grande
Gosto dessa história há décadas, mas o que mais chama atenção agora é o fato de que Bill Atkinson estava trabalhando de casa quando fez o Macintosh
https://news.ycombinator.com/item?id=19238322
O retângulo arredondado da Apple agora não é um squircle?
https://medium.com/minimal-notes/rounded-corners-in-the-appl...
Textos relacionados:
Round rectangles are everywhere - https://news.ycombinator.com/item?id=28679496 - setembro de 2021, 26 comentários
History of Rounded Corners - https://news.ycombinator.com/item?id=7062706 - janeiro de 2014, 1 comentário
Steve Jobs and Rounded Corners - https://news.ycombinator.com/item?id=3096927 - outubro de 2011, 1 comentário
The story of round rectangles - https://news.ycombinator.com/item?id=1636358 - agosto de 2010, 77 comentários
O quanto o gosto de Steve Jobs era excelente, e o quanto a expressão “liberal arts and technology” era sincera, é algo subestimado
Ainda assim, concordo que essas histórias sempre me surpreendem de novo. Entre os muitos narcisistas que movem o mundo, acho que ele é o de quem vou me lembrar com mais carinho
Um exemplo de retângulo arredondado adicionado por puro motivo estético era a janela da área de trabalho nos Macs antigos. Quando a tela ligava durante o boot, ela obviamente era retangular, mas uma das primeiras coisas que o software fazia era arredondar aqueles cantos, e aquilo permanecia assim até outro software mudar para tela cheia
O Windows não tinha nada assim e era claramente algo “inútil”, mas eu gostava desse detalhe
O trecho “nos meses seguintes, os retângulos arredondados se infiltraram em várias partes da interface do usuário e logo se tornaram indispensáveis” acaba mostrando que isso também era só uma moda, como qualquer outro design. Aí foi para cantos afiados e design plano, depois voltou para cantos arredondados, depois ficou mais angular de novo, e depois voltou outra vez
Dá para ver esse ciclo infernal acontecendo diante dos nossos olhos. Cerca de um ano atrás, alguém do Chrome teve a ideia brilhante de “dar uma renovada no design”, como grandes empresas costumam fazer, e de repente as abas ficaram arredondadas e surgiram pequenos cantos arredondados ao redor da barra de navegação
Cantos arredondados alinhados de forma concêntrica também podem transmitir com clareza, em termos gestálticos, a relação entre pai e filho
Quando o Google arredondou completamente os cantos retangulares, também aumentou ainda mais as margens e os paddings. Se o design com textura voltar a ficar na moda, acho que até então as margens e os paddings vão aumentar de novo
Hack de ROM do Mac OS para criar janelas perfeitamente circulares: https://web.archive.org/web/20201209143138/https://macgui.co...
O hack era a parte de injetar esse código no Finder. Um dos métodos era armazenar o WDEF no arquivo de desktop de um disquete, e bastava inserir esse disquete para alterar o novo formato de janela
O Finder abria o resource fork desse arquivo e o mantinha aberto para obter as informações dos arquivos do disquete. Ao abrir uma janela, o Finder pedia ao Resource Manager o “WDEF #0”, e o Resource Manager o encontrava dentro do arquivo de desktop, ou melhor, encontrava um WDEF fingindo ser exatamente isso. Naquele sistema operacional, não era tão difícil criar um cavalo de Troia
Estou aprendendo a projetar modelos para impressão 3D agora, e cantos arredondados são tanto uma questão de necessidade quanto de estética. Objetos com cantos afiados são desconfortáveis de segurar e, dependendo do material, também podem causar ferimentos. Também não são higiênicos e são difíceis de limpar da poeira
Em contrapartida, a matemática para gerar cantos arredondados em formas arbitrárias é complicada, muitas vezes exige suportes na hora da impressão e depois requer pós-processamento para remover esses suportes e lixar as curvas
Fico curioso sobre por que Bill disse: “Não, não há como fazer isso. Na verdade, seria muito difícil.” Por que aplicar sua otimização de elipse a um quarto de círculo não seria algo trivial?
É bem possível que ele estivesse pensando em modelar o retângulo arredondado com uma única expressão matemática. https://news.ycombinator.com/item?id=15073696
Isso provavelmente seria impossível, porque um retângulo arredondado não é contínuo. Mas também seria uma abordagem totalmente desnecessária, já que basta tratar separadamente os trechos de quarto de círculo e os trechos retos
Além disso, a pergunta surgiu de repente, e era algo que, literalmente, ninguém tinha feito antes