Data visualization: terceira parte

O processo de construção de um software pela indústria de software já é bastante documentado: ele percorre etapas pré definidas, conta com equipes que cuidam de diferentes aspectos do software e assim por diante, tudo organizado numa perspectiva racional e previsível. Mas como será que um software open source é construído? Qual dinâmica realmente acontece? Quantas pessoas estão envolvidas? O grupo de pessoas muda conforme o trabalho se desenvolve? Existem momentos de pico? Por que alguns projetos dão certo e outros, talvez a maioria, morrem na praia?

Um ótimo documento, para quem quer estudar o assunto, é o artigo The Cathedral & the Bazaar que compara estas formas de elaboração de software à construção ordenada e planejada de uma catedral e ao aparente caos de um bazar (loja onde produtos se amontoam uns sobre os outros).

Mas para verificar se os modelos conceituais correspondem de fato ao que acontece,  Michael Ogawa e o um grupo de colaboradores, produziram um software chamado Code Swarm (enxame de código) que lê o log de um projeto open source e monta uma visualização do processo, deixando vários aspectos do projeto colaborativo à mostra. A observação cuidadosa do processo pode servir para responder a algumas perguntas e melhorar futuros projetos.

O projeto utiliza a linguagem e o ambiente computacional Processing, desenvolvido inicialmente por Ben Fry e Casey Reas. Abaixo você pode ver a dinâmica do desenvolvimento do software Apache, o servidor HTTP mais usado no mundo, feito em código aberto. No site de Michael você pode ver também o desenvolvimento do Eclipse (software de edição de código), PostGre (um gerenciador de banco de dados) e do Python (linguagem de programação).

Se você não acompanhou, veja também o primeiro e o segundo post da série sobre data visualization.

code_swarm – Apache from Michael Ogawa on Vimeo.

Repare como a aparente desorganização absoluta guarda uma ordem subjacente. Sem o software de Ogawa esta “ordem” provavelmente seria muito mais difícil de ser observada. Bem, pensar em como desvelar uma ordem ou um sentido que dorme por detrás de números e dados sem sentido é a tarefa da área de visualização de dados ou, data visualization.

ps. Se você se aventura um pouco com programação, não dê as costas ao Processing. Baixe o pacote e veja as demonstrações. É uma linguagem que está sendo cada vez aceita no terreno da visualização de dados e que, acreditem ou não, é fácil de lidar. Se você já fez algo em ActionScript por exemplo, vai se dar bem com o Processing…

1 Comment

Post a Comment