Notificações & Privacidade no Chat da Status

Notificações & Privacidade no Chat da Status

Nós estamos animados em trazer as notificações do chat da Status para os usuários  Android. Essa é uma das funcionalidades mais requisitadas e claramente é uma valiosa atualização. Porém, como o nosso chat é focado em privacidade, não poderíamos confiar nos serviços centralizados atualmente disponíveis para viabilização das notificações. Ao invés disso decidimos trabalhar em várias questões técnicas para entregar um produto fiel aos nossos princípios. Embora nós tenhamos clareza de que as notificações são essenciais para os nossos usuários, ainda temos problemas para resolver nos dispositivos iOS e estamos trabalhando para encontrar as melhores soluções.

As notificações correspondem a uma funcionalidade crítica do cenário de qualquer aplicativo hoje em dia. Os apps disputam atenção em um mar de aplicativos e mídias sociais. Até mesmo os fãs do chat da Status precisam ser lembrados de uma nova mensagem acaba de chegar - as notificações se tornaram um atalho para a forma que lidamos com as mensagens recebidas.

Entregar cedo e atualizar sempre

Em fevereiro de 2020 entregamos a primeira versão do chat da Status sem as notificações por dois motivos.

Primeiro, nós precisávamos entregar as principais funcionalidades do produto. Nós sabemos que muitos usuários estavam esperando para utilizar, e, frequentemente quando se constrói um produto tecnológico, é melhor realizar a entrega da primeira versão e depois aprimorá-lo, do que nunca entregar e ficar constantemente refinando. Uma vez que nós sabíamos que o chat era privado e os ativos estavam seguros, nós estávamos prontos para divulgá-lo, mesmo sem todos os acessórios secundários que gostaríamos.

O segundo motivo foi para garantir que as notificações iriam funcionar adequadamente para uma aplicação que tem como princípio a privacidade. Os ambientes nativos de Android e iOS não foram desenvolvidos pensando em privacidade. As duas plataformas utilizam os dados para gerar receita, além de disponibilizá-los para os criadores de aplicativos usarem para seus próprios fins. Como consequência, ambas as plataformas estão em constantes discussões legais, com diversos governos, para viabilizar o uso e o compartilhamento dos dados de seus usuários. Nem sempre os recursos disponibilizados pelas plataformas protegem a privacidade do usuário. Por exemplo, com os recursos de detecção de localização nos dispositivos Android e Apple, poderia ser possível determinar a localização física do usuário no momento em que ele recebe uma notificação.

Essa não é uma opção para a Status.

Nós nos recusamos a comprometer os nossos princípios e arriscar o compartilhamento dos dados com qualquer pessoa. Essa era uma situação que nós tínhamos que resolver do ponto de vista de técnico. Como poderíamos criar uma funcionalidade necessária que envia informações sobre remetente, destinatário e o conteúdo da mensagem através de várias camadas tecnológicas sem abrir mão da privacidade? No momento em que o usuário não está usando o app, a notificação (executando em segundo plano) precisa mostrar ao menos uma parte da informação sobre a nova mensagem recebida. A dificuldade é como fazer isso expondo o mínimo de metadados possível.

Em serviços centralizados, os aplicativos de chat armazenam a informação do usuário no dispositivo, e cruzam essa informação com a armazenada em um banco de dados central. No momento em que uma conta é marcada como tendo uma mensagem recebida, o banco de dados central envia uma chamada para o dispositivo do usuário, que acaba acionando o sistema de notificação da Apple ou do Android. Todos no sistema tem conhecimento das contas de origem e destino da mensagem.

Construído Diferente, Desenvolvido para a Privacidade

Status é construída diferente. Ao invés de um banco de dados centralizado, utilizamos retransmissores de mensagens, chamados de mailservers. No momento em que os retransmissores recebem uma mensagem, nós não sabemos quem é o remetente e nem o destinatário. São apenas bytes sem significado para qualquer pessoa, exceto para o destinatário que possui a chave de descriptografia. No momento em que o usuário recebe a mensagem, o app da Status, que está rodando em segundo plano, exibe a notificação.

O sistema do Android permite que os aplicativos executem em segundo plano. Isso torna possível manter a privacidade do app da Status. Entretanto, o iOS usa um sistema de notificação diferente. O sistema da Apple não permite que aplicativos sejam executados em segundo plano, ao invés disso, mantém os apps em um estado de inércia até que seja determinado quais aplicativos serão executados em segundo plano, para execução de breves notificações e outras ações. Para determinar quais apps serão escolhidos para rodar em segundo plano, o sistema da Apple utiliza mais de 80 indicadores heurísticos, além de dados do celular, do usuário, de aplicativos, etc. Por isso, confiar na Apple deixa o sistema de notificações com tempo de aviso inconsistente.

Até o presente momento, isso significa que não há uma maneira de usar o sistema da Apple e manter um serviço de notificação confiável. Nós poderíamos oferecer um serviço inconsistente ou irregular, mas isso seria uma má experiência para o usuário. Os dispositivos da Apple exigem o uso do sistema de notificação do iOS, o que significa que teremos que fazer concessões ao confiar nos serviços centralizados da Apple. Nós estamos trabalhando em uma solução para gerenciar essas concessões e trazer uma boa experiência para os usuários de dispositivos da Apple. Você pode ler mais sobre isso e participar da conversa em nossa postagem de Discussão sobre essa funcionalidade.

-----

Notificações são importantes para a adoção da tecnologia na comunicação. Consumidores e usuários esperam essa funcionalidade, e essa é uma melhoria que nós estamos trabalhando para entregar. Nós estamos animados por implementarmos novas funcionalidades de forma contínua e por fazer o chat da Status melhor em cada iteração.

Seu feedback faz a diferença. Nós sabemos o que você precisa quando você fala conosco.

Convide seus amigos para a Status, façam uma lista de desejos de novas funcionalidades e requisitem para nós e juntem-se na discussão de nossos ativos fóruns de Discussão.

Vejo você na Status!