Três dicas para planejar a experiência offline
Embora a internet esteja presente na vida de todo mundo, ainda é praticamente impossível que todos os usuários estejam conectados o tempo todo. Isso afeta o uso de alguns aplicativos, como por exemplo o jogo Pokemon Go ou o Super Mario Run. Em ambos, se você estiver jogando em algum lugar onde o sinal de 4G não é suficiente, os games simplesmente não funcionam.
Seu negócio pode ser afetado caso seu cliente não esteja 100% do tempo online? Considere que a qualidade da conexão pode ser afetada tanto em redes fixas quanto em redes móveis, por vários fatores, como provedores com cobertura ruim, áreas com construções que bloqueiam o sinal (túneis ou edifícios), condições meteorológicas extremas, internet controlada (em aeroportos ou hotéis, por exemplo) e cortes na energia elétrica. Até mesmo áreas com alta cobertura podem ter picos de uso com o aumento de usuários e apresentar falhas de rede.
Para evitar que conectividade ruim atrapalhe a experiência do usuário, alguns aplicativos oferecem a opção de funcionar offline, como o organizador Trello – a maioria das funcionalidades permanece ativa, e quando o usuário se conecta à rede novamente, o sistema atualiza os dados necessários. Vamos abordar neste artigo três pontos essenciais para oferecer uma boa experiência ao seu cliente, mesmo em redes lentas ou offline.
Ao perceber que um aplicativo "travou", um dos primeiros pensamentos do usuário é de que ele não é bom o suficiente ou de que não funciona, o que pode levá-lo a desinstalar. Portanto, se algumas funções do seu aplicativo só funcionam integradas com a internet, seja claro e ofereça feedback ao usuário ao invés de deixar de responder aos comandos. Um exemplo que pode ser utilizado é: "Parece que sua conexão não está ativa no momento. As mensagens serão enviadas assim que a rede voltar ao normal". Esse tipo de notificação (ou feedback) demonstra transparência e, ao ser exibida, não causa o mesmo impacto negativo que um aplicativo travando ou simplesmente fazendo nada.
Esse tipo de notificação (ou feedback) demonstra transparência e, ao ser exibida, não causa o mesmo impacto negativo que um aplicativo travando ou simplesmente fazendo nada.
Alguns aplicativos, especificamente, têm função imediata e totalmente dependente de internet, como os que mostram atualizações meteorológicas ou os que oferecem dados do mercado de ações, apresentando as últimas cotações. Nesses dois casos, dados desatualizados são praticamente inúteis para o usuário. Vale, então, além da notificação, exibir também o horário da última vez em que as informações do aplicativo foram atualizadas, para não prejudicar nenhuma pessoa que dependa dessas informações.
A disponibilidade do último horário de atualização também pode usada por aplicativos de notícias, para não gerar uma impressão de atraso na apuração dos fatos, caso eles já tenham se desenrolado enquanto o usuário esteve offline.
Já e-commerces podem recorrer a opção de operar meio a meio, como indica o Google Developers. O usuário pode ver um aviso de que está sem conexão, mas que pode continuar navegando pelos produtos, cores e tamanhos – e o botão de compra pode ficar temporariamente desativado até que a rede seja recuperada. Preços de promoções podem também ficar inativos, para garantir apenas compras de clientes online.
2. Programar a experiência offline e em redes instáveis
Outra dica importante é avaliar a quantidade de dados que seu aplicativo exige. É preciso mesmo notificar seu usuário ou é possível continuar oferecendo funcionalidades offline? Para a segunda questão, uma alternativa é armazenar dados em cache. Isso reduz o impacto de uma conexão instável para o usuário, já que o aplicativo continuará funcionando com toda estabilidade possível. Aqui na Sofist, podemos inclusive validar se este recurso de seu app está operando corretamente.
Já se seu caso for exatamente o contrário, dependente de internet para funcionar, ofereça opções de configuração onde o usuário pode escolher o que será atualizado de acordo com a conexão, ao invés de baixar todos os dados sempre automaticamente. Um exemplo de aplicativo que faz isso é o WhatsApp: é possível desativar o download automático de áudios, vídeos e imagens dependendo da rede que se está utilizando.
Mais que um planejamento de experiência para casos de conexão instável, o aplicativo ganha confiança do cliente ao dar a ele a liberdade de consumo de sua própria rede móvel, que na maioria dos casos é cobrada por dia de uso, livrando-se da imagem de vilão que anteriormente consumia toda a franquia de dados dos usuários.
Para aplicativos de streaming, como reprodutores de vídeo, música e podcasts, o ideal é ensinar ao usuário qual é o tipo de conexão ideal para que ele tire máximo proveito do serviço oferecido. Durante o cadastro de um novo cliente, essas informações devem ser apresentadas claramente.
Outra tendência do streaming é oferecer a opção de download de algum material para possível uso posterior. Se o usuário planeja assistir um episódio de série, por exemplo, voltando do trabalho no transporte público, o aplicativo da Netflix oferece o serviço "Download & Go", para que ele baixe o vídeo enquanto estiver em uma conexão wi-fi segura e assista depois, em qualquer lugar.
3. Garantia da usabilidade
Pense na frustração do usuário ao tentar iniciar uma ação e não conseguir, porque o aplicativo apresenta uma tela de diálogo aberta impedindo a continuidade do uso ou então aquele símbolo de atualização buscando sincronização com a internet por minutos que parecem uma eternidade. Se ele não for notificado desse bloqueio, como discuti no primeiro tópico deste texto, a impressão que ele terá é de que está sendo impedido de realizar o que deseja.
Por isso, inclua no planejamento de suas sprints de desenvolvimento um momento para o time evitar que as solicitações de conexão com a rede bloqueiem o uso do app. Você pode adaptar seu aplicativo, como no caso do Trello, já citado: ao abri-lo mesmo sem conexão, é possível adicionar tarefas e lembretes, que serão sincronizadas assim que o usuário retomar sua conexão com a internet, garantindo a usabilidade.
Seguindo esses passos, você pode se assegurar de que seu aplicativo será acessível a um público cada vez maior.