Hey, this is the Daily Overpass!
My name is Eric and I make apps!
Now today, let's talk about when to authenticate users in your app.
Alright. So today, I want to talk about authenticated apps or apps that require the users to register or log-in
or identify themselves before they could continue using the application.
So, for a lot of our own apps, the games that we put on that app stores, that hasn't really
been an issue.
The only time we require users to identify themselves or to log-in or register is when
we post to a leaderboard like Google Play game services or App center or if they like
to post to Facebook or Twitter, or if we have any social sharing.
Only those cases do we actually ask for authentication.
But the majority of our client applications do require some sort of authentication.
So they might - it might be that they have a backend system or they might require some
sort of payment within the application, or they might - sometimes, it just marketing.
They just want some information about the user.
A lot of the times when we're coding for these applications, after we sit down and go through
the - go through the specifications of the user, we always start with the flowchart and
the flowchart more often than not starts like this.
(shows flow chart) It starts "App Opens", "Is the User Registered or are they logged-in?",
if not send them to the "Registration Form" so they can register or log-in, and at that
point, we send them to the "Main Form".
So, the standard type of stuff.
I think we all know what that's like.
At that point, then they can go and use the application.
But from the user's experience point of view, it's something we try not to do unless absolutely
necessary.
Because from my point of view, it's just one of my little things, if I open an application
and the first thing it does is wants me to register, then sometimes I'll just delete
it, sometimes I can't be bothered, sometimes it'll ask me for a log-in.
Sometimes, and this is very - it's not that rare, but when you have an app and ask you
to log-in every single time you use it, that is super annoying.
There's a special place in hell for developers who create those kind of apps.
For me, you should be able to log-in one time and you're always able to use the app, unless
you install it on another phone, or you log-out, or rebuild your phone or anything like that.
And this is one of the things we have with clients too.
They'll say, "Hey, we have this website.
Do you think you could make an app for it?"
And we say, "Yeah, that you should really be simple.
We just take the existing webcode or whatever it is on PHPC# whatever, and we could write
like a rest day PI on that and we can use that.
The one big thing is we have to make sure that we can get a token-based security.
So, we don't want to get a time-based session where it expires after 3 days until logged
back in because in my opinion, the mobile user expects to be able to log in once and
use it - and just go straight in.
That's one of the benefits of having an app as opposed to going to the mobile web. But
anyway, that's beside the point.
So, this diagram here when we say once the app opens it goes straight to the registration
form.
Whenever possible, and this is, it really depends on how secret the app is and how usable it
is.
We try to push that down as far on the process is necessary.
So to give an example, like YouTube, you can use YouTube without being registered or logged-in.
But if you want to comment, or like or post, or post comments whatever, you have to be
registered.
Or like an eCommerce site or eCommerce app, that'll be really stupid in order to go through
and you launched it and it says, "Hey, are you registered?
Registered?
Otherwise log-in, all that kinds of stuff.
Because all you want to do is give them something.
So, a lot of times - this is just me - I'd like to know what you, guys, do, but for our
client projects, what we'll do is we'll try to encourage them to put something more on
the logged out state.
So, this is the conversation I was having with my team this morning.
We're talking about should the logged-in user state that's most of the application is, but
then we have to think about what are we gonna show in the logged out state.
Or are we just gonna say, "you have to log-in, to register" or quick show a little bit of
about information, is there anything we can give to the user in case they're not logged-in
and everything like that.
Because there's one of my biggest pet peeves with using apps is if I use an app regularly
and I go and start using everyday and one day I go in and I'm logged out for whatever
reason, maybe there's an update or something like that.
I won't log back in to it again.
I may have forgotten the password, I may have forgotten everything about it, and a lot of
times it just sits there and never use.
And it's something - you know.
it's just a thing.
Anyway, those are my thoughts today about authenticated applications.
I'd like to know what you, guys, think.
Do you, guys, disagree with that?
How do you handle this kind of thing?
Are there any applications that really bug you because they do this or do you think it's
fine?
Do you think it's fine just to register or log-in every single time you use it.
So, anyways, that's it for today.
I'll talk to you, guys, tomorrow.