We’re incredibly excited to introduce the first ever public beta of RiotX on Android today!
RiotX is the codename for an entirely new Matrix Client built by the Riot/Android team, intended to replace Riot/Android in the relatively near future. RiotX is written in Kotlin rather than Java, and makes use of all the latest Android frameworks (all concepts introduced by jetpack/androidx) and best practices — particularly clean architecture, single source of truth for data and proper DB storage (Realm).
This means that the app should be roughly 6x faster for most operations than Riot/Android — particularly at start up — and we expect to see if get even faster as we polish the beta.
You can get the app from the Google Play Store (or the unofficial F-droid builds from Krombel) and come talk about it on Matrix at #RiotX:matrix.org. And of course, the app is open source under the Apache License v2, with the source available from https://github.com/vector-im/riotX-android.
It’s in Beta — what does that mean? 🚧
RiotX is still in very active development, but we’ve put out a Beta release because it’s “ready enough” for you to try it out and let us know what you think. Being in Beta means:
- Some features are not yet implemented
- The features that are implemented almost certainly still have bugs!
- The UX may be incomplete in some places, and may well change before we exit beta
- We’re not fully stable yet — you should expect the app to occasionally crash
We’ve implemented feedback mechanisms in the app for beta users to report bugs and suggest features — please hit the menu in the top right to submit feedback or shake the phone to report a bug. The whole point of the beta is to gather feedback, so please keep it coming!
All new interface! 🦋
RiotX is experimenting with some major changes to the user interface:
- We’ve removed the horizontal-scrolling ‘Home’ screen in favour of a much simpler home screen which just lists the rooms with unread messages so you can quickly catch up on what you’ve missed. (In practice this is how most people seemed to be using the old Home screen)
- We’ve removed the Communities tab. Communities now live in a slidey draw on the left hand side — this is in preparation for communities getting a major facelift and becoming much more useful.
- We’ve removed the Favourites tab; if you have favourites they now sit at the top of the conversation list in a section of their own.
As a result, the app should be much much simpler and lighter to use!
Which features are ready and what is still to do? 🚀
On top of the dramatic performance improvements already achieved through the rewrite, we’ve focused on delivering the most valuable functionality up front. In RiotX you can already:
- Login to an existing account
- Create a room and join public rooms
- Accept and reject invitations
- List rooms you’re in
- Chat in end-to-end encrypted rooms
- Verify devices for encryption by comparing emoji
- Restore end-to-end encryption backups
- Send and receive files
- Receive push notifications
- Light, Dark and Black themes
- Configure your user settings using a nice configuration hierarchy (shamelessly stolen from Riot/Web)
- Edit messages and react to them with emoji! (experimental)
There’s a lot of work still to do to achieve the same feature set as the existing Riot/Android app — some of the most notable omissions are:
- Account creation
- No identity server support yet
- Handling unsent messages
- Searching for rooms by name
- Room settings (list room members, etc.)
- Room versions (upgrades; awareness of multiple versions)
- Read marker support
- Creation of direct chat rooms
- 1:1 and conference VoIP/Video calls
OMG, it has editable messages & reactions!!! ❤️
Yes, yes, it does :) These are experimental (MSC1849) and the latest develop versions of Riot/Web and Riot/iOS have them too. Feel free to play with them; we’ll announce them properly when they’re ready!
How does this relate to Riot/Android? 🐼
For now, Riot/Android is still available but only getting minimal bug fixes and maintenance work. All new features (e.g. Edits, Reactions, Encryption cross-signing etc) will land on RiotX. Moreover, once RiotX has feature parity with Riot/Android, we will likely rename RiotX as Riot and replace today’s Riot with it entirely.
So, there you have it. Welcome to RiotX, and we hope you have fun testing the beta. Please let us know how you get on!