Move to Simplicity: Authentication Using “Digits”

By | November 17, 2016

The success of one our recent projects depended on how quick authentication for new users was. The aim of our application was to connect users for non-business communication. Because the project was directed at casual consumers, the more simple we could make the sign-up and login procedures, the more users could register, leading to faster acquisition.

We have chosen to use the tool Digits.

Why We Chose Digits.

First, this tool authenticates a user in incredibly fast way: by phone number and only once. Users often forget even their most commonly used passwords. But it’s unlikely they could forget their own phone number. The sign-up procedure need only be repeated when the user switches phones.

Second, Digits is used by Twitter Inc. If you are a developer you might have noticed the names Fabric (the Twitter’s mobile development platform), Answers or Crashlytics (tools under Fabric platform) on the Digits site. Since Digits is on the Fabric platform too, it’s integrated with the other tools. Once you’ve started to use Digits, the other Fabric features are easy to add.

Third, Digits s free.

How the Digits was integrated

The project had been released and already in production when the idea to implement a better authentication appeared. Initially the Twilio was used. But it cost money and, we’ve already used Crashlytics and so there were no barriers to implement Digits.

Digits integration was easy and there were no problems with architecture change. All that we needed was to download the plugin and install it using Android Studio. Then the plugin in automatic mode registered a few code lines in the two project files.

The modified:
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new TwitterCore(authConfig), new Digits());

And dependency to the Build.gradle was added:
compile('') {
 transitive = true;

After this, we added Digits button and did these steps for configuring login form. After compiling, the application had aready-to-use form with one input control for authorization. Another Digits benefit. Similar tools that have a great API but no ready-made UI slow the project development down.


Screen 1. The application with one input control for authorization by Digits

All a user needs to do is input their phone number and send it (to the Digits server). The server generates a random code with 6 digits and sends it back. The user inputs the code, Digits checks it and sends OK-answer to the application. Now the user is authorized. The second time the application is run, no login window appears. Digits will check the parameters for authorization automatically.

If the user switches phones or starts to use another device, all that they need to do is input their phone number again.

No nicknames, emails, or online profiles with passwords.

The Benefits

UX tracking

As mentioned, Digits belongs to a set of Fabric tools. The main feature these tools have is the ability to track user experience with many options. Once you add several lines to your project you are able to watch a dashboard that displays: how the users were logged on, how many contacts a user has, new users and monthly active users.


Screen 2. Understanding conversion funnel with the Digits and Answers (source:

Crash Reports

Developers could track application stability with the Crashlytics kit that is included with Digits. Developers can watch for crashes and crash-free users, and know the cause of this or that crash.

Digits sandbox

This is another useful tool for developers. The sandbox allows us to model some UX changes using mock actions (both success and error states). Possible users actions are simulated before the build is released. And we are able to fully offline test to optimize the user experience.

For more information about Digits please visit the official Digits blog.

As always, feel free to contact us for a consultation!

Leave a Reply

Your email address will not be published. Required fields are marked *