Switcher, o alternador de aplicativos do Macintosh, mostra como é difícil precificar um software estratégico
Aprofundamento CEVIU
Aprofundamento
A história vem do relato de Andy Hertzfeld no Folklore.org. Em 11 de outubro de 1984, durante uma demo do Thunderscan para a Byte, ele viu John Markoff alternar entre aplicativos num IBM PC com o utilitário de DOS Memory Shift. Na hora, achou que dava para fazer o mesmo no Macintosh 512K, que tinha quatro vezes a memória do original e havia começado a ser vendido semanas antes.
O núcleo técnico era um trade-off de memória. Ele podia carregar tudo num único heap, que reduz a fragmentação, ou criar heap zones separadas por aplicativo, que isolam melhor os programas. Escolheu as zonas separadas. Neil Konzen, da Microsoft, preferia o heap único com ajustes para limitar a fragmentação. O problema mais chato era o de variáveis globais de cada aplicativo guardadas em low memory, que precisavam ser trocadas a cada mudança de contexto. Descobrir a lista exata do que trocar foi a parte mais difícil.
O protótipo saiu em 20 horas seguidas. Ele fazia patch de traps para estender chamadas de sistema como GetNextEvent, Launch e ExitToShell, e vinha fixo para MacPaint, MacWrite, MacDraw e Finder. Travava o tempo todo no início e foi estabilizando conforme os bugs eram achados. Bud Tribble achou a troca rápida demais e sugeriu animação, que virou o scroll horizontal das telas, como um Lazy Susan.
A parte da precificação veio na reunião com Bill Gates. Ele estimou no máximo 10.000 linhas, mil linhas por semana e US$ 4.000 por semana, chegando a US$ 40.000. A conta partia do tempo de digitação, não do valor estratégico para a Microsoft, que queria vantagem com seus aplicativos de baixo consumo de memória diante do Jazz, da Lotus. Hertzfeld recusou fechar preço antes de saber se funcionava e achava que o Switcher deveria ir junto com o Mac OS.
Por que isso importa
Para quem desenvolve hoje, o episódio mostra que estimar por linhas de código ou semanas de trabalho esconde o que importa: o que o software destrava. Também lembra que o protótipo rápido é a parte barata, e a compatibilidade e o debugging de casos esquisitos são onde o tempo some. É uma leitura editorial, mas ela dialoga com a cobertura recente do CEVIU sobre o custo de construir versus o valor de vender.
Linha do tempo
CEVIU publica a história do Switcher e a dificuldade de precificar um software estratégico.
Perguntas frequentes
O que era o Switcher do Macintosh?
Era um utilitário criado por Andy Hertzfeld que permitia manter vários aplicativos na memória do Macintosh 512K e alternar entre eles. A troca era feita com uma animação em que uma tela saía e outra entrava na horizontal. Ele também tinha Switcher Documents, que guardavam conjuntos de aplicativos relacionados.
Como o Switcher funcionava tecnicamente?
Ele fazia patch de traps para estender chamadas de sistema como GetNextEvent, Launch e ExitToShell. Cada aplicativo ganhava sua própria heap zone, e as variáveis globais guardadas em low memory eram trocadas a cada mudança de contexto. A dificuldade estava em saber exatamente quais variáveis trocar.
Como Bill Gates tentou baratear o preço do Switcher?
Ele elogiou Hertzfeld como programador muito bom e o levou a estimar o prazo, depois propôs 10.000 linhas, mil por semana e US$ 4.000 por semana. O resultado seria US$ 40.000. Assim, o preço seguiria o tempo de escrita e não o valor estratégico do programa.
Por que a Microsoft queria o Switcher?
Seus aplicativos eram feitos para caber no pouco espaço do Mac de 128K, e o 512K ameaçava essa vantagem. Com várias aplicações rodando juntas, o baixo uso de memória voltaria a ser um diferencial. Havia ainda a concorrência do Jazz, da Lotus, que facilitava a troca entre áreas funcionais.
Fontes
- folklore.orgfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 13 de novembro de 2026
- Editoria
- CEVIU Web Dev
