#181: Sem conexão com a internet, e agora?

Existe uma cena bastante comum na logística: o motorista chega ao endereço, pega o celular para registrar a entrega e, justamente naquele momento, aparece a mensagem que ninguém queria ver: sem conexão com a internet.

Até então, tudo parecia funcionar normalmente. O pedido estava no sistema, a rota havia sido planejada, o aplicativo estava instalado, o endereço aparecia na tela e o motorista sabia exatamente o que precisava fazer. Só que existe um detalhe que costuma ficar escondido em boa parte dos projetos de tecnologia: para que toda essa estrutura funcione, alguém precisa conseguir trocar dados com algum servidor em algum lugar.

Quando essa comunicação desaparece, a tecnologia não necessariamente deixa de existir. O problema é que ela pode deixar de conseguir conversar.

O problema começa antes do sinal acabar

Quando falamos em conectividade, é fácil imaginar que estamos tratando apenas de internet ruim. Na prática, o desafio é um pouco maior, porque uma operação pode passar por áreas rurais, estradas, regiões afastadas dos grandes centros, galpões com pouca cobertura ou até locais onde a estrutura física interfere no sinal.

Imagine um motorista fazendo dez entregas durante a manhã. Nas primeiras oito, o aplicativo funciona perfeitamente: ele registra a chegada, tira a foto do comprovante de entrega e envia tudo para o sistema. Na nona parada, porém, não há conexão.

Se o aplicativo foi desenvolvido pensando que cada ação precisa ser enviada imediatamente para o servidor, o motorista pode ficar sem conseguir concluir aquela entrega. Talvez consiga visualizar os dados que já estavam carregados no aparelho, mas não consiga registrar a prova de entrega. Em uma situação ainda pior, pode ser obrigado a improvisar: tirar a foto com a câmera do celular, anotar informações em algum lugar e lembrar de atualizar tudo depois.

Perceba a contradição: a empresa investiu em tecnologia justamente para reduzir controles manuais, mas uma característica do ambiente operacional fez a equipe voltar para eles.

O problema, portanto, não é simplesmente ter ou não ter sinal. É como o sistema foi desenhado para se comportar quando o sinal desaparece, e é aqui que entra um conceito importante para quem trabalha com sistemas logísticos: operação offline.

Sabe quando você consegue continuar usando determinado aplicativo mesmo sem internet e, quando a conexão volta, ele sincroniza as informações? É mais ou menos isso que uma solução preparada para operar offline precisa fazer. O dispositivo mantém localmente determinadas informações necessárias para a execução da atividade; com isso, o motorista pode, por exemplo, consultar as entregas previamente carregadas, registrar um horário, coletar uma assinatura ou tirar uma fotografia, e essas informações ficam armazenadas temporariamente no próprio aparelho. Quando a conectividade retorna, o sistema sincroniza os dados com o ambiente central. Parece simples, mas existe uma parte importante escondida nessa lógica: o que acontece quando a conexão volta?

Se o motorista registrou três entregas sem internet, o sistema precisa saber que aquelas informações ainda não foram enviadas. Se uma fotografia foi capturada, ela precisa ser associada à entrega correta. Se uma atualização aconteceu enquanto o aparelho estava offline, o servidor precisa receber aquilo sem criar duplicidades ou perder informações. Ou seja, construir uma operação offline não significa simplesmente colocar um botão de “sincronizar”, mas é necessário pensar no ciclo completo da informação.

E quando duas versões contam histórias diferentes?

Existe outro problema interessante nessa situação: imagine que uma entrega esteja carregada no celular do motorista. Enquanto ele está sem conexão, alguém no escritório altera aquela informação no sistema central. Talvez o pedido tenha sido cancelado, o endereço tenha sido corrigido ou a entrega tenha sido atribuída a outro veículo. O motorista, entretanto, continua trabalhando com a informação que estava disponível no momento em que perdeu a conexão. Quando o aparelho voltar a conversar com o servidor, qual informação deve prevalecer?

Esse tipo de situação é conhecido como conflito de sincronização, ou seja, quando duas versões diferentes de uma mesma informação foram alteradas em momentos distintos e o sistema precisa decidir como conciliá-las. É um detalhe técnico que raramente aparece na apresentação comercial de uma ferramenta, mas que pode fazer uma diferença enorme na operação.

Por isso, uma boa arquitetura precisa definir regras. Algumas informações podem ser atualizadas automaticamente, enquanto outras exigem validação. Em determinados casos, o sistema pode registrar o conflito para análise posterior, em vez de simplesmente substituir uma informação pela outra. Seja qual for a regra, a tecnologia precisa entender que a ausência de internet não significa ausência de operação.

O mapa também pode enganar

Existe ainda uma armadilha interessante quando falamos de conectividade na logística: confundir cobertura de dados com capacidade de localização.

Um aplicativo pode estar sem acesso à internet e ainda assim conseguir obter informações de localização por GPS. Isso acontece porque GPS e conexão de dados cumprem funções diferentes.

Enquanto o GPS permite determinar a posição do dispositivo a partir de sinais recebidos de satélites, a conexão de dados é necessária para trocar informações com os sistemas da empresa. Na prática, isso significa que um motorista pode estar perfeitamente localizado pelo aparelho, mas o sistema central não receber essa informação naquele momento.

Para quem está acompanhando a operação de um escritório, pode parecer que o veículo simplesmente “sumiu”. Talvez ele não tenha sumido; talvez esteja justamente onde deveria estar, só que a informação ainda não conseguiu chegar.

Esse cenário também mostra por que tecnologia logística não pode ser desenhada apenas olhando para a tela do sistema. Quem está no escritório normalmente trabalha em um ambiente com internet estável, computadores conectados e acesso constante aos sistemas, enquanto o motorista trabalha em movimento, dentro de um veículo, atravessando áreas com diferentes condições de infraestrutura. São dois mundos completamente diferentes tentando operar sobre a mesma informação.

Por isso, antes de escolher uma solução, vale fazer perguntas que parecem básicas, mas que podem evitar grandes problemas:

  • O que acontece quando o aplicativo fica sem internet?
  • Quais funções continuam disponíveis?
  • Por quanto tempo os dados ficam armazenados no aparelho?
  • O que acontece quando a conexão volta?
  • Como o sistema identifica uma informação que ainda não foi sincronizada?
  • Como a equipe operacional sabe que existe algo pendente?

Essas perguntas são especialmente importantes porque uma demonstração de sistema normalmente acontece no melhor cenário possível: internet funcionando, servidor disponível, usuário conectado e tudo respondendo rapidamente. A operação logística, infelizmente, não costuma respeitar esse cenário ideal.

Para refletir: tecnologia boa é aquela que conhece suas próprias limitações

Quando uma empresa decide digitalizar uma operação, é natural pensar primeiro nas funcionalidades: roteirização, acompanhamento, comprovante de entrega, indicadores, integração, geolocalização e tantas outras.

Só que existe uma camada menos visível, e talvez mais importante, que é a capacidade da solução de continuar funcionando quando alguma coisa sai do esperado. A falta de sinal é um excelente exemplo porque não representa necessariamente uma falha do sistema. Em muitos casos, trata-se de uma condição conhecida do ambiente em que a tecnologia será utilizada.

Se sabemos que determinados trechos possuem baixa cobertura, então isso deveria fazer parte do desenho da operação desde o início. A pergunta deixa de ser “o que fazemos quando não tem sinal?” e passa a ser “como a solução deve funcionar sabendo que, em alguns momentos, não haverá sinal?”.

Essa mudança de perspectiva parece pequena, mas transforma completamente o projeto. Por isso, a melhor tecnologia para a logística não é aquela que funciona perfeitamente quando tudo está conectado, e sim aquela que continua ajudando o motorista quando a conexão desaparece, preserva as informações que ele coletou e consegue colocar tudo novamente no lugar quando o sinal finalmente volta, simplesmente porque na logística a operação não pode esperar a internet voltar.

Gostou do conteúdo?

Não se esqueça de curtir e compartilhar com a sua rede :)