The Big 1.0.

Gather round people: we’ve got a brand new design, we’ve got dramatically improved encryption UX, we’ve got new login, new settings, new room list and we’ve got dozens and dozens of stability and performance enhancements! That’s right: it fillets, it chops, it dices, slices! We’re out of beta: it’s Riot 1.0.

Lookin’ good

Since we previewed the redesign back in May last year we’ve been hard at work applying it across all aspects of Riot UX. We’ve restyled and reworked almost every last bit of the interface; here are just a few of the highlights:

Login

Riot Web 1.0 welcomes you to the app with a beautiful new login page:

Photography kindly provided by friend of the team, Jesús Roncero.

It’s not just a pretty face, either: usability and stability has been improved across both login and registration. And with .well-known support, users with accounts on homeserver other than matrix.org can log in just by typing their full Matrix ID.

Like magic!

Refresh

The app has a much cleaner and more contemporary feel throughout with a more modern colour palette (all optimised for readability):

We’ve also made usability improvements pretty much across the board, including making the left and right panels resizable, restyling search, and read marker behaviour.

And before you ask, yes there is a dark theme 😎

…yes, there’s a dark theme :P

User settings and room settings

We build Riot to give our users the power to customise their experience of the application. However, as the saying goes, with great power comes a great number of unwieldy configuration options.

In Riot 1.0 we’ve taken giant steps towards taming settings. It’s (mostly) the same great options, but they’ve had a lick of paint, been grouped into logical tabs and (a small but powerful detail) been rephrased in the affirmative (meaning no more grammatical cognitive gymnastics deciding whether you do or don’t want to set not sending typing notifications to disabled).

The room list

The room list has had a dramatic overhaul! Big changes are:

  • Resizable panels replace sticky headers so you can always see the most recent activity in each subsection
  • Room pinning by default so unread rooms stay top of the list
  • More discoverable room/chat creation by clicking the (+) next to the room list section title
  • All your rooms are listed all of the time (not just the first ten) so its super easy to scrollllllllllllllllllll to the room you need
  • Snappier filtering so you can find specific rooms much more quickly
  • Communities have unread message notification badges so you can quickly see which group needs your attention

The eagle-eyed amongst you might also have spotted a new feature that’s sneaked into this screenshot, too — room breadcrumbs run along the top of the room list, tracking the most recent rooms you’ve visited, making it so much easier to maintain active conversations in multiple rooms. This feature is still in Labs — if you want to try it now (you do — it’s amazing) you can enable it on https://riot.im/develop.

End-to-end encryption

Riot’s end-to-end encryption represents the cutting edge of secure multi-device persistent-history communication. But encryption is valuable only when it’s used — that’s why we’re spending so much time on the usability of Riot’s encryption implementation.

Released in Riot 1.0 are two huge enhancements in this area: key backup and emoji device verification.

Automatic Key Backup

Riot helps keep your encrypted messages private by deleting the keys from your device when you log out. We always encouraged users to keep a backup of their keys, but it was too easy to make a mistake, losing access to your encrypted messages for good.

With Riot 1.0 we’ve provided a simple solution to this problem: automatic key backup.

This picture of a key breaks up a long bit of text

Once enabled, your device will maintain a secure copy of its keys on your server. To ensure those keys can only ever be accessed by you, they are encrypted on your device, with a key that you either store yourself or secure with a passphrase and upload to your server. It is important to understand that to protect your privacy your keys will never touch the servers unencrypted.

Your keys will never touch the servers unencrypted.

tl;dr start using key backup on all of your devices today and you’ll never again lose your encrypted messages 👍

N.B. we think this is a great feature, but enabling it is optional — if you choose you can leave the feature disabled and maintain your own backups manually.

Emoji Device Verification

Remember the old device verification flow? Easy peasy lemon squeasy, call your buddy and check their 43 character string precisely matches yours? Well, alongside that… questionable UX there was a promise:

…and nothing says ‘sophisticated’ like… emoji:

International translations are available

That’s right: verifying devices is now as simple as reading seven emoji! Security and millennial whimsy: combined! Let’s say it together: banana penguin key robot smiley train smiley!

What’s more, verification finally works in both directions — at the end of our emoji verification dance, my device trusts yours and yours trusts mine!

Isobelle is trustworthy

Once you’ve verified all of a user’s devices, the green padlock of trust will replace the red padlock of shame in the memberinfo panel. Trust all of the users in a room, and that same green padlock will appear up top next to the room title.

Verifying every device is, alas, still time-consuming — we’re working very hard on a solution to this. Watch this space for developments!

What’s the news on Riot Mobile?

Big changes are landing for Riot Android and iOS, too — we’ve got Key Backup support and a brand new colour scheme landing in the next few days. Keep your eyes peeled!

Thanks for your support!

Thanks to everyone who has contributed code, offered a suggestion, filed a bug or just used the app — your ongoing enthusiasm and support means everything 😀 If you like what you see then spread the word: tell your family, tell your friends, tell your enemies. And most important of all: keep that feedback coming (#riot:matrix.org/github)!

Finally, as always you can check out the full Riot/Web and matrix-react-sdk changelogs for all the detailed details.