Você está na página 1de 6

Carta Estratégica II: O Ovo E A Galinha

Por Joel Spolsky da Fog Creek Software


Quarta‐feira, 24 de Maio de 2000
Artigo original: Strategy Letter II: Chicken and Egg Problems
Traduzido por: Fernando de A. Correia

Artigo
A idéia da publicidade é mentir sem ser pego. A maioria das empresas, quando lançam
uma campanha publicitária, simplesmente pega a verdade mais infeliz sobre a sua
empresa, a vira de cabeça para baixo ("mente"), e inculca esta mentira. Vamos chamar
isto de "prova por afirmação repetida". Por exemplo, viagem de avião é apertada e
desconfortável e os funcionários das companhias aéreas são rudes e desagradáveis, na
verdade todo o sistema de vôos comerciais é projetado como um instrumento de tortura.
Portanto quase todos os anúncios de empresas aéreas serão sobre como é confortável e
agradável voar e como você vai ser mimado em cada passo do caminho. Quando a
British Airways divulgou um anúncio com um executivo em uma poltrona de avião
sonhando que ele era um neném, moisés, todo o sentido do razoável foi-se embora para
sempre.

Quer outro exemplo? As empresas de papel estão devastando totalmente nossas


florestas, cortando florestas antigas que nem são delas. Então quando elas anunciam,
elas inevitavelmente mostram alguma bela e velha floresta de pínus e falam sobre o
quanto elas se importam com o meio-ambiente. Cigarros causam morte, então seus
anúncios mostram vida, como todos os anúncios com pessoas felizes e saudáveis se
exercitando ao ar livre. E assim por diante.

Quando o Macintosh saiu, não havia software disponível para ele. Então obviamente, a
Apple criou um enorme catálogo em papel brilhante relacionando todo o maravilhoso
software que estava "disponível". Metade dos itens listados dizia, em letras miúdas, "em
desenvolvimento", e a outra metade não podia ser obtida nem por amor nem por
dinheiro. Alguns produtos eram tão fajutos que ninguém os compraria. Mas mesmo um
catálogo grosso em papel brilhante com um "produto" de software por página descrito
entusiasticamente não conseguia disfarçar o fato de que você simplesmente não podia
comprar um processador de textos ou planilha para rodar no seu Macintosh de 128KB.
Haviam "guias de produtos de software" parecidos para o NeXT e o BeOS. (Atenção,
fanáticos do NeXT e BeOS: eu não preciso de nenhum ataque sobre os seus sistemas
operacionais doentios, certo? Escreva a sua própria coluna.) A única coisa que um guia
de produtos de software lhe diz é que não há software disponível para o sistema.
Quando você vir uma coisa destas, fuja correndo na direção oposta.

Amiga, Atari ST, Gem, IBM TopView, NeXT, BeOS, Windows CE, General Magic, a
lista de "novas plataformas" falidas não se acaba. Uma vez que elas são plataformas,
elas não são por definição, muito interessantes por si mesmas sem um bom software
para rodar nelas. Mas, com pouquíssimas exceções (e eu tenho certeza de que vou
receber uma enormidade de e-mails de admiradores sacais de plataformas misteriosas e
mal-amadas como Amiga ou RSTS-11), nenhum desenvolvedor de software com o
mínimo de bom senso escreveria software propositalmente para uma plataforma com
100.000 usuários em um dia bom, como o BeOS, quando eles poderiam fazer o mesmo
tanto de trabalho e criar software para uma plataforma com 100.000.000 de usuários,
como o Windows. O fato de que existe alguém que escreve algum software para estes
sistemas esquisitos prova que a motivação do lucro não é tudo: o fervor religioso ainda
está vivo e forte. Que bom querido. Você escreveu um lindo clone do micro Emacs para
o Timex Sinclair 1000. Parabéns. Toma uma moeda, vai comprar um doce.

Bem. Se você está no negócio de criação de plataforma, você provavelmente vai sofrer
do que é popularmente chamado de problema do ovo e da galinha. Ninguém vai
comprar a sua plataforma até que haja bom software que rode nela, e ninguém vai
escrever software até que você tenha uma grande base instalada. Xi. É meio como um
nó górdio, se bem que uma espiral da morte górdia seria mais descritiva.

O problema do ovo e da galinha, e suas variantes, é o elemento de estratégia mais


importante para ser entendido. Bem, certo, você provavelmente pode viver sem entendê-
lo: Steve Jobs praticamente construiu uma carreira de não entender o problema do ovo e
da galinha, duas vezes. Mas o restante de nós não tem o Campo Pessoal de Distorção da
Realidade de Jobs ao nosso dispor, então nós vamos ter que nos esforçar e estudar
bastante.

Lição um. O território clássico dos problemas do ovo e da galinha são as plataformas de
software. Mas aqui está outro problema do ovo e da galinha: todo mês, milhões de
empresas de cartões de crédito enviam zilhões de contas para os consumidores pelo
correio. As pessoas escrevem cheques em papel, colocam-nos em trilhões de envelopes,
e os mandam de volta. Os envelopes são colocados em grandes caixas e levados para
países onde a mão-de-obra é barata para serem abertos e processados. Mas essa
operação toda custa um bocado: o último valor que eu ouvi era que custa mais de US$
1,00 por conta.

Para nós que sabemos usar a Internet, isto é uma piada. "Me envie a conta pelo e-mail",
você diz. "Eu vou pagá-la on-line!" você diz. "Só vai custar, digamos, 1/100000 de um
centavo. Vocês vão economizar milhões" ou algo assim.

E você tem razão. Então um monte de empresas tentou entrar neste ramo, que é
tecnicamente conhecido como Apresentação de Contas. Um exemplo é (adivinhe) a
Microsoft. A sua solução, TransPoint, é assim: é um site da web. Você vai lá, e ele
mostra as suas contas. Você as paga.

Então, agora, se você recebe as suas contas neste sistema da Microsoft, você tem que
visitar a página de vez em quando para ver se alguma conta chegou, para você não
perdê-la. Se você recebe, digamos, 10 contas por mês, isto pode não ser um incômodo
muito grande. Mas aí está o outro problema: só existe um punhado de comerciantes que
vão cobrar de você através deste sistema. Então para todas as suas outras contas, você
vai ter que ir a outro lugar.

Resultado final? Não vale a pena. Eu ficaria surpreso se 10.000 pessoas estiverem
usando este sistema. Agora, a Microsoft tem que ir aos comerciantes e dizer, "cobrem
dos seus clientes usando nosso sistema!" E os comerciantes vão dizer, "Certo! Quando
vai custar?" E a Microsoft vai dizer, "50 centavos! Mas é bem mais barato do que US$
1,00!" E os comerciantes vão dizer, "Certo. Mais alguma coisa?" E a Microsoft vai
dizer, "Ah sim, vai lhes custar uns US$ 250.000,00 para configurar o software, conectar
nossos sistemas aos seus sistemas, e colocar tudo em funcionamento."

E como a Microsoft tem tão poucos infelizes usuários no sistema, é difícil imaginar por
que alguém pagaria US$ 250.000,00 para economizar 50 centavos em 37 usuários. Aha!
O problema do ovo e da galinha mostrou a sua cara feia! Os clientes não vão aparecer
até que você tenha comerciantes, e os comerciantes não vão aparecer até que você tenha
clientes! Eventualmente, a Microsoft vai simplesmente resolver esta situação com
dinheiro. Para empresas menores, esta não é uma opção. Então o que você pode fazer?

As plataformas de software na verdade nos dão algumas boas dicas sobre como assar o
seu problema do ovo e da galinha. Vamos olhar um pouco a história das plataformas de
software para computadores pessoais nos anos desde que o IBM-PC saiu; talvez nós
descubramos alguma coisa!

A maioria das pessoas acha que o IBM-PC exigia o PC-DOS. Não é verdade. Quando o
IBM-PC saiu, você podia escolher três sistemas operacionais: PC-DOS, XENIX (uma
versão fraquinha de 8 bits do UNIX publicada pela, e eu não estou inventando isto,
Microsoft), e uma coisa chamada UCSD P-System, que era, se você consegue acreditar,
como o Java: belos, lentos e portáteis bytecodes, uns 20 anos antes do Java.

Agora, a maioria das pessoas nunca ouviu falar do XENIX ou das esquisitices da
UCSD. Vocês jovens de hoje provavelmente pensam que é porque a Microsoft se
apoderou do mercado de sistemas operacionais pequenos através de força de marketing
ou algo assim. Totalmente falso; a Microsoft era minúscula naqueles dias. A empresa
com força de marketing era a Digital Research, que tinha outro sistema operacional.
Então, porque o PC-DOS foi o vencedor desta corrida tripla?

Antes do PC, o único sistema operacional de verdade que você podia obter era o CP/M,
embora o mercado para computadores baseados em CP/M, que custavam em torno de
US$ 10.000,00, fosse pequeno demais. Eles eram manhosos e caros e não muito
amigáveis. Mas aqueles que chegaram a comprá-los, fizeram isto para usá-los como
processadores de textos, porque você podia pegar um processador de textos bem bom
chamado WordStar para CP/M, e o Apple II simplesmente não conseguia fazer
processamento de texto (ele não tinha letras minúsculas, para começar).

Agora, aqui está um fato pouco conhecido: mesmo o DOS 1.0 foi projetado com um
modo de compatibilidade com o CP/M embutido. Ele não apenas tinha sua própria nova
e esperta interface de programação, conhecida por programadores durões como INT 21,
mas ele suportava totalmente a antiga interface de programação do CP/M. Ele quase
conseguia rodar software para CP/M. De fato, o WordStar foi convertido para o DOS
mudando um único byte no código. (Programadores de Verdade podem lhe dizer qual
era este byte, eu já esqueci faz tempo).

Isto merece ser dito de novo. O WordStar foi convertido para o DOS mudando um
único byte no código. Deixe isto assentar.

Pronto.
Percebeu?

O DOS foi popular porque ele tinha software desde o primeiro dia. E ele tinha software
porque Tim Paterson pensou em incluir um recurso de compatibilidade com o CP/M
nele, porque antigamente lá na era das trevas alguém era esperto sobre problemas do
ovo e da galinha.

Avanço rápido. Em toda a história da plataforma PC, só houve duas grandes mudanças
de paradigma que levaram consigo quase todos os usuários de PC: todos nós migramos
para o Windows 3.x, e depois todos nós migramos para o Windows 95. Somente uma
quantidade ínfima de pessoas chegou a migrar para qualquer outra coisa no caminho.
Uma conspiração da Microsoft para dominar o mundo? Perfeito, fique à vontade para
pensar assim. Eu acho que é por outra razão, muito mais interessante, baseada no ovo e
na galinha.

Todos nós migramos para o Windows 3.x. A pista importante nesta frase é o 3. Porque
nós não mudamos todos para o Windows 1.0? Ou o Windows 2.0? Ou o Windows 286
ou o Windows 386 que se seguiram? É porque a Microsoft leva cinco versões para
"acertar a mão"? Não.

A verdadeira razão era muito mais sutil do que isto, e tem a ver com recursos de
hardware altamente misteriosos que apareceram pela primeira vez no processador Intel
80386 que o Windows 3.0 exigia.

• Primeiro recurso: velhos programas para DOS colocavam coisas na tela


gravando diretamente em lugares da memória que correspondiam a células de
caracteres na tela. Este era o único jeito de mostrar a saída com velocidade
suficiente para fazer o seu programa parecer bom. Mas o Windows rodava em
modo gráfico. Em processadores Intel mais antigos, os engenheiros da Microsoft
não tinham alternativa a não ser mudar para modo de tela cheia quando eles
estavam executando programas DOS. Mas no 80386, eles podiam configurar
blocos de memória virtuais e configurar interrupções de modo que o sistema
operacional era notificado sempre que um programa tentava gravar na memória
de tela. O Windows então podia escrever o texto equivalente em uma janela
gráfica na tela instantaneamente.
• Segundo recurso: velhos programas para DOS assumiam que eles tinham o
controle do processador. Como resultado, eles não trabalhavam bem em
conjunto. Mas o Intel 80386 tinha a capacidade de criar PCs "virtuais", cada um
deles atuando como um 8086 completo, de modo que programas antigos para PC
podiam fingir que eles tinham o computador para si mesmos, mesmo enquanto
outros programas estavam executando e, eles também, fingindo que tinham o
computador todo para eles.

Então o Windows 3.x nos Intel 80386 foi a primeira versão que conseguia rodar
múltiplos programas DOS respeitavelmente. (Tecnicamente, o Windows 386
também podia, mas os 80386 eram raros e caros até mais ou menos a época em que o
Windows 3.0 foi lançado.) O Windows 3.0 era a primeira versão que realmente
conseguia fazer um trabalho razoável rodando todo o seu software antigo.
O Windows 95? Sem problema. Uma bela nova API de 32 bits, mas ainda rodava
softwares antigos de 16 bits perfeitamente. A Microsoft era obcecada com isto, gastando
uma boa quantia de dinheiro testando cada programa antigo que eles conseguiam
encontrar no Windows 95. Jon Ross, que escreveu a versão original do SimCity para o
Windows 3.x, me disse que ele acidentalmente deixou um defeito no SimCity aonde ele
lia memória que ele tinha acabado de liberar. É. Funcionava direitinho no Windows 3.x,
porque a memória nunca ia para lugar nenhum. Aqui está a parte surpreendente: Nas
versões beta do Windows 95, o SimCity não funcionava nos testes. A Microsoft
rastreou o defeito e acrescentou código específico ao Windows 95 que procura pelo
SimCity. Se ele encontra o SimCity rodando, ele roda o alocador de memória em um
modo especial que não libera a memória imediatamente. Este é o tipo de obsessão com
compatibilidade que deixou as pessoas dispostas a mudar para o Windows 95.

Você deveria estar começando a ter algumas idéias sobre como romper o problema do
ovo e da galinha: forneça um modo de compatibilidade que ou entregue uma carrada de
galinhas, ou uma carrada de ovos, dependendo de como você considera, e sente-se e
encha-se de grana.

Ah. Agora de volta para apresentação de contas. Lembra-se da apresentação de contas?


O problema ovo-galinha é que você só consegue receber suas contas de luz, então você
não vai usar o serviço. Como você pode resolver isto? A Microsoft não conseguiu
descobrir. PayMyBills.com (e meia dúzia de outras empresas novas do Vale do Silício)
descobriram ao mesmo tempo. Você fornece um modo de compatibilidade: se o
comerciante não quer suportar o sistema, então faça o comerciante enviar a droga das
contas em papel para a Avenida Universitária, em Palo Alto, onde um bando de seres
humanos reais vai abri-las e escaneá-las. Agora você consegue ter todas as suas contas
no web site deles. Já que cada comerciante da Terra está disponível no sistema, os
clientes ficam felizes por usá-lo, mesmo se ele está rodando neste modo de
compatibilidade esquisito aonde estúpidos bancos membros da Visa enviam a conta
eletronicamente para uma impressora, a imprimem no papel, enfiam em um envelope, a
enviam por 2.000 quilômetros até a Califórnia, aonde ela é aberta, os estúpidos folhetos
que ficam anunciando rádios-relógio AM "grátis" que na verdade custam US$ 9,95 são
jogados em um aterro em algum lugar, e a conta de papel é escaneada de volta para um
computador e afixada na web para onde ela deveria ter sido enviada desde o começo.
Mas o modo estúpido de compatibilidade eventualmente vai desaparecer, porque
PayMyBills.com, ao contrário da Microsoft, consegue realmente fazer os clientes
usarem o sistema, então logo eles serão capazes de ir aos estúpidos bancos membros da
Visa e dizer, "olha, eu tenho 93.400 dos seus clientes. Por que vocês não economizam
US$ 93.400,00 todo mês com uma conexão direta para mim?" E de repente
PayMyBills.com é bem lucrativa enquanto a Microsoft ainda está tentando fazer um
acordo com a sua segunda concessionária elétrica, talvez uma atuando na Georgia fosse
uma boa mudança de ritmo.

Empresas que falham em reconhecer o problema do ovo e da galinha podem ser


consideradas como empresas fora do oceano: seus planos de negócios requerem que
93.000.000 de seres humanos cooperem com seu desvairado esquema de negócios antes
que ele realmente funcione. Uma das mais ultrajantes e estúpidas idéias que eu já
encontrei se chamava ActiveNames. Sua idéia cabeça-dura era que todas as pessoas do
mundo iriam instalar um pequeno acessório ao seu cliente de e-mail que procurava
nomes de pessoas nos seus servidores centrais para obter o endereço de e-mail real.
Então em vez de dizer às pessoas que o seu endereço de e-mail é caco@vila-
sesamo.com, você diria a elas que o seu ActiveName é "spolsky", e se eles quiserem
mandar e-mail para você, eles precisam instalar este software especial. Bzzzzz.
Resposta errada. Eu nem consigo começar a listar todas as razões pelas quais esta idéia
nunca vai funcionar.

Conclusão: se você está no mercado com um problema do ovo e da galinha, é melhor


você ter uma resposta de compatibilidade que elimina o problema, ou você vai levar um
loooongo tempo para começar (como, para sempre).

Há um monte de outras empresas que reconheceram o problema do ovo e da galinha de


frente e o venceram de modo inteligente. Quando a Transmeta revelou sua nova CPU,
foi a primeira vez em um longo tempo que uma empresa que não era a Intel finalmente
admitiu que se você é uma CPU, e você quer que um zilhão de pessoas comprem você,
é melhor você rodar código x86. Isto depois que Hitachi, Motorola, IBM, MIPS,
National Semiconductor, e quem sabe quantas outras empresas convenceram a si
mesmas que elas tinham o direito de inventar um novo conjunto de instruções. A
arquitetura da Transmeta assume desde o primeiro dia que qualquer plano de negócio
que pede a criação de um computador que não roda o Excel não vai a lugar algum.

Nota: A FogCreek, tem hoje como seu representante, para língua portuguesa, Brasil e
Portugal, a www.olympya.com.br . Você pode usar gratuitamente por 45 dias o produto
FogBugz, totalmente web, para gerencia de projetos e outras funcionalidades, visitando
o link http://try.fogbugz.com

A Olympya também é representante de um novo produto da FogCreek, para treinamento


em engenharia de software. Este novo produto foi lançado desde o inicio em Português
veja mais detalhes em:

http://training.fogcreek.com.br – venda sem instrutor. 
 
Para ver a nossa oferta  que inclui assistência com nossos instrutores na Avenida Paulista, em 
Copacabana ou na sua empresa, veja:  
 
     http://www.scribd.com/doc/29112680/Make‐Better‐Software‐V1