\section{Platform for collaborative software development}

%TODO: Paulo e Melissa
O conceito de software público se diferencia do de software livre em alguns
aspectos, destacando-se a atribuição de bem público ao software. Isso significa
que o Governo, especificamente o MP, assume algumas responsabilidades que
garantem ao usuário do software, em especial os órgãos públicos, condições
adequadas de uso. Embora haja diferenças entre o que é um software livre e um
software público brasileiro, há princípios comuns como a tendência da
descentralização na tomada de decisões, do compartilhamento de informações e da
retroalimentação. Por isso, a nova plataforma para o SPB foi pensada para
contemplar ferramentas que promovam a colaboração e a interação nas comunidades
(por gestores, usuários e desenvolvedores) dos projetos, conforme as práticas
usadas nas comunidades de software livre. Isso inclui listas de e-mail, fóruns
de discussão, issue trackers, sistemas de controle de versão e ambientes de
rede social.

Para integrar as ferramentas e prover a autenticação única nos serviços da
plataforma, um sistema web chamado Colab, que funcionada como proxy reverso
para os ambientes, está sendo evoluído. Em resumo, o Colab oferece a integração
de busca, autenticação e apresentação, provendo um único ambiente ao usuário
que tem em seu perfil algumas métricas de contribuições (e-mails para listas,
inserções em wikis, cadastros de issue e commits nos repositórios).

O Colab foi desenvolvido para o Interlegis (programa do Senado Federal). Por
padrão, funciona integrado com o servidor de listas de e-mail GNU Mailman e
utiliza o Apache Lucene Solr para a indexação dos conteúdos para as buscas. A
partir de 2014, as ferramentas GitLab e Noosfero foram integradas ao Colab para
compor o novo SPB.

O GitLab é uma plataforma de desenvolvimento colaborativo social integrada ao
sistema de controle de versão Git. É o ambiente mais técnico: os repositórios
dos projetos do SPB, com páginas wiki, issue tracker e mecanismos de controle
de versão de código estão nele. O Noosfero é uma plataforma para rede social e
de economia solidária que contém funcionalidades de gerenciamento de conteúdos
(CMS), além de permitir a configuração das páginas de usuários e de comunidades
de forma flexível. É o ambiente de maior interação com o usuário do SPB, desde
os cadastros até o acesso às páginas dos projetos para download, leitura de
documentação e contato com os responsáveis.

%TODO: Melissa
The integration of collaborative environments goes beyond functional aspects.
Offering the population an unique experience across these environments has been 
the key to encourage the use of the platform as it reduces the perception of the 
complexity.

Thus the portal information architecture was redesigned to provide a transparent 
navigation and reaching users with different profiles. A process of harmonisation 
has been employed on the interaction models of each tool in order 
to reduce learning curves. At the same time, a new visual style was created to unify 
the navegation and to follow the digital communication identity pattern guidelines of 
Federal Government.

With the features growth and the addition of new tools, the visual style has steadily 
evolved in order to keep the navigation unified. With tools from different scopes, which, 
in many cases, run features with similar concepts, we have faced with the challenge to 
develop transparent interface bringing together the various scopes. For each required 
feature, we often have to conciliate data with distinct strucuture and information pattern 
from each used tool. The graphical user interface was the meeting point for this information with links 
that users mustn't realize. The common features like display and edition of profile 
information, search and content have been brought in line with the structure and other 
existing features of the portal.

Outro ponto crítico está relacionado a responsividade. Provida e suportada em diversas maneiras por cada ferramenta e em alguns casos, não existente, a responsividade do portal precisou ser elaborada de acordo com o limite de cada ferramenta. No caso do Noosfero, que não provê um suporte a responsividade oficial, o projeto precisou se dedicar a expansão da ferramenta, com diversas contribuições e diálogos com a comunidade e mantenedores. Todos os integrantes do projeto se envolveram desde o estudo, desenho e codificação de uma nova interface com suporte a responsividade para o Noosfero e que ainda não foi concluída.

Os usuários fazem parte do processo. Em 2014, foi aplicado um questionário para avaliar a satisfação das pessoas com o portal antigo e identificar problemas de experiência do usuário. 
Em 2015 e 2016, realizamos atividades de validação da nova plataforma com usuários e cidadãos interessados. O retorno dessas atividades foi decisivo para o direcionamento dos esforços e determinação das principais áreas. Aproximar o usuário as funcionalidades que ele tem mais interesse e projetar uma navegação que se aprofunde junto com apronfudamento do conhecimento do usuário. 

