SamuZai
mastodon
mastodon

patreon


iOS app progress report: Onboarding

I'm happy to present to you the first part of the official Mastodon iOS app: The onboarding flow. We have implemented a starting screen that leads into sign up and sign in with server choice.

Both sign up and sign in begin with a server picker that loads information from api.joinmastodon.org (which powers the community wizard on joinmastodon.org), which means that the default display of options is curated, though the search field allows you to directly enter a server's URL instead.

Once you have selected a server, it shows you a summary of that server's rules that you have to agree to to proceed. For this, I implemented a new simplified server rules API in Mastodon, so you don't have to read the entire /about/more page with a lot of irrelevant information, but instead get a line-by-line summary.

On sign up, the next screen asks you to fill our your account information: username, display name, e-mail and password. You can even pre-select a profile picture (though in the API, display name and profile picture can not be uploaded until the account's e-mail is confirmed, but the app holds on to that information and submits it later).

I've improved Mastodon's error response in the sign-up API so that validation errors on these fields can be displayed in a user-friendly and localized manner.

Once the sign-up succeeds, the account is not active until the e-mail address is confirmed. The app shows a screen that tells you that, and offers a way to re-send the confirmation mail if there are problems. I had to add another API to Mastodon to allow that. Once the e-mail is confirmed, the app detects it and the sign-up is complete.

For sign-in flow, once you have selected a server, it likewise shows you its rules, and then switches to an embedded web view where you can proceed to enter the login information directly into your server's forms, go through 2FA, and authorize the app access.

By the way, the starting screen has a parallax effect when you move your phone, but there is not way for me to demonstrate that right now. There will be further improvements. For example, currently I am working on a better follow recommendations API so that a people-to-follow screen can be presented during the sign-up flow. And the waiting for confirmation screen is still missing an illustration.

Thank you for supporting Mastodon. This iOS development project is not cheap and all the Patreon income since February flows directly into it.

iOS app progress report: Onboarding iOS app progress report: Onboarding iOS app progress report: Onboarding iOS app progress report: Onboarding iOS app progress report: Onboarding iOS app progress report: Onboarding

Comments

👍🏽

Rachel Wilson

Hey Gargron, it’s @/guedes here. So damn proud of supporting this app :) Great job!

Gabriel Guedes


More Creators