O Verbatim é um dos projectos nascidos num SAPO Lab.
Este projecto deverá agora receber alguma força e dinamização extra.
Com esta ideia em mente o Jorge Teixeira - um dos elementos que criou o projecto - veio passar uma semana em Lisboa, nas instalações do SAPO (mas deixámo-lo sempre sair para comer e dormir).
A semana começou com uma reunião de apresentação do projecto, por dentro e por fora.
Na sala, uma dúzia de pessoas com as mais variadas skills, incluindo as tecnologias e plataformas SAPO empregues no projecto e não só: Perl, JavaScript, MySQL, Usabilidade, Acessibilidade, Segurança, SAPO Broker, LibSAPO.js, etc.
Após esta sessão foram marcadas cinco outras reuniões com diferentes elementos desta task force.
Reunião 1: Perl e MySQL
Quatro pessoas numa sala com um único intuito: analisar o código do projecto (ou parte deste) para o conseguir optimizar.
Foram apontadas coisas simples como a diferença entre usar CGI ou FastCGI, foi feito benchmarking ao código para encontrar os bottlenecks, foram optimizadas queries de SQL (e inclusivé foi reduzido o número destas numa grande escala), etc.
O Jorge saiu da reunião com já algumas alterações no projecto e uma folha cheia de notas que ele teria que implementar mais tarde.
Reunião 2: JavaScript e Segurança
Quando a reunião começou a equipa de JavaScript já tinha realizado alguns testes à plataforma, pelo que já levavam uma lista de sugestões.
Havia código que podia ser optimizado e foram ainda apresentadas algumas soluções como o ySlow para análise do restante.
Também foram apresentadas algumas falhas de segurança que o site possuía; as mesmas foram explicadas em detalhe, bem como as medidas a tomar para as fechar.
No final da reunião havia mais uma folha com notas nas mãos do Jorge.
Reunião 3: Usabilidade e Acessibilidade
A equipa de QA do SAPO realizou uma avaliação heurística ao Verbatim e nesta reunião apresentou ao Jorge os resultados da mesma.
Saíram desta reunião uma série de sugestões e recomendações para tornar o serviço mais apelativo, usável e acessível.
Mais uma reunião, mais uma folha.
Reunião 4: Arquitectura e Serviços
Aqui foram analisadas a arquitectura actual e as possibilidades futuras da mesma.
Foi explorada em detalhe a interacção com o SAPO Broker e revistas algumas boas práticas de utilização do mesmo que poderão ajudar o projecto.
Foi analisado o que seria necessário para implementar determinadas funcionalidades que estão previstas (extracção de dados semânticos, etc).
Houve também uma discussão sobre LSP (léxico semântico do português) e no final o Jorge tinha agora quatro listas de coisas a fazer e a analisar.
Reunião 5: Web Services
Neste reunião foram abordadas as tecnologias base usadas para publicar diversos tipos de dados do Verbatim como um serviço.
Foram realçados vários aspectos importantes como a disponibilização dos dados a outros serviços e plataformas, tentando assim começar a tornar transversais a todo o SAPO alguns Web Services.
Avaliação final
No final desta semana perguntamos ao Jorge que avaliação fazia desta semana:
"A avaliação final que eu faço a esta semana de trabalho no SAPO é simplesmente excelente! Excelente por dois motivos, por um lado vim para o Porto com uma enorme lista de melhorias a implementar (é sempre bom saber que um projecto ainda tem muito por onde evoluir) e por outro por ter conhecido uma equipa de gente conhecedora e disposta a partilhar os conhecimentos e ajuda.
[…]
Para terminar, algumas das sugestões com que vim do Sapo já foram implementadas, e as melhorias foram muito boas. Só a nível de tempos de acesso, conseguimos uma diminuição da ordem dos 50% em relação aos valores anteriores."