When the user opens the app for the first time after install, the user sees 3 buttons, which represent the 3 methods of authentication. In the future, when Matrix supports it
For every method of authentication, the fact whether it's a login or a registration, is determined whether their main identifier (phone number, email or username) exists on the home server. If it doesn't it's a registration, otherwise, a login.
In every first stage of the authentication, when the identifier is specified, an advanced button is display in the top right corner, in a semi-hidden way. This button opens a different overlay screen where the user can specify their home server and identity server.
This option consists of a radio button with two options:
- Default home server selection
The default home server selection tries different when querying usernames (and logging in if
found) home servers, in this order:
- A text box where the user can enter a home server url.
Text box with default value: 'https://pattle.im'
1. Phone number
The phone authentication button is the most prominent one, because this is what most casual users are familiar with.
When choosing the third option, the user is expected to be a bit more knowledgeable about Matrix and technology in general, however, everything is still made as easy as possible according to the philosophy of Pattle.
The authentication flow for username authentication is as follows:
- Avatar & display name (registration only)
1. Username input
A screen with one text input: the username. This can be specified in two formats:
- A fully qualified Matrix ID
A complete Matrix ID in the format of:
@wilko:pattle.imSee the Matrix spec for details. If this format is used, the [homeserver] will be used to login, and will also be set in the advanced options. This will override any setting present in the advanced options.
- Just the local part of a Matrix ID
This can only contain letters, numbers and
Offline check are done to make sure that the input is correct.