Como meu iPhone sabe que alguém está digitando do lado de lá?

Se você possui um iPhone, essa cena já deve ter acontecido algumas vezes. Você manda uma mensagem para alguém. Percebe que ela foi entregue ao destinatário e lida. Em seguida, vê uma bolha pairando no ar com três pontinhos. Enquanto isso, ansiosamente espera por uma resposta. Mas, a pergunta que não quer calar é: como é que o seu iPhone sabe que a pessoa com quem você iniciou a comunicação está digitando uma mensagem naquele exato momento?

A primeira resposta que pode vir à mente é que isso acontece por se tratar de um smartphone. Se fosse um donkeyphone, ele jamais saberia. Isso não está errado. Apenas telefones celulares da nova geração como iPhone, iPad ou o iPod Touch conseguem fornecer esse tipo de informação. Aparelhos mais antigos são incapazes de prover tal tipo de dado.


Foto: iStock.

Sistema da Apple é responsável por troca de mensagens

Mas quem provê a informação é o programa utilizado para o envio das mensagens. Você poderá perceber seu nome nas reticências quando envia ou recebe uma comunicação. Trata-se do iMessage, que foi idealizado pela Apple em 2011, mas faz parte do iOS 5 desde o seu lançamento.

O serviço iMessage está embutido no aplicativo de mensagens do iPhone. Embora seja usado para mandar mensagens de SMS, ele funciona como um aplicativo para envio de mensagens instantâneas como, por exemplo, o Windows Live, ou mesmo a caixa de diálogo do Facebook. Quando você envia um texto para outro usuário do iMessage, seu telefone reconhece o ID do destinatário e envia a mensagem através do serviço que é administrado pela Apple.

Tecnologia dispensa o uso da rede das empresas telefônicas

Enquanto as mensagens de texto SMS são mandadas através da rede de telefonia celular pela sua operadora, os recados do iMessage são encaminhados pelos servidores da Apple usando uma tecnologia chamada Apple Push Notification service - APNs - (Serviço de Notificação de Envio da Apple).

O APNS é baseado na tecnologia de eXtensible Messaging and Presence Protocol (XMPP) , sistema que é usado pelo Google Talk e Apple iChat, outros dois serviços de mensagens instantâneas bastante populares na rede mundial de computadores.

O XMPP provê uma maneira na qual os servidores podem se comunicar uns com os outros permitindo que os usuários de um servidor recebam notificações postadas através de um servidor diferente.

iPhone verifica servidores APNs de forma contínua

Assim, sempre que você tiver uma conexão com a rede, seu iPhone verificará de forma contínua com os servidores APNs para saber se eles têm alguma informação nova para enviar, incluindo mensagens de texto, chamadas do FaceTime ou notificações de alerta de qualquer outro aplicativo que tenha sido instalado em seu aparelho.

Como o iPhone da pessoa com quem você iniciou a comunicação continua na outra ponta da conversa e também está em comunicação com os servidores APNs, eles são capazes de detectar a atividade de digitação, o associam com o ID registrado na Apple e informam que ele está trabalhando em um novo texto para ser enviado em breve.

No caso de não existir disponibilidade de conexão sem fio com a Internet ou rede de telefonia celular ou mesmo se você trocar mensagens com alguém que possua um sistema operacional móvel diferente, seu iPhone vai mudar automaticamente a forma de enviar mensagens do iMessage para o SMS padrão. Dessa maneira, você ficará no escuro sem saber se alguém já recebeu, leu ou começou a responder a mensagem que foi enviada. Como nos tempos pré-smartphones.