A GIRA+ é uma alternativa à aplicação oficial da GIRA, que oferece um design e desempenho aprimorados. Foi desenvolvida por dois jovens programadores com a simples intenção de ajudar os utilizadores e a EMEL. Mas, tal como a mGIRA, poderá deixar de funcionar em breve.
Regressamos a Janeiro. Com o computador pousado numa doca da GIRA, em Carnide, Tiago aproveita para dar uns retoques na aplicação que desenvolvera com o amigo Rodrigo para o sistema de bicicletas partilhadas de Lisboa. Chamaram-lhe GIRA+. “Só acedemos ao que está exposto, não temos nenhum hack. A nossa aplicação funciona igual à aplicação normal da GIRA, só que tem alguns benefícios”, explica Tiago.
A GIRA+ foi lançada no final do ano passado no GitHub para telemóveis Android e está disponível para iOS através de convite. Tiago e Rodrigo, dois jovens de 23 anos, da área de engenharia informática, decidiram avançar para o desenvolvimento de uma app alternativa à da GIRA por não se reverem na aplicação oficial, nem na alternativa feita por Afonso. Acharam que conseguiam algo melhor, não só em termos de design como ao nível técnico. Aproveitando a mesma janela aberta na app da GIRA – a API que permitia aceder a todas as funcionalidades do serviço –, os dois jovens criaram a GIRA+.
“Eu acho que não há razão nenhuma para a EMEL ter um API privado ou tentar fechar este tipo de aplicações. Estas apps não servem para prejudicar o sistema. Antes pelo contrário, servem para tentar melhorá-lo”, acredita Rodrigo. “Desde que todos os serviços que existem na API tenham coisas como rate limit [um método de controlo de tráfego] e medidas de segurança normais, não há problema nenhum porque as pessoas, ao usar outra aplicação, não conseguem fazer nada que a aplicação oficial não façam. Apenas conseguem fazê-la com uma interface diferente”, acrescenta Tiago.
“Não acedemos a nada que esteja escondido ou que não seja suposto”
O entendimento da EMEL é diferente. José Rosa, Director de Sistemas de Informação da EMEL, escrevia a 29 de Dezembro no GitHub – onde todo o projecto da GIRA+ foi publicado de forma transparente – o seguinte: “Calculo que vocês estejam autorizados pela EMEL a usar a API… Vai ser giro quando a EMEL trancar a coisa.” Agora, a empresa municipal de mobilidade de Lisboa decidiu contratar por 20 mil euros um estúdio de desenvolvimento de software para bloquear os serviços da GIRA atrás de uma arquitectura protegida, o que bloqueará o acesso de aplicações como a GIRA+ à API.
A EMEL não quereria, em primeira instância, que a API que quer a GIRA+, quer a mGIRA estão a usar fosse de acesso público, e decidiu então avançar com esse bloqueio. Note-se que essa API difere de outra que, essa sim, é pública – está disponível no portal de dados abertos da empresa, o EMEL Open Data, e dá acesso apenas a alguns dados da GIRA, não às funcionalidades propriamente ditas da app.
Tiago e Rodrigo dizem que, segundo os termos e condições da GIRA, o acesso à API das funcionalidades da GIRA através de uma aplicação alternativa não infringe nenhuma das regras descritas nesse documento. “Não acedemos a nada que esteja escondido ou que não seja suposto”, insiste Tiago. “Agora, eles podem adicionar aos termos e condições que não podemos fazer isto. Isto é uma questão legal, não técnica. Mas não nos parece que faça sentido isso. Estamos a falar de dinheiro público, e faz sentido que seja para servir a população. A melhor maneira é ter código público e APIs tendencialmente públicos.“
Tudo o que os dois jovens desenvolveram no âmbito do GIRA+ é público, permitindo a qualquer pessoa escrutinar o respectivo código e verificar se existem eventuais falhas de segurança ou algum roubo de informação, por exemplo. “Qualquer pessoa pode ver o que é que a nossa aplicação está a fazer”, refere Rodrigo. Também é possível descarregar o código e colocar a app a correr. “Qualquer pessoa pode dar ‘build’ da aplicação e assim garante que não pudemos nada extra”, diz Tiago.
De um melhor design a uma melhor performance
O ponto forte da GIRA+ é o design. A aplicação começou a ser pensada no Figma, uma aplicação para desenho de interfaces (que no LPP usamos para criar as imagens para as nossas redes sociais), e foi a partir daí transportada para código. Tiago e Rodrigo pensaram em cada botão, cada ícone, cada tom de cor, cada sombra. Fizeram vários estudos e testes até chegarem a uma interface que lhes agradasse. “Tudo o que está na aplicação em termos de iconografia foi feito por nós ou amigos nossos. O logo da aplicação, por exemplo, foi feito por uma amiga nossa”, diz Tiago. “O logo da aplicação foi baseado no oficial da GIRA mas é original”, acrescenta o amigo.
No design da interface da GIRA+, os dois jovens procuraram não só uma aplicação mais bonita, mas também mais útil, colocando a rede de ciclovias no mapa e colocando a informação nos sítios onde esta faz sentido. “Desafio a encontrarem o vosso saldo de pontos na aplicação oficial”, brinca Rodrigo. A experiência de ambos de utilização da GIRA ajudou nesta tarefa de desenho da aplicação. “Como é que seria a nossa experiência ideal de utilização da GIRA? Estamos a tentar produzir uma aplicação que nos dê essa experiência.” Também há questões de gosto no design – por exemplo, trocaram o sistema de classificação de viagens à base de estrelas por emojis de caras.
Outro ponto forte da GIRA+ é a capacidade de superar os silêncios da aplicação oficial, quando esta demora a devolver respostas aos utilizadores ou fica bloqueado. Os dois programadores criaram um sistema que disfarça os pedidos falhados da aplicação ao servidor com programação adicional e algum design, para que os utilizador nem sequer se aperceba de que há um problema. A app oficial, por seu lado, mostra mensagens de erro, o que gera frustrações nos utilizadores. “Mostramos umas pré-visualizações do que vai aparecer no ecrã antes de recebermos os dados da EMEL. Se carregarmos para ver bicicletas numa estação, aparecem a cinzento umas ‘bicicletas falsas’, por assim dizer, enquanto não temos a lista real das bicicletas”, exemplifica Rodrigo.
“Mas há outros truques que usámos para a aplicação ser mais rápida.” Tiago explica melhor: “Nós tentamos de novo os pedidos todos que falham com erro de serviço. Erros do servidor são bastante comuns. Há mesmo ‘crashes’ no servidor e quando isso acontece nós esperamos um bocadinho e tentamos outra vez. E isto faz com que as pessoas não tenham de tentar a mesma coisa várias vezes seguida. A aplicação faz por eles”, refere. “Por exemplo, quando há falhas no desbloqueio de uma bicicleta, que acontece às vezes, nós apenas tentamos outra vez desbloquear a bicicleta pela pessoa. Quando há falhas em obter as bicicletas em uma estação, nós também tentamos isso de novo. Quando há falhas no histórico, quando a palavra-passe dá erro…”
Quem tiver Android e quiser experimentar a GIRA+ só tem de descarregar o ficheiro .apk para o seu telemóvel e instalar a aplicação. Os utilizadores iOS podem entrar em contacto com o Tiago através do e-mail [email protected] ou do X/Twitter. “Esta ainda é a primeira versão e nas versões seguintes vamos por ainda mais funcionalidades”, prometia Rodrigo, em Janeiro. Desde então, os dois jovens acabaram por fazer pequenas actualizações, resolvendo bugs e melhorando a estabilidade da plataforma. Até porque não chegaram a ter o feedback que imaginavam ter da EMEL. Na verdade, ideia dos dois com o desenvolvimento da GIRA+ era ajudar não só os utilizadores das bicicletas partilhadas de Lisboa, mas também a empresa municipal que gere o sistema, propondo-lhe uma aplicação alternativa.
Ajudar os utilizadores e a EMEL
Enquanto que Afonso chegou a ter uma reunião com a EMEL sobre o mGIRA, Tiago e Rodrigo não tiveram qualquer contacto além da discussão no GitHub. “O nosso objectivo era ter uma primeira versão com o mínimo indispensável para as pessoas conseguirem utilizar esta aplicação”, diz Rodrigo. “Mas o mínimo tinha de estar bem feito”, acrescenta Tiago. Uma das ideias do grupo era mostrar o caminho a pé até à estação mais próxima e depois, uma vez iniciada viagem, ter indicação do caminho de bicicleta até à estação de destino – um pouco à semelhança do que a mGIRA de Afonso faz. “Estes percursos ficariam sempre no telemóvel das pessoas. Nós nunca os saberíamos”, avisa Tiago, mostrando uma preocupação com a privacidade dos utilizadores. “Nós não temos infraestrutura nenhuma do nosso lado, sem ser o mapa da aplicação. O mapa, que tem as ciclovias, é a única coisa que é infraestrutura nossa. Ou seja, o único dado que nós recolhemos é o IP das pessoas quando elas carregam o mapa. Mas não temos qualquer interesse nessa informação.”
Os jovens reiteram que fizeram tudo para ajudar a EMEL e os utilizadores, e não para recolherem louros ou dinheiro. “Rejeitámos as doações todas”, diz Rodrigo. “Nem me sentiria bem a aceitar dinheiro com um serviço que é meu”, acrescenta Tiago. A GIRA+, tal como a mGIRA, continuam disponíveis para todas as pessoas que queiram aproveitar uma alternativa à aplicação oficial das bicicletas partilhadas de Lisboa – pelo menos até a EMEL o permitir.