Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better FTUE login/register flow #2585

Closed
notramo opened this issue Dec 26, 2020 · 4 comments
Closed

Better FTUE login/register flow #2585

notramo opened this issue Dec 26, 2020 · 4 comments
Assignees
Labels
X-Needs-Design May require input from the design team X-Needs-Product Issue needs input from Product team Z-D1 Issue impacts D1 metric Z-FTUE Issue is relevant to the first time use project or experience Z-Papercuts Visible. Impactful. Predictable to action.

Comments

@notramo
Copy link
Contributor

notramo commented Dec 26, 2020

Currently, login is complicated and very ambigous. I can say from experience that non-techie users don't understand it.

  1. It starts with a screen that provides useless information and wastes attention Remove the pre-login greeting screen. #2390
  2. Then it provides options that non-techie users don't understand (they hardly understand the concept of servers). Mobile FTUE: Choose Server (Android) | "Hard to find where to enter custom server name" #2396
  3. Through these steps they haven't even got to the login or register button.

Current flow:

  1. select server
  2. decide what to do (login/register)

Better approach: (2 options in every step)

  1. decide to login or register
  2. select server

Proposal:
When user opens the app for the first time, two options:

  • login
  • register

Login: two options

  • Log in with Matrix ID
  • Select server (for Social Login, etc.)

The Select server isn't a button, but a text input field, prefilled with faded-out matrix.org. If it would be a button to take to another page simply to enter text in a tiny textbox, the user would remember the login procedure as more complicated, and would be more difficult to explain it to a new user.

The prefilled matrix.org shouldn't have the https:// prefix. The average user doesn't have to know that Matrix is based on HTTPS. It enough to get them to understand that the part after the : in their Matrix ID is the server address.

Register:
Text input field, prefilled with "matrix.org"
That's it.

No EMS promo.
Users who aren't even familiar with the federation concept don't want promos to make registration more difficult. They surely won't pay for a custom server when they doesn't even know what do servers do. #2398 Also, I don't think Mozilla, or KDE decided on EMS by seeing it on the registration page.

No differentiation of matrix.org from other HS-es.
Because there is no difference (except that some very useful features are disabled on matrix.org). And there are higher quality servers in the federation than matrix.org. Differentiating only makes it harder to understand federation.
So it's a better approach to only prefill matrix.org in the server name input box, and add an explaining text under/below: "matrix.org is the largest free public server, but you can choose another if you want"

Reduce the number of steps
If the registration flow has too many steps, users won't remember. Maybe get lost in the app. Non-techie users currently say they couldn't guide a new user through registration. Yes, they have to be guided.

@bahur142
Copy link

Hey @notramo, you have a great vision of the UI. That would be very helpful and easy to use for a regular user. My opinion is almost the same. But I would suggest you different approach to accomplish your proposals.

Instead of complaining with endless number of tickets on what should be done, what should look like, and etc., you can try to fork this project, change what screens/fields/texts/colors/etc. you want and compile it yourself. Then you can register your own app in the Google Play Store (if you want to go even more further). Then you can offer your self compiled app to your friends.

I am not a programmer, but I managed to do all of the above myself and now I have my own fork of the app with changed screens, fields, etc. And my non-techie friends are very happy and we used it every day.

As I can see, you have some commits to this repository, so you are probably a programmer and for you that would be even more easy to fork the project and even to add your own code, not only to change the existing.

No offence, just constructive comment.
Happy holidays!

@notramo
Copy link
Contributor Author

notramo commented Dec 27, 2020

This wouldn't solve the problem that everyone who comes to Matrix uses Element for the first time. And they say "Matrix is complicated". And never come back.

@bmarty bmarty self-assigned this Apr 14, 2021
@hex-m
Copy link

hex-m commented Apr 14, 2021

Login: two options

Log in with Matrix ID
Select server (for Social Login, etc.)

Those can be merged. Just ask for the Matrix ID and autodetect if the server uses SSO (Social Login). #2122

Register:
Text input field, prefilled with "matrix.org"

This will send every new user to "matrix.org". To decentralize the system it would be preferable to have different server suggestions. element-hq/element-meta#703 #2655 matrix-org/matrix.org#95

@kittykat kittykat removed the delight label Oct 13, 2021
@daniellekirkwood daniellekirkwood self-assigned this Oct 26, 2021
@daniellekirkwood daniellekirkwood added X-Needs-Design May require input from the design team X-Needs-Product Issue needs input from Product team Z-D1 Issue impacts D1 metric Z-FTUE Issue is relevant to the first time use project or experience Z-Papercuts Visible. Impactful. Predictable to action. labels Oct 27, 2021
@daniellekirkwood daniellekirkwood added Z-FTUE Issue is relevant to the first time use project or experience and removed Z-FTUE Issue is relevant to the first time use project or experience labels Feb 7, 2022
@daniellekirkwood
Copy link
Contributor

We've recently rolled out a new auth flow on both mobile platforms and so I'll be closing this issue.

Thanks for the feedback and comments :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
X-Needs-Design May require input from the design team X-Needs-Product Issue needs input from Product team Z-D1 Issue impacts D1 metric Z-FTUE Issue is relevant to the first time use project or experience Z-Papercuts Visible. Impactful. Predictable to action.
Projects
None yet
Development

No branches or pull requests

7 participants