The nice graphic you see above is the background of all your incognito conversations on Google Allo. It's one of the visual cues the app uses to let you differentiate between a regular chat and an incognito one. But what are these more secure chats and how exactly do they work?

Based on information we've obtained from a test preview version of Allo, here is what you should expect.

First, these chats are end-to-end encrypted (we've known they'll be using the Signal protocol for a while) with unique identity keys for each participant. One of the side effects of encryption is that Google Assistant doesn't work in them. You can also enable a setting to notify you when the identity key of a contact has changed.

Second, incognito chats are kept private and easily identifiable with a unique set of features:

  • their background is that dark blue grey shade that you see above with the nice graphic on the side, as opposed to a white background for regular chats,
  • their icon in the conversation list shows the same hat-plus-eyeglasses graphic on top of your contact's profile photo,
  • unlike regular chats, notifications are private and won't tell you the content of a message you receive in an incognito chat, just that you got one,
  • also unlike regular chats, the conversation list won't show a preview of the last sent/received message for these chats, just who was the last person to send something.

Allo's Incognito chat notifications are cryptic like this.

And third and most interestingly, incognito chats can have an expiry time à la Snapchat. This feature was mentioned during Allo's introduction at I/O, but briefly and without many details. Here's how we've been told it works.

You can't take screenshots of Incognito chats, so we're showing you photos.

Each incognito chat has a small timer on top next to the recipient's name and photo, with a blue indicator for the expiration time. That can be set to 5 seconds, 10 seconds, 30 seconds, 1 minute, 1 hour, 1 day, 1 week, or off.

It can be changed throughout the chat by any of the participants and becomes the new default for all future messages from either participant, up until one of you two changes it again. Changing the time doesn't affect previously sent messages though, so if you've already sent an image or text or voice with an expiration date of a week, you can't make it disappear quicker by changing the time now to 10 seconds.

Left: 3 messages sent with 1h expiration. Middle: 1 message with 1min expiration followed by 1 message with 1h expiration. Right: the 1min message has already disappeared.

There are two more things worth noting with this implementation of expiry times. One is that in this test version of Allo, there doesn't seem to be a way to know how long a message you sent or received exactly has until it disappears. You might be able to do some mental math if you know what was the exact expiration time setting when it was sent and by looking at when it was sent or read, but that's not very intuitive. Second is that the message disappears from the sender's chat after it's delivered using the same expiration time rule. This means that you could send something and see it vanish before you know whether or not it was delivered/seen and without ever knowing when it was seen.

I am not very familiar with Snapchat and its chatting features, but from what I know about it, it seems that while the concept of expired messages in Allo is borrowed from Snapchat, the implementation is quite different: in some ways more chat friendly (no need to both be online at the same time) and in other ways less flexible (no screenshots or replays). It also seems more customizable than the same option in iMessage, offering a quick way to change the expiry time repeatedly and on a chat-by-chat basis.

There's a level of complexity and obscurity that comes from dealing with auto-expiring messages (is my message deleted? can they still see it? what happens after it expires?) and it seems that Allo, for now, is trying to do a little too much, and thus introducing more room for users to get confused.

So far, Allo seems to have an interesting albeit a little complicated take on self-destructing messages, but things can change between the test preview versions our information is based on and the final release of the app. My hope is for a small countdown timer or an explicitly visible expiration time assigned to each message.