Optimizing Hints in your Android Application

M Farhan Majid
Bobobox Engineering
4 min readJul 18, 2022


Introduction to Series

Welcome to “Bobobox: Building Seamless Android Experience” Medium Series!

In this new exciting series, we are going to talk a lot about building Android application that provides seamless experience for its users. Not just theory, but also some hands-on coding. We are going to use Bobobox’s Android app as our main use case.

But wait, what is Bobobox? 🤔

Bobobox is an emerging hospitality company in town that strives to create simple, affordable, and seamless experience for its customers. You can book your room, check-in/out, and control your pod with a simple touch on your smartphone.

In this Medium series, we are going to use Bobobox’s Android application as the main use case for our discussions. The articles will be divided into multiple categories that are related to Bobobox’s mobile experience, such as authentication, identity verification, booking, and many more! Hopefully, this series could provide inspirations for building your next Android app!

Without further ado, lets’ dive into our first article!

Optimizing Hints in your Android Application

Defining Seamless

Before we start, let’s clear up the definition of “seamless experience”.

“Seamless” might sound like very abstract and unquantifiable parameters for measuring user’s experience.

There are many definitions that you can find on Google. However, as a developer, there are some good rules of thumb that we can use to determine whether our is seamless or not, such as:

  • How many actions (clicks/keyboard inputs) do the user need to do something?
    Generally, fewer actions mean fewer user mistakes and more productivity!
  • How easy it is for users to switch to our Android app from other platforms (such as our website) and vice versa?
    Think outside of the Android box! Incorporate other platforms’ journey as part of your Android app experience.
  • How well does your app handle failures/errors?
    Yes, errors will happen no matter how tight your ship looks like. What makes a difference is how our app reacts to them. Think of the users first. Accommodate them as well as possible in cases of failure.

Hint Optimization in Android

Let’s start small with our journey. Starting with optimizing hints!

Take a look at Bobobox app’s login screen below.

In this login screen, user will have to input their email address (or phone number) and password. In a normal case, user will have to type in their email, phone, or password manually. You might not consider this is a big deal before, but that’s a lot of keyboard clicks that user has to perform!

If my email is “hanmajid@gmail.com”, then I have to click the keyboard at least 18 times for each character. That’s too many clicks! (Remember our first rule of thumb of seamless experience: Fewer actions, more productivity!)

We can help reduce this number of actions by optimizing hints in our input elements.

In Android, we can simply add android:autofillHints property in our inputs. This property makes sure that Android’s autofill service will provide the appropriate hints for the inputs. Take a look at code snippet below to see how we add the property in the email input.

You can optimize all kinds of inputs, such as email address, credit card information, and postal address. Take a look at this documentation for the full list!

Aand, that’s about it for optimizing hints!

With this very simple improvement, Android autofill service will be able to provide useful suggestions for users and help you achieve seamless experience for your users.

Take a look at the demo below and see for yourself! Now, user doesn’t have to type in their email manually anymore.

Optimizing hints in our inputs can help Android autofill service provides useful suggestions for users!

Do you Like this Article?

Leave us some claps 👏 and follow our Medium publication for more articles like this.

And don’t forget to download our app in your Android or iOS and book your first room in Bobobox! 😀