A linha do tempo da Wikipédia

24 dez de 2013, por OKBR

Compartilhar

linha do tempo2Este artigo fala da análise, desenvolvimento e teste de uma visualização interativa de dados numéricos e eventos, ambos extraídos da Wikipédia em português, denominada “Linha do Tempo” da Wikipédia. Aqui, como autor do projeto, relato as várias etapas até o lançamento dessa visualização. Faço aqui um relato de natureza essencialmente técnica, escrevendo-o, porém, com visão voltada para um público misto interessado em dados abertos e no estudo desses dados.

O projeto do qual resultou a “Linha do Tempo” foi uma das mais frutíferas realizações de um período de seis felizes e construtivos meses de trabalho e de aprendizado meu como consultor para Wikimedia Foundation, entidade mantenedora da Wikipédia, sob a coordenação e a orientação de Oona Castro, cuja inestimável ajuda agradeço assim como aquelas de Henrique de Andrade, Everton Zanella, Alchimista, Danilo.mac, Helder.wiki e as de uma longa lista de outros editores da Wikipédia sem os quais nada disso teria sido possível.

Se desejarem, porém, usar a “Linha do tempo” antes de acabar a leitura deste relato, o acesso a ela está disponível no Tool Labs, plataforma comunitária para ferramentas externas que apoiem os projetos Wikimedia, em: https://tools.wmflabs.org/ptwikis/Linha_do_tempo Todo o código está disponível em: https://github.com/jonasagx/wikiTimeline.

Um arquiteto uma vez disse que a criatividade acontece naturalmente quando o óbvio se torna visível, ou facilmente perceptível. E Platão disse que a estátua pré-existe na rocha antes do escultor apenas revelá-la. Qualquer que seja a sua opinião sobre a natureza do ato criativo, numa sociedade dinâmica como a nossa, mais do que nunca a necessidade de ser criativo é tão evidente que prêmios são oferecidos para pessoas criativas, aparentemente porque a quantidade de problemas cresce enquanto o tempo disponível para solucioná-los diminui na razão proporcionalmente inversa àquela do aumento dos problemas.

É uma situação curiosa, pois, quando comecei a estudar o funcionamento da Wikipédia eu me fazia várias perguntas: como funciona esse ecossistema informático? Quais os indicadores do seu bom funcionamento e quais o indicadores do contrário? Sendo mantida por voluntários, o que é um colaborador (editor) voluntário desejável e na outra ponta o que é um colaborador indesejável? Não tendo conseguido achar ainda respostas minimanente satisfatórias para nenhuma dessas perguntas, a minha tendência atual é mais no sentido de duvidar daqueles que dizem tê-las encontrado do que neles acreditar.

Então, sem poder responder bem nenhuma dessas perguntas, o que fica? Que rumo tomar? Afinal, algo deve ser feito. Pensando nisso, lembrei-me das minhas aulas de literatura e história no ensino médio. Lembrei-me de como é fácil cair no anacronismo ou no pura e simples racionalização a posteriori, e falar dos movimentos eventos históricos, artísticos ou políticos, depois que se passaram. Criticar, por exemplo, a conduta dos alemães antes e durante a Segunda Guerra Mundial é fácil, hoje, mas não o era para eles na época, vivendo sob a vigilância e a censura de um ditadura feroz, ou, como disse em 1974, o ex-primeiro ministro britânico Anthony Eden, sobre aqueles que criticavam a conduta dos franceses frente a a invasão e ocupação alemã, não era correto para os britânicos que não tiveram seus país invadido e ocupado pôr-se a censurar os franceses.[1] Isso me lembrou algo importante: as coisas têm história, falsa ou verídica; tudo, até pedras e coisas inanimadas, tem história, contada ou não. A cultura humana em especial só tem sentido vista sob uma perspectiva temporal circunstanciada. A Wikipédia é um artefato cultural humano, e, como tal, há de ter uma história.

Assim, antes de agir sobre o objeto de estudo eu pensei que seria melhor contemplá-lo com calma, cuidadosamente. O curioso é que a Wikipédia é tão grande e diversa que tentar observá-la é difícil. Você já tentou observar São Paulo? Não uma rua ou duas, mas toda a cidade? A menos que você esteja levantando vôo de Congonhas num dia ensolarado e numa boa posição no avião, observar São Paulo como um todo é difícil. O mesmo vale para Recife, Rio de Janeiro, Tel Aviv, Cidade do México e outras grandes cidades. Isso não vale para Moreilândia — uma cidade com menos de 10 mil habitantes no interior de Pernambuco, falo por experiência própria nela tendo passado a minha infância. Tudo depende muito sempre do seu ponto de perspectiva sobre ele e do tamanho do objeto da sua observação.

A Wikipédia é um dos empreendimentos sem fins lucrativos com maior impacto da história recente. Para se ter uma ideia da sua escala: em língua portuguesa, acumula ao longo da sua história 25 milhões de edições, 800 mil artigos, cerca de 5 mil editores ativos a cada mês (editores com 5 ou mais edições por mês). Existem muitos outros e igualmente portentosos dados quantitativos que poderiam ser mencionados, pois um volume enorme de novas informações é adicionado a ela a cada minuto. Diferente da Google (a empresa, não o simples mecanismo de busca), que tem, pelos seus recursos bilionários, a possibilidade de dotar-se de capacidade computacional praticamente ad infinitum bem como de incorrer em todo o tipo de despesa, a Wikimedia Foundation, entidade mantenedora da Wikipedia, trabalha com fundos limitados para atender a escala do uso da Wikipédia e comparativamente a ela — por isso, para Wikipedia, por exemplo, fazer estudos com grupos de usuários é complexo e difícil. Nesses casos apenas amostras são usadas em estudos para incrementar as campanhas de arrecadação de fundos, e para fazer melhorias no MediaWiki — a plataforma de edição e publicação de conteúdo que torna possível a Wikipédia ter o “wiki” do nome (wiki do havaiano significa rápido).

Esclarecidos esses fatos, é preciso notar que ideia básica que fundamenta a “Linha do Tempo” é o cruzamento de dados e de eventos ao longo da história da Wikipédia. O que pode se extrair desse cruzamento obviamente não é possivel de se saber é a priori. Nesse caso, a finalidade e a utilidade do instrumento de análise que criei é tornar o óbvio visível, sendo que a criatividade última e final repousará na crítica, sempre a posteriori, que outros farão dos resultados obtidos e tornados visíveis pela “Linha do Tempo”. As análises, positivas ou negativas, favoráveis ou desfavoráveis, a serem produzidas por aqueles que estudam as alterações feitas na Wikipédia através da “Linha do Tempo” hão, certamente, de observar as relações de causa e efeito entre os textos originais e os alterados – Porque, penso eu, coisas acontecem quando outras coisas tiverem acontecido de sorte a causá-las. Isso parece óbvio, mas é uma noção não provada dentro do contexto dos sistemas pertinentes da Wikipédia. E é ao fornecimento dessa prova que a “Linha do Tempo”, em última instância se destina e para que, creio servirá a contento. Os eventos funcionam como marcos no tempo, enquanto os dados tentam refletir o estado da enciclopédia em um dado momento.

Um aspecto chave na seleção desses eventos foi: podem eles pertencer ao contexto da Wikipédia ou não. Essa escolha, todavia, abre um número de possibilidades muito grande.

Então eu reuni, com a ajuda de voluntários, uma lista de vários eventos significativos ao longa da história da Wikipédia. Eventos de diversos tipos e contextos, por isso algumas categorias foram criadas para agrupá-los.

Reunir os dados numéricos foi tarefa relativamente fácil, graças ao projeto WikiStats criado e mantido por Erik Zachte: Wikimedia Statistics.

Usando Python, Java, C/C++ — e [outras] linguagens que todo aluno de computação normalmente aprende, sendo que, entre todas elas, JavaScript foi um desafio pela simplicidade e diversidade de documentação (algumas vezes contraditória). Mas JavaScript não daria conta de todo projeto sem a ajuda de uma biblioteca para criação de gráficos, a quantidade de bibliotecas disponíveis ajuda mas dificulta a escolha. Uma lista abrangente de bibliotecas JavaScript está disponível na Wikipédia em inglês em: Category:JavaScript_libraries. Contudo, depois de pesquisar por várias bibliotecas gráficas, percebi que nenhuma continha o que eu procurava, de forma clara e evidente quase ao primeiro olhar, demonstrar visualmente para a “Linha do Tempo”. Na verdade, as bibliotecas gráficas “web” podem ser, em sua imensa maioria, classificadas de uma forma peculiar:

propósito geral: com estruturas básicas capazes de construir qualquer coisa, mas de forma pouco minuciosa em princípio. propósito super específico: com estruturas complexas e prontas para fazer extremamente bem um número pequeno de coisas e inadequadas e/ou insuceptíveis de serem adaptadas para as demais.

O problema é que a “Linha do Tempo”, tal como eu a concebia originalmente, não se encaixava em nenhum desses grupos. Eu poderia gastar mais tempo do que eu deveria usando uma biblioteca de propósito geral, implicando a necessidade de muitas adaptações para se atingir a minúcia desejada, ou simplificar as coisas usando uma biblioteca super específica, que me compeliria a deixar de lado muitas outras informações com ela incompatíveis. Considerando aonde queria chegar, ou seja, a melhor e mais ampla narrativa visual histórica possível, após breve reflexão, só me restou adotar a primeira opção. Isso foi especialmente bom porque, na verdade, esse caminho levou-me a incluir vários aspectos na “Linha do Tempo” que havia deixado de lado no início do projeto. Isso também me ajudou a conhecer melhor Javascript, uma linguagem incrivelmente simples e elegante.

Depois, contudo, de fazer alguns protótipos, eu encontrei, praticamente por acaso, (o nome certo para isso é serendipidade ou serendipity) uma extraordinária biblioteca gráfica, que, não se encaixando por inteiro na mencionada classificação ordinária, continha tudo o que eu precisava para perfazer a “Linha do Tempo”, uma biblioteca grática que sendo, em tese, de propósito específico, não o é tanto, revelando-se, na verdade bastante modular e de código aberto: Rickshaw, que foi, construída pela Shutterstock, sobre uma biblioteca gráfica mais simples, chamada D3 (“Data Oriented Document”) criada por Michael (Mike) Bostock. A Richshaw possui módulos gráficos agrupáveis e mutáveis. Isso significa que é simples montar vários tipos de gráficos interativos e além de remodelar alguns deles de forma fácil. Eu já estava, no quarto mês de trabalho, quando isso aconteceu, o resultado foi que pude terminar a “Linha do Tempo” antes do término do fim do prazo previsto para a conclusão do projeto.

Melhorias sempre podem ser feitas, mas o esqueleto funcional que planejado se perfez na sua essência, conforme planejado e antes do tempo pactuado. Quase desnecessário dizer que isso é ótimo para a autoestima de qualquer programador.

O que, por fim, cabe-me, sim, sempre dizer é que a “Linha do Tempo” é um esforço inicial no sentido de entender o funcionamento da Wikipédia a partir de seus dados quantitativos e acontecimentos históricos. Muito, é claro, ainda existe por ser feito, por isso toda ajuda é bem-vinda.