App Login
Anthony Agby
The way a user logs in is an important question you need to answer, when creating a mobile app. It is usually your user's first introduction to you and your product. Your login signals to them what information you want from them and how you're going to use it. When you pick a login method for an app, you have to balance simplicity, the information you need, and how averse your users are to data collection. Some apps don't even need a login.
Apps that do not require a full login system are usually basic information apps. They are solutions to simple questions. Where is this? What is that? How do I get there? You are providing your user straightforward information. There is little to no customization and only basic preferences at most. They do not need a profile to show you or other users. You do not need demographic info from them for advertising purposes. They are coming to your app for a specific reason. You know what they are looking for.
For more robust apps, you should have some method of login. This allows you to track a user across devices or on multiple logins. The user benefits from a login method, because it allows the app to retain their past actions and profile information. They don't want to re-input their information every time they open the app.
You can develop your own login method. This allows you to request all the information you want to use, but it comes with some problems. First, a user can put in whatever they want; throw-away email, fake picture, fake name, etc... Secondly, this is a sub-par user experience and can lead to a loss of potential users. Users want speed and to get to your content quickly. They don't want to play 21 questions and some of your questions they may refuse to answer, derailing the whole process. It's hard to make a custom login fun and easy. If you absolutely need custom information from your user, either combine it with a social media login (more about that below) or break up the questioning to relevant sections and features.
Instead of building a login system from the ground up, you can use pre-built login calls from various social networks. This allows you to use their pre-existing infrastructure and user data to create profiles quickly and with minimal user effort. Twitter and Facebook have login systems that require the push of a button to get a user's information and setup a profile. Twitter will provide you with a profile picture, twitter handle, and a user name, while Facebook login can give you access to all the available Facebook information a user possesses, under certain conditions. You can also leverage these social networks to directly post content for your user (ex news app). There are many more social media login systems outside these two heavy-weights, so pick the one that goes with your target demographic (ex Linkedin for business apps) and the information you need.
The smartest non-social media login system that I've come across is "Digits". It's a system from Twitter in their new Fabric API. It simply uses your phone number to confirm you are the user of that device, through a text message confirmation, and provides the app with a user ID. This ID can then be used to customize everything to that particular user. Your users can log in and out with Digits and retain all the customization and changes they've made. In the near future, Twitter has promised to allow this system to use a phone's contacts, so you can automatically create social connections in your app that exist in real life. It's a login system that's not tied to an existing social network. Why is this beneficial? Digits allows the user to know that the app they're using is not mining their social media information. It also is great for app creators, because many demographics do not have access to certain social networks or do not want to give that information out (think young adults and non-Western countries).
When building an app login system, the big question is always 'Why?'. Why do you need a login system? Why do you need this piece of information? Why is it done this way? Once you answer the why, then you can fill in the details and go from there.