Sometimes you have to do things that seem crazy
As a front end web developer by study and practice, I tend to follow a lot of similar user experience layouts for my web apps. A great example of this is putting the navigation drawer in the top left corner. However as I am working on a new project I figured I wanted to try something new.
Since the dawn of online web applications, or at least modern web applications since Facebook, 98% or so applications have followed a really simple login flow of allowing users to login with an identity (username or email) and a password. This hasn’t changed significantly (except with the addition of social sign-ins like Facebook or Twitter) in the 10+ years it’s been used.
I figured I wanted to implement the login experience a little differently from this archaic process. There were two reasons why I decided to make a change in the the system I plan on using for the application. The first is because of the weak passwords most people use day to day. I don’t want users to simply reuse the same password they use for their bank accounts, Facebook, email and other accounts they login to. The second reason why I wanted to do this was to make it easier for users to remember passwords by using specific pieces of information as the password. As a user being forced to make a password with more than 8 characters, but less than 26 characters and with at least one symbol, one capital character, and a number is incredibly stressful. Currently when I make new passwords for new accounts I use 1Password’s password generator which works wonderfully, however not all users have this feature at their disposal, nor should they need it.
So how will I be implementing passwords into my application?
I decided to use three separate inputs, the first is the user’s favorite animal, the second is the name of a special loved one, and the third is their favorite number. I chose these three attributes because they are all mostly unique to each user, and also in most cases they are nearly impossible to guess without having intimate knowledge of the user.
Ultimately there will be problems with this solution, as there will be with any sort of changed user flow. However sometimes these changes lead to better experiences both in and outside of the application. For now, only time will tell if the value is greater than the extra effort on the user.