No mundo dinâmico do desenvolvimento de software, estamos tão consumidos pela aprender coisas novasportanto fascinado com a procissão de novos objetos brilhantes acho que às vezes perdemos de vista nossa história. Não me refiro aos grandes sucessos que definiram uma era. Todos conhecem essas histórias. Estou falando das coisas que tentamos antes e que… não deram certo. Os fracassos. Os que também não deram certo. Os experimentos nobres. Os planos malucos.
Sou totalmente a favor do reinventar a rodaporque essa é uma das melhores maneiras de aprender. Mas o senhor não deve nem mesmo pensar sobre reinventar qualquer coisa até que o senhor tenha pesquisado exaustivamente todas as rodas, antigas ou novas, funcionando ou quebradas, que puder encontrar. Faça sua lição de casa.
É por isso que adoro descobrir histórias como a do senhor. As lições do habitat da Lucasfilm. É basicamente o World of Warcraft… em 1985.
Habitat é “um ambiente virtual on-line com vários participantes”, um ciberespaço.
Cada participante (“jogador”) usa um computador doméstico (Commodore 64) como um cliente inteligente e interativo, comunicando-se via modem e telefone por uma rede comercial de comutação de pacotes com um sistema host de mainframe centralizado. O software do cliente fornece a interface do usuário, gerando uma exibição animada em tempo real do que está acontecendo e traduzindo a entrada do jogador em mensagens para o host. O host mantém o modelo mundial do sistema, aplicando as regras e mantendo o cliente de cada jogador informado sobre o estado do universo, que muda constantemente.
Essa foi a idade das trevas da computação doméstica. Em 1985, os 64k de memória em um Commodore 64 eram um muito. A totalidade do Turbo Pascal 3.02 para DOS, lançado um ano depois, em 1986, mal chegava a 40k.
O próprio conceito de um mundo virtual multijogador de qualquer tipo – algo que hoje consideramos natural, já que todo site moderno é essencialmente um jogo multijogador – era incrivelmente exótico. Veja a explicação minuciosa que a Lucasfilm teve de produzir para que as pessoas entendessem o que era o Habitat e como ele funcionava:
As informações técnicas do As lições do habitat da Lucasfilm é incrivelmente datado, como o senhor esperaria, e pouco útil até mesmo como trivialidade. Mas as lições sociológicas do Habitat vão direto ao ponto. Elas são tão atuais hoje quanto eram em 1985. Os computadores mudaram radicalmente nesse intervalo de 27 anos, enquanto o comportamento das pessoas não mudou. De forma alguma. Essa passagem em particular me tocou:
Repetidamente, descobrimos que as atividades baseadas em suposições, muitas vezes inconscientes, sobre o comportamento dos jogadores tinham resultados completamente inesperados (quando não eram simplesmente fracassos absolutos). Ficou claro que não estávamos no controle. Quanto mais pessoas envolvêssemos em algo, menos controle teríamos. Podíamos influenciar as coisas, criar situações interessantes, oferecer oportunidades para que as coisas acontecessem, mas não podíamos prever nem ditar o resultado. A engenharia social é, na melhor das hipóteses, uma ciência inexata, mesmo em proto-espaços cibernéticos. Ou, como disse uma vez algum sábio, “no experimento mais cuidadosamente construído sob as condições mais cuidadosamente controladas, o organismo fará o que bem entender”.
Ainda mais especificamente:
Impulsionados por essas experiências, mudamos para um estilo de operações em que deixamos que os próprios jogadores conduzissem a direção do design. Isso se mostrou muito mais eficaz. Em vez de tentar empurrar a comunidade na direção que achávamos que deveria seguir, um exercício parecido com o de pastorear ratos, tentamos observar o que as pessoas estavam fazendo e ajudá-las nisso. Tornamo-nos facilitadores, tanto quanto designers e implementadores. Isso muitas vezes significava adicionar novos recursos e novas regiões ao sistema em um ritmo frenético, mas quase tudo o que adicionamos foi usado e apreciado, pois estava bem adaptado às necessidades e aos desejos das pessoas. Como especialistas em como o sistema funcionava, muitas vezes podíamos sugerir novas atividades para as pessoas experimentarem ou maneiras de fazer as coisas que as pessoas talvez não tivessem pensado. Dessa forma, pudemos ter uma influência considerável no desenvolvimento do sistema, apesar do fato de não estarmos realmente segurando o volante – mais influência, na verdade, do que tínhamos quando estávamos operando sob a ilusão de que controlávamos tudo.
Era exatamente isso que eu estava tentando dizer no Ouça a sua comunidade, mas não deixe que ela diga ao senhor o que fazer. Infelizmente, como eu não havia lido esse ensaio até alguns meses atrás, não me dei conta dessa importante lição 25 anos depois do que Randy Farmer e Chip Morningstar. Muitos dos recursos do Stack Overflow foram o resultado direto da observação do que a comunidade estava fazendo e, em seguida, da tentativa de ajudá-la nisso:
- Percebemos logo no início da versão beta do Stack Overflow que os usuários queriam desesperadamente responder uns aos outros e estavam entulhando o sistema com “respostas” que, bem, não eram respostas à pergunta. Em vez de repreendê-los por fazerem isso de forma errada – o usuários estúpidos! – adicionamos o sistema de comentários para oferecer a eles um método de anotar respostas e perguntas para esclarecimentos, atualizações e melhorias.
- Eu não achava necessário ter um local para discutir o Stack Overflow. E eu era… meio idiota em relação a isso. A comunidade estava prestes a criar uma instância do fórum phpBB para discutir o Stack Overflow. Diante de um ultimato nuclear, eu cedi, e o senhor sabe o que aconteceu? Eles estavam certos. E eu estava errado.
- A comunidade criou uma convenção interessante para o lidar com perguntas duplicadaseditando manualmente uma citação de bloco na parte superior da pergunta com um link para a pergunta autorizada da qual ela era uma duplicata. Essa pequena convenção de edição do usuário acabou se tornando o modelo para a implementação oficial.
Eu poderia continuar e continuar, mas não vou aborrecer o senhor. Eu diria que, para cada três recursos que introduzimos no Stack Overflow, pelo menos dois deles surgiram mais ou menos diretamente da observação da comunidade e, em seguida, da tentativa de trabalhar com eles, criando ferramentas que os ajudassem a fazer o que queriam fazer com menos confusão e esforço. Esse foi meu trabalho nos últimos quatro anos. E eu adorava, até que tive que parar de gostar.
Randy Farmer, um dos principais designers do Habitat na Lucasfilm, trabalhou em várias coisas que o senhor talvez reconheça: com Douglas Crockford sobre JSON, The Sims Online, Second Life, Yahoo 360°, Yahoo Answers, Answers.com e assim por diante. Ele acabou condensando parte de sua experiência em um livro, Criando sistemas de reputação na Web, que comprei em abril de 2011 em uma edição para Kindle. Naquela época, eu não sabia quem era o Sr. Farmer. Acabei de ver um novo livro da O’Reilly sobre uma área de interesse e pensei em dar uma olhada nele.
Como cofundador do Stack Overflow, sei uma ou duas coisas sobre sistemas de reputação na Web! Por curiosidade, procurei o autor em meu próprio site. E Eu o encontrei, com um minúsculo reputação. Por isso, enviei este comentário amigável no Twitter:
Mas a última gargalhada foi do Randy, como deveria ser, porque eu não sabia que ele tinha mais de 6.000 de reputação em rpg.stackexchange.com. Acontece que Randy Farmer já era um ávido usuário do Stack Exchange. E, como o senhor pode imaginar, devido ao seu histórico, um usuário bastante especialista usuário do Stack Exchange. O conjunto de regras do Stack Exchange é complexo, rigoroso e exige disciplina para ser compreendido. Mais ou menos como… talvez um certo jogo de interpretação de papéis, se o senhor quiser.
Randy é o tipo de pai que mandou encadernar seus livros de Dungeons & Dragons da primeira edição em um único tomo de couro e o entregou ao filho como herança de família. Não é incrível?
Se aprendemos alguma coisa nos últimos 25 anos desde o Habitat, é que o as pessoas são a fonte e a solução de todos os problemas que o senhor encontrará ao criar um software social. O senhor deseja dominar a arte de guiar e orientar sua comunidade on-line por meio de sua aventura coletiva, sem violar a continuidade de seu pequeno universo? Se sim, o senhor poderia fazer muito mais do que ler Criando sistemas de reputação na Web e seguintes @FRandallFarmer no Twitter.