Os motivos pelos quais não temos uma app para iOS

A aplicação UnderLX não dispõe de uma versão para dispositivos móveis da Apple, uma situação que salta à vista de muitos dos que descobrem o projeto e que frequentemente acabam por levantar o assunto nas nossas redes sociais ou no nosso Discord. O assunto já é antigo e chegou mesmo a ser falado na única reunião que tivemos com o Metropolitano de Lisboa; tudo isto é há já algum tempo uma espécie de meme interno da equipa.

Mesmo no fim de 2017, numa altura em que nós ainda discutíamos o UnderLX usurpando o tópico sobre o Metro de Lisboa no fórum SkyscraperCity, publicámos um post que discutia a falta de versão para iOS. Grande parte do que está escrito nesse post continua a aplicar-se, e este post vai ser largamente uma atualização dele.

Um dos motivos que muitas pessoas conhecem e mencionam como barreira à introdução de uma versão iOS é o custo da licença para publicação de apps na loja da Apple. Esta licença custa 99 dólares por ano, em contraste com o custo único de 25 dólares para publicação no Google Play. Apesar de ser um factor importante, e que ajuda a explicar porque é que o UnderLX surgiu primeiro no Android e não no iOS, este não é o motivo mais importante, e já em 2017 não o era.

O UnderLX começou como um projeto pessoal meu (gbl08ma) e toda a parte de programação continua a ser desenvolvida exclusivamente por mim. Não porque nos esforcemos para que seja esse o caso, mas sim porque uma série de circunstâncias - que poderá ser explicada noutro post - levam a que seja este o caso. Um dos motivos que levou à criação da aplicação, num momento em que o site das perturbações já existia, foi a validação de uma teoria que eu tinha, que seria possível desenvolver um sistema de localização dentro do Metro de Lisboa que funcionasse nos smartphones dos utilizadores. A teoria foi validada com sucesso, e o UnderLX desde muito cedo que tem esse tal sistema de localização, que funciona recorrendo à pesquisa de redes Wi-Fi. Esse sistema traz algo verdadeiramente inovador ao projeto e permite-nos recolher muita informação, de forma anónima, que seria impossível obter de outra forma.

O iOS não permite nem nunca permitiu que as apps obtivessem os resultados da pesquisa de redes Wi-Fi (e o Android, a cada versão, também vai deixando de permitir), e as alternativas viáveis a esta técnica também não são possíveis. Claro que podemos fazer uma app sem funcionalidades de localização (logo, sem registo de viagens, e, como consequência, sem grande parte das funcionalidades colaborativas, entre outras funcionalidades que temos em mente que recorrem à localização). Aliás, a app para Android permite desligar todas essas funcionalidades, e nem por isso passa a ser completamente inútil. Mas grande parte da motivação para criar e continuar a desenvolver o UnderLX passa por experimentar com as possibilidades de localização, e assim poder recolher dados anónimos sobre a utilização do Metro, muito para além do que a empresa disponibiliza. Nesse sentido, desenvolver uma versão para iOS sempre pareceu uma certa perda de tempo.

Outro ponto muito pertinente quando se discute uma eventual versão para iOS prende-se com a disponibilidade e gestão de tempo. O tempo disponível para desenvolvimento do website e da versão Android já é escasso; o desenvolvimento de uma versão iOS iria requerer ainda mais tempo que, realisticamente, os autores deste projeto, desenvolvido nos tempos livres, não têm.

Nenhum dos membros da equipa alguma vez usou um iPhone ou iPad por períodos prolongados, nem conhecem quem use. Isto é um factor limitativo, por várias razões:

  • Gostamos que o UnderLX seja uma aplicação que adere minimamente aos standards de interface de utilizador e interação da plataforma em que está a correr. Isto é mais fácil de alcançar quando já se usam outras aplicações da mesma plataforma há muito tempo, coisa que fazemos em Android, mas obviamente não em iOS. Íamos estar a desenvolver uma aplicação para um sistema que pouco ou nada usámos antes, e em que sabemos pouco sobre o que os utilizadores costumam esperar.

  • Não temos forma viável de testar a aplicação. Mesmo depois de adquirir, por exemplo, um iPhone em segunda mão, é necessário novamente dedicar tempo aos testes dessa versão, que não temos de sobra.

O desenvolvimento de certas aplicações para iOS (aplicações “nativas”) bem como aplicações para publicar na App Store requer a utilização de um computador Mac, que nenhum de nós tem, aumentando ainda mais os custos associados com esse género de aplicação. Existe uma alternativa, que é desenvolver uma aplicação web que os utilizadores possam afixar no ecrã principal. Este género de aplicações é mais limitado que as nativas, mas em princípio seria suficiente para o género de funcionalidades que seríamos capazes de implementar na versão iOS. Estas aplicações também não aparecem na App Store, pelo que ela seria descoberta exclusivamente por quem visitar o nosso site.

O UnderLX surgiu numa altura em que eu já tinha alguma experiência com desenvolvimento de aplicações Android. Eu não tenho experiência em desenvolvimento para iOS - como explicámos, não temos sequer experiência como utilizadores de iOS - e, embora esteja disposto a aprender, desenvolver ao mesmo tempo que se aprende é sempre mais lento. Chegar a uma versão básica satisfatória para iOS iria requerer algum tempo para aprender um novo tech stack. Novamente, falta disponibilidade - uma pessoa só não consegue chegar a todo o lado.

Finalmente, mesmo ultrapassando estes obstáculos, a atual equipa do UnderLX acaba por ter uma grande falta de motivação para o desenvolvimento da versão iOS, porque percebemos que esta versão nunca conseguiria ter parte da funcionalidade que a versão Android tem. Para ajudar à desmotivação, seria uma versão que nós não íamos usar no dia-a-dia, e seria também uma versão que ia servir uma fatia menor da população, visto que o iOS tem bastante menos market share que o Android em Portugal.

Uma solução passa por acrescentarmos um desenvolvedor de aplicações iOS à equipa, visto que para a equipa atual, o desenvolvimento para iOS acabará por ser sempre um sacrifício. Sendo um projeto sem fins lucrativos e sem orçamento para contratar quem quer que seja, estamos sempre dependentes que alguém se chegue à frente com disponibilidade para oferecer várias horas de trabalho ao projeto UnderLX. Pessoas com este tipo de disponibilidade não são propriamente comuns, e mesmo quem se chega à frente acaba por perder o interesse, talvez quando se apercebe da quantidade de trabalho envolvida.

O progresso (ou a falta dele) de uma versão iOS pode ser acompanhada nesta issue no GitHub.