When is the right time to ask the user to signup?
Whenever a new product is developed it’s usual for a developer to start with authentication, after all if an unauthenticated user can access the system and get some data into it, it’s the developer’s worst nightmare that the someone might put a lot of junk into the database. So we get defensive and in the name of protecting the system we make sure that the user cannot pretty much do anything unless he logs in.
While the fear is understandable and justifiable from the developer’s point of view, the customer do not want to provide their name/email/phone before they trust the system in a fear that the developer might send a lot of junk their way. So it’s a double ended sword.
The developer fears that an unauthenticated customer might pollute the database and the customer is scared that an untrusted developer might spam his inbox
As you can see this is a stalemate and someone has to win. Most often the developers successfully communicate the product managers about the potential ill effects of unauthenticated users and convince them that the safest choice is to not let the users do anything before sign-up. And in a way they kind of win.
But in reality that’s not true. A lot of customers faced with an intimidating sign-up screen even before they get to try the product simply leave and never get to use the product in the first place. This situation is not helping either parties.
A word for developers: The internet is not as bad as it used to be. Don’t worry, your product is not the target of the top hackers around the world nor will your competition evil enough that they are conspire to unlawfully bring your system down.
Ask the user to sign-up as late as possible, preferably so late that it’s impossible to go any further without logging-in.
Be mindful that I’m not arguing for an unsecure product here. I do agree with the effects of unauthenticated info in the database, so follow the technique of Anonymous Authentication. As fancy as it might sound, it’s simply about creating a UserId for the user before asking for personal info and treating him as if he is authenticated. And of course you have to model your database in such a way that the Anonymous user can only read/modify parts of the database that only belongs to him and the data is isolated enough to not mess-up other part of the system.
For Zagl, we are using Google Firebase Authentication, which supports anonymous login, so we authenticate all our users anonymously at first, such that they can browse the shops, create their personal shopping-mall and even add items to the cart before they get to see any login screen. One has to login only if he is placing an order.
This has definitely improved the user experience and has gives us a chance to gain the trust of the customer before asking for their personal info and guess what —
If you are about to place an order, you can easily justify your own act of logging in, and that’s a great user experience
To see Anonymous Authentication in action, scan the QR code below:
For newbies — Zagl e-Shopping Mall let’s you setup mobile ordering for your cafe/restaurant on a mobile app for free. For more information checkout the getting started guide.