O QUE APRENDI COM O HACKER NEWS
OriginalFevereiro de 2009
O Hacker News completou dois anos na semana passada. Inicialmente, era para ser um projeto paralelo - um aplicativo para aprimorar o Arc e um lugar para fundadores atuais e futuros da Y Combinator trocarem notícias. Cresceu mais e tomou mais tempo do que eu esperava, mas não me arrependo disso porque aprendi muito trabalhando nele.
Crescimento
Quando lançamos em fevereiro de 2007, o tráfego nos dias úteis era de cerca de 1600 usuários únicos diários. Desde então, cresceu para cerca de 22.000. Essa taxa de crescimento é um pouco maior do que eu gostaria. Eu gostaria que o site crescesse, já que um site que não está crescendo pelo menos lentamente provavelmente está morto. Mas eu não gostaria que ele crescesse tanto quanto o Digg ou o Reddit - principalmente porque isso diluíria o caráter do site, mas também porque não quero passar todo o meu tempo lidando com escalabilidade.
Já tenho problemas suficientes com isso. Lembre-se, a motivação original para o HN era testar uma nova linguagem de programação, e além disso, uma que se concentra em experimentar o design de linguagem, não o desempenho. Cada vez que o site fica lento, me fortaleço recordando a famosa citação de McIlroy e Bentley
A chave para o desempenho é a elegância, não batalhões de casos especiais.
e procuro o gargalo que posso remover com menos código. Até agora consegui acompanhar, no sentido de que o desempenho permaneceu consistentemente medíocre, apesar do crescimento de 14x. Não sei o que vou fazer a seguir, mas provavelmente vou pensar em algo.
Essa é a minha atitude em relação ao site em geral. O Hacker News é um experimento, e um experimento em um campo muito jovem. Sites desse tipo têm apenas alguns anos de idade. A conversa na internet em geral tem apenas algumas décadas de idade. Portanto, provavelmente só descobrimos uma fração do que eventualmente descobriremos.
É por isso que sou tão otimista em relação ao HN. Quando uma tecnologia é tão jovem, as soluções existentes geralmente são terríveis; o que significa que deve ser possível fazer muito melhor; o que significa que muitos problemas que parecem insolúveis não são. Incluindo, espero, o problema que afligiu tantas comunidades anteriores: ser arruinado pelo crescimento.
Diluição
Os usuários têm se preocupado com isso desde que o site tinha alguns meses de idade. Até agora, esses alarmes têm sido falsos, mas podem não ser sempre. A diluição é um problema difícil. Mas provavelmente solúvel; não significa muito que as conversas abertas "sempre" foram destruídas pelo crescimento quando "sempre" equivale a 20 instâncias.
Mas é importante lembrar que estamos tentando resolver um novo problema, porque isso significa que teremos que tentar coisas novas, a maioria das quais provavelmente não funcionará. Há algumas semanas, tentei exibir os nomes dos usuários com as pontuações médias de comentários mais altas em laranja. [1] Isso foi um erro. De repente, uma cultura que havia sido mais ou menos unida foi dividida em ricos e pobres. Eu não percebi o quão unida a cultura havia sido até ver ela dividida. Foi doloroso de assistir. [2]
Então, os nomes de usuário laranja não voltarão. (Desculpe por isso.) Mas haverá outras ideias igualmente quebradas no futuro, e as que funcionarem provavelmente parecerão tão quebradas quanto aquelas que não funcionarem.
Provavelmente a coisa mais importante que aprendi sobre diluição é que ela é medida mais em comportamento do que em usuários. É o mau comportamento que você quer manter afastado mais do que as pessoas ruins. O comportamento do usuário acaba sendo surpreendentemente maleável. Se as pessoas são esperadas para se comportar bem, elas tendem a; e vice-versa.
Embora, é claro, proibir o mau comportamento tende a afastar as pessoas ruins, porque elas se sentem desconfortáveis em um lugar onde elas têm que se comportar bem. Mas essa maneira de mantê-las afastadas é mais gentil e provavelmente também mais eficaz do que barreiras aparentes.
Está bem claro agora que a teoria das janelas quebradas se aplica a sites de comunidade também. A teoria é que formas menores de mau comportamento encorajam outras piores: que um bairro com muitas pichações e janelas quebradas se torna um onde ocorrem roubos. Eu estava morando em Nova York quando Giuliani introduziu as reformas que tornaram a teoria das janelas quebradas famosa, e a transformação foi milagrosa. E eu era um usuário do Reddit quando o oposto aconteceu lá, e a transformação foi igualmente dramática.
Não estou criticando Steve e Alexis. O que aconteceu com o Reddit não aconteceu por negligência. Desde o início, eles tinham uma política de censurar nada além de spam. Além disso, o Reddit tinha objetivos diferentes do Hacker News. O Reddit era uma startup, não um projeto paralelo; seu objetivo era crescer o mais rápido possível. Combine crescimento rápido e censura zero, e o resultado é uma farra. Mas não acho que eles fariam muito diferente se estivessem fazendo de novo. Medido pelo tráfego, o Reddit é muito mais bem-sucedido do que o Hacker News.
Mas o que aconteceu com o Reddit não acontecerá inevitavelmente com o HN. Existem vários máximos locais. Pode haver lugares que são farras e lugares que são mais pensativos, assim como existem no mundo real; e as pessoas se comportarão de forma diferente dependendo de qual estão, assim como fazem no mundo real.
Observei isso na natureza. Vi pessoas postando em Reddit e Hacker News que realmente tomaram o trabalho de escrever duas versões, uma chama para o Reddit e uma versão mais moderada para o HN.
Envie
Existem dois tipos principais de problemas que um site como o Hacker News precisa evitar: histórias ruins e comentários ruins. Até agora, o perigo de histórias ruins parece menor. As histórias na primeira página agora ainda são aproximadamente as que estariam lá quando o HN começou.
Eu já pensei que teria que ponderar os votos para manter a sujeira fora da primeira página, mas ainda não precisei. Eu não teria previsto que a primeira página se manteria tão bem, e não sei por que ela se manteve. Talvez apenas os usuários mais pensativos se importem o suficiente para enviar e votar em links, então o custo marginal de um novo usuário aleatório se aproxima de zero. Ou talvez a primeira página se proteja, anunciando que tipo de envio é esperado.
A coisa mais perigosa para a primeira página é algo que é muito fácil de votar. Se alguém provar um novo teorema, leva algum trabalho do leitor para decidir se deve ou não votar nele. Um desenho animado engraçado leva menos. Um desabafo com um grito de guerra como título leva zero, porque as pessoas votam nele sem nem ler.
Daí o que eu chamo de Princípio da Fofoca: em um site de notícias votado pelo usuário, os links que são mais fáceis de julgar assumirão o controle, a menos que você tome medidas específicas para evitar isso.
O Hacker News tem dois tipos de proteção contra fofocas. Os tipos mais comuns de links de fofocas são proibidos como fora do tópico. Fotos de gatinhos, diatribes políticas e assim por diante são explicitamente proibidas. Isso mantém a maioria das fofocas, mas não todas. Alguns links são fofocas, no sentido de serem muito curtos, e também no tópico.
Não há uma solução única para isso. Se um link é apenas um desabafo vazio, os editores às vezes o matam, mesmo que esteja no tópico no sentido de ser sobre hacking, porque não está no tópico pelo padrão real, que é envolver a curiosidade intelectual de alguém. Se as postagens em um site são caracteristicamente desse tipo, às vezes o proíbo, o que significa que coisas novas nesse URL são mortas automaticamente. Se uma postagem tem um título de isca de clique, os editores às vezes o reformulam para ser mais objetivo. Isso é especialmente necessário com links cujos títulos são gritos de guerra, porque caso contrário, eles se tornam implícitos "vote se você acredita em tal e tal" postagens, que são a forma mais extrema de fofocas.
As técnicas para lidar com links têm que evoluir, porque os links fazem. A existência de agregadores já afetou o que eles agregam. Os escritores agora escrevem deliberadamente coisas para atrair tráfego de agregadores - às vezes até específicos. (Não, a ironia desta declaração não se perde em mim.) Depois, há as mutações mais sinistras, como o linkjacking - postar uma paráfrase de o artigo de outra pessoa e enviar isso em vez do original. Esses podem obter muitos votos, porque muito do que é bom em um artigo geralmente sobrevive; na verdade, quanto mais próxima a paráfrase estiver do plágio, mais sobrevive. [3]
Acho importante que um site que mata envios forneça uma maneira para os usuários verem o que foi morto se quiserem. Isso mantém os editores honestos e, o mais importante, torna os usuários confiantes de que saberiam se os editores parassem de ser honestos. Os usuários do HN podem fazer isso alternando um botão chamado showdead em seu perfil. [4]
Comentários
Comentários ruins parecem ser um problema mais difícil do que envios ruins. Enquanto a qualidade dos links na primeira página do HN não mudou muito, a qualidade do comentário mediano pode ter diminuído um pouco.
Existem dois tipos principais de maldade nos comentários: maldade e estupidez. Há muita sobreposição entre os dois - comentários maldosos são desproporcionalmente propensos a serem também estúpidos - mas as estratégias para lidar com eles são diferentes. A maldade é mais fácil de controlar. Você pode ter regras dizendo que não se deve ser maldoso, e se você as aplicar, parece possível controlar a maldade.
Controlar a estupidez é mais difícil, talvez porque a estupidez não seja tão facilmente distinguível. Pessoas maldosas têm mais probabilidade de saber que estão sendo maldosas do que pessoas estúpidas sabem que estão sendo estúpidas.
A forma mais perigosa de comentário estúpido não é o argumento longo, mas equivocado, mas a piada idiota. Argumentos longos, mas equivocados, são na verdade bastante raros. Existe uma forte correlação entre a qualidade do comentário e o comprimento; se você quisesse comparar a qualidade dos comentários em sites de comunidade, o comprimento médio seria um bom preditor. Provavelmente a causa é a natureza humana, em vez de algo específico para threads de comentários. Provavelmente é simplesmente que a estupidez mais frequentemente assume a forma de ter poucas ideias do que ideias erradas.
Qualquer que seja a causa, comentários estúpidos tendem a ser curtos. E já que é difícil escrever um comentário curto que se destaque pela quantidade de informações que transmite, as pessoas tentam distingui-los em vez disso, sendo engraçadas. O formato mais tentador para comentários estúpidos é a suposta crítica espirituosa, provavelmente porque as críticas são a forma mais fácil de humor. [5] Então, uma vantagem de proibir a maldade é que ela também reduz essas.
Comentários ruins são como kudzu: eles tomam conta rapidamente. Os comentários têm muito mais efeito em novos comentários do que os envios têm em novos envios. Se alguém envia um artigo ruim, os outros envios não se tornam ruins. Mas se alguém posta um comentário estúpido em um thread, isso define o tom para a região ao redor. As pessoas respondem a piadas idiotas com piadas idiotas.
Talvez a solução seja adicionar um atraso antes que as pessoas possam responder a um comentário, e tornar o tempo do atraso inversamente proporcional a alguma previsão de sua qualidade. Então, threads idiotas cresceriam mais lentamente. [6]
Pessoas
Percebo que a maioria das técnicas que descrevi são conservadoras: elas visam preservar o caráter do site em vez de melhorá-lo. Não acho que isso seja um viés meu. É devido a a forma do problema. O Hacker News teve a sorte de começar bem, então, neste caso, é literalmente uma questão de preservação. Mas acho que esse princípio também se aplicaria a sites com diferentes origens.
As coisas boas em um site de comunidade vêm mais das pessoas do que da tecnologia; é principalmente na prevenção de coisas ruins que a tecnologia entra em jogo. A tecnologia certamente pode melhorar a discussão. Os comentários aninhados fazem, por exemplo. Mas eu preferiria usar um site com recursos primitivos e usuários inteligentes e legais do que um mais avançado cujos usuários fossem idiotas ou trolls.
Então, a coisa mais importante que um site de comunidade pode fazer é atrair o tipo de pessoas que deseja. Um site que tenta ser o maior possível quer atrair todos. Mas um site que visa um subconjunto particular de usuários tem que atrair apenas aqueles - e tão importante quanto, repelir todos os outros. Fiz um esforço consciente para fazer isso no HN. O design gráfico é o mais simples possível, e as regras do site desestimulam títulos de links dramáticos. O objetivo é que a única coisa para interessar alguém que chega ao HN pela primeira vez deve ser as ideias expressas lá.
A desvantagem de ajustar um site para atrair certas pessoas é que, para essas pessoas, ele pode ser muito atraente. Estou muito ciente de como o Hacker News pode ser viciante. Para mim, como para muitos usuários, é um tipo de praça virtual. Quando quero fazer uma pausa no trabalho, entro na praça, assim como eu poderia entrar na Harvard Square ou na University Ave no mundo físico. [7] Mas uma praça online é mais perigosa do que uma física. Se eu passasse metade do dia vagando na University Ave, eu notaria. Tenho que andar uma milha para chegar lá, e sentar em um café parece diferente de trabalhar. Mas visitar um fórum online leva apenas um clique e parece superficialmente muito semelhante a trabalhar. Você pode estar perdendo seu tempo, mas não está ocioso. Alguém está errado na Internet, e você está consertando o problema.
O Hacker News é definitivamente útil. Aprendi muito com coisas que li no HN. Escrevi vários ensaios que começaram como comentários lá. Então, eu não gostaria que o site desaparecesse. Mas eu gostaria de ter certeza de que não é um peso líquido na produtividade. Que desastre seria isso, atrair milhares de pessoas inteligentes para um site que faria com que elas perdessem muito tempo. Gostaria de poder ter 100% de certeza de que essa não é uma descrição do HN.
Sinto que o vício em jogos e aplicativos sociais é ainda um problema em grande parte não resolvido. A situação agora é como era com crack na década de 1980: inventamos coisas novas terrivelmente viciantes, e ainda não evoluímos maneiras de nos proteger delas. Eventualmente, evoluiremos, e esse é um dos problemas em que espero me concentrar a seguir.
Notas
[1] Tentei classificar os usuários por pontuação média e mediana de comentários, e a média (com a pontuação alta descartada) parecia o mais preciso preditor de alta qualidade. A mediana pode ser o mais preciso preditor de baixa qualidade, no entanto.
[2] Outra coisa que aprendi com esse experimento é que se você vai distinguir entre pessoas, é melhor ter certeza de que faz isso direito. Este é um problema em que a prototipagem rápida não funciona.
Na verdade, esse é o argumento intelectualmente honesto para não discriminar entre vários tipos de pessoas. A razão para não fazer isso não é que todos são iguais, mas que é ruim fazer errado e difícil fazer certo.
[3] Quando pego postagens linkjacked de forma flagrante, substituo o URL pelo do que eles copiaram. Sites que linkjackem habitualmente são banidos.
[4] O Digg é famoso por sua falta de transparência. A raiz do problema não é que os caras que administram o Digg sejam especialmente sorrateiros, mas que eles usam o algoritmo errado para gerar sua primeira página. Em vez de borbulhar de baixo para cima à medida que recebem mais votos, como no Reddit, as histórias começam no topo e são empurradas para baixo por novas chegadas.
A razão para a diferença é que o Digg é derivado do Slashdot, enquanto o Reddit é derivado do Delicious/popular. O Digg é o Slashdot com votação em vez de editores, e o Reddit é o Delicious/popular com votação em vez de marcação. (Você ainda pode ver fósseis de suas origens em seu design gráfico.)
O algoritmo do Digg é muito vulnerável a jogos, porque qualquer história que chega à primeira página é a nova história principal. O que por sua vez obriga o Digg a responder com contramedidas extremas. Muitas startups têm algum tipo de segredo sobre as subterfúgios que tiveram que recorrer nos primeiros dias, e eu suspeito que o do Digg é a extensão em que as histórias principais foram de fato escolhidas por editores humanos.
[5] O diálogo em Beavis and Butthead era composto em grande parte por esses, e quando leio comentários em sites realmente ruins, posso ouvi-los em suas vozes.
[6] Suspeito que a maioria das técnicas para desencorajar comentários estúpidos ainda não foram descobertas. O Xkcd implementou um particularmente inteligente em seu canal IRC: não permita a mesma coisa duas vezes. Depois que alguém disse "fail", ninguém mais pode dizer isso novamente. Isso penalizaria especialmente os comentários curtos, porque eles têm menos espaço para evitar colisões.
Outra ideia promissora é o filtro estúpido, que é como um filtro de spam probabilístico, mas treinado em corpora de comentários estúpidos e não estúpidos.
Você pode não ter que matar comentários ruins para resolver o problema. Os comentários no final de um thread longo raramente são vistos, então pode ser suficiente incorporar uma previsão de qualidade no algoritmo de classificação de comentários.
[7] O que torna a maioria dos subúrbios tão desmoralizante é que não há centro para ir a pé.
Obrigado a Justin Kan, Jessica Livingston, Robert Morris, Alexis Ohanian, Emmet Shear e Fred Wilson por lerem rascunhos de este.
Comentário sobre este ensaio.