Communities (aka Groups) are here!! Announcing Riot/Web 0.13, Riot/iOS 0.6 and Riot/Android 0.7.4

Riot.im
Riot.im
Nov 15, 2017 · 7 min read

Hi all,

We are super-excited to announce major new releases of Riot across both Web, Desktop, iOS and Android! This is the first time ever that releases for all platforms happen to have lined up in sync… and meanwhile over on the Matrix.org side, there are also releases of Synapse 0.25 (needed for the latest Communities features) and even a new stable 0.3 release of the Matrix Spec itself (after an accidental 16 month hiatus :S)! So: happy release day everyone! :D

Image for post
Image for post
The iOS & Android dev team in Rennes celebrate the new releases in traditional style!

Introducing Communities

Communities in Matrix are a lot more powerful and flexible however: the same room can be part of multiple different communities, and the same user can be part of multiple different communities too: so no having to repeatedly create new accounts for each team like you do on Slack. Finally, we also use communities as a way to let users be recognised for a given role within a room — we call these badges (or more often: “flair”); little icons showing the membership of communities, which the user can optionally show next to their name if the room has enabled it for that community.

But enough talking — what does it look like?

Probably the most common view of a community is going to be the Community Page for the community itself, as shown above for the +matrix:matrix.org “Matrix.org Core Team” community.

The page shows a description of the community set by the community admin (currently as freeform HTML), and then a list of the rooms which should be part of that community. Then on the right-hand side, we have a list of all the users in the community (including their admin status) — as well as a separate list of the community’s rooms (useful for changing their visibility, in case you want to show members of your community rooms which the general public can’t see).

Anyone can create communities by going to the new Community button in bottom left menu — see below.

Image for post
Image for post

This page also lists the communities you’re part of. We don’t currently have a directory listing for Communities themselves, so you have to discover them by people chatting about them or otherwise advertising them. Or if you click on people’s flair then you can jump straight to the Community page that matches it! Talking of flair, in practice it looks like this:

Image for post
Image for post
“Well, I thought I remembered you saying that you wanted to express yourself?”

Communities for now are managed by a single homeserver (e.g. +matrix:matrix.org is hosted on the matrix.org homeserver), a bit like Room Aliases, but we’re looking to decentralise them properly in future.

You will need to be running Synapse 0.25 (released today) on the server for all Communities functionality to work!

It’s also important to understand that this is an initial release — there’s lots of stuff we want to do with Communities which hasn’t landed yet. Obvious stuff on the horizon includes:

  • Actually creating the communities for Matrix.org Patreon/Liberapay supporters at last! (Luke is battling through the Patreon sync script to hook it up as we speak)
  • Automatically adding bridged users to communities. No more ugly “(IRC)” suffixes everywhere; instead we can have little IRC flairs for the different networks! “Welcome to the Freenode community!”
  • Updating the LeftPanel room list to group your rooms together by community, and let you quickly switch between them and toggle them on and off. This is the point that communities get even more interesting, as as you can quickly switch between different facets of your overall footprint in Matrix.
  • Implementing them on Mobile. This is in progress on both iOS & Android currently, but we’re afraid it hasn’t landed in today’s releases.

Anyway, that’s enough on communities — please have a go, create one for your favourite group of people/rooms, and let us know how you get on!

Other stuff in Riot/Web 0.13

  • Support for @room mentions.
  • The new /devtools command from Michael (t3chguy), for all your Matrix-introspection needs!
  • Slovak internationalisation (with 100% coverage!) thanks to Peter Vágner.
  • Under the hood; all our internationalisation source strings are now automagically generated from the app’s source code (very exciting).

As always, you can read the full release notes over at:

Riot/iOS 0.6

On iOS, the big news is that: we have released all the work that Denis Morozov and Aram Sargsyan wrote as part of their Google Summer of Code participation this year!! In practice, this means:

  • CallKit based VoIP calling from Denis: so when you receive VoIP calls they now appear as real native OS calls, like a real dialler app!!
Image for post
Image for post
The magic of CallKit!
  • PushKit based Push Notifications from Denis. This is a huge deal as it means that we no longer have to send any message contents to Apple when you receive a push notification — instead, we simply prod the application to wake up, and it then syncs with the homeserver in the background to receive the contents to display as a notification. This also means that push notifications now work for End-to-end Encrypted rooms!
  • Ability to place calls from Siri (also from Denis)
  • Finally, the ability to share arbitrary files over Riot (from Aram) — technically called a Share Extension. This is an incredibly fiddly thing to get right, but the end result is great!
Image for post
Image for post
Share like you’ve never shared before!
  • And last but not least… support for iPhone X.

Massive thanks and kudos go to Denis and Aram for writing so much of this during a very successful and productive GSoC 2017 — and thank you to Google for paying for them to do so!

As always, you can read the full changelogs at:

Riot/Android 0.7.4

  • Initial support for automatically sharing your E2E keys when you log into a new device. This means that if you log into Riot/Web, you will see a prompt on Riot/Android offering to share your E2E encryption keys with the new session, so you can choose whether you want to see your history on the new login. (iOS support for this landed this afternoon too, but not in time for today’s release on the AppStore).
  • There is still a lot of work to be done here — ideally the key share would happen invisibly (if you trust the new device), but for now it’s a popup dialog that prompts you explicitly to share or not. However, it’s much much better than having to manually export/import your keys all the time (or just have unreadable history everywhere).
Image for post
Image for post
Key sharing from Android to Web!

Other stuff includes:

  • Add external keyboard functionality
  • Refactor and simplify the call UI.
  • Refactor call management (and fix audio path issues).
  • Add a dummy splash screen when a logout is in progress.

The full changelogs are up at:

What’s next?

  • A whole fleet of really exciting features contributed by Travis Ralston: Pinnable Messages; Customisable Presence; and ‘Granular Settings’ — the ability to configure all your settings per-room, per-account, per-device etc as required.
  • The all new Status.im skin for Riot/Web
  • Next wave of Communities UI on Web (e.g. organising your room picker via Community)
  • Communities on Mobile
  • UI improvements for Widgets
  • Long-overdue end-to-end usability improvements on Web (and then Mobile)
  • Performance work on Riot/Web: making it more snappy and use less RAM.

It’s exciting times at the moment — particularly exciting to be making progress again on the End-to-end encryption usability issues which have plagued us over the last year. Riot 0.14 should be relatively soon though — we’ve already merged some of the above stuff to riot.im/develop for instance, and we look forward to getting another new release out as quickly as we can.

Meanwhile, thanks for reading — and thanks for Rioting with us :)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store