The most important aspect of any app is the authentication user flow!
The most important aspect of your app is not the beautiful awesome feature you have inside, it is the authentication feature: login, registration, forgot password, OTP, verify email and remember me.
If your users can’t even log in at all, all the other features you built inside are useless.
Many apps of big companies in Nigeria fail this simple test eg.
1. Konga mobile app does not log in most times.
The last time I checked, When you click “login” it brings you right back to the login page with no error messages.
2. Banking apps fail login many times per day.
3. Flutterwave’s barter app confuses the login process with registration and throws errors, also doesn’t know the difference between a phone number and an email.
Authentication is actually a blind spot for developers because most developers log in once and stay logged-in throughout the life time of the app.
If you run a startup, make a rule that all tests must begin with fresh user registration and login each time, you will be amazed at how often that process breaks.
Even if no tests are written for any other part of your app, make sure you have tests covering your authentication section.
Secondly, make a habit of testing your app yourself by creating fresh new accounts each time.
Finally, put a “Having problems? Contact admin.” button right there on the login or registration page.
Below is a screenshot of Flutterwave’s barter app with too many authentication problems.
How do you confirm phone number by sending otp to email? Then when the otp is submitted you throw the error that email already exists. Wahala.