Tag Archives: user experience

Can a smart app have consistent UI too?

While designing user experience at Recruiterbox, there have been many instances where people say “Hey.. isn’t that inconsistent?” My typical immediate thought would like “Dude! I’m trying to make the system smart here.”

I would immediately ask myself the question “Can’t a smart system be consistent?” One part of me would argue that it cannot be, that absolute consistency is nothing but dumbness. The other part would believe there should be a way of achieving smartness without compromising consistency.

One recent example, where I myself had the same question after I almost completed the design is what we call “action-based system”.

Before this design, when you visit a candidate’s profile, there are always two prominent buttons at the top: 1) to move the candidate forward to the next stage of your hiring process, 2) to reject the candidate. No matter what the status of the candidate is, a user knows where exactly to find these actions. Absolutely “consistent”.

Recruiterbox Candidate Profile Header

Consistent but not-so-smart UI in Recruiterbox

On the flip side, let’s say the candidate has just passed Screening and been moved to Telephone Interview stage, but the interview is not scheduled yet. Now, the most probable action a user would do is to schedule the interview. It might look dumb to show “Move to Office Meeting” as the prominent action when even the previous round of interview is not scheduled.

Alright, so how do we resolve this dilemma?

I think it will help if we first answer what we mean by smartness. In my view, a smart system is something that understands different scenarios and prompts me with an appropriate action, rather than letting me figure out what I should do next.

By now, I think it’s reasonably clear that smartness and consistency ARE conflicting aspects. But, they are both useful to the users. So, the answer must be some kind of combination of these two.

I guess taking a look at some other apps will help us get a better clarity. One example I find perfect for this is Android’s App drawer, which I think has achieved a good balance between smartness and consistency.

Image source: bestandroidapps.com

Image source: bestandroidapps.com

Normally, the apps are arranged in alphabetical order, so you roughly know where to find the app you’re looking for. But, recently Android added a new row to the top of this grid, which shows your most frequently used apps. It’s not simply the most frequently used; it is the most frequently used for that time of the day. If I usually listen to music in the morning, it would show my music player in the top row around that time. Maybe I play a game before going to bed. Then the game starts showing up in the top row, again only for that time of the day.

While this is “smart”, it doesn’t affect how I normally find an app – I could either scroll and find it as it’s alphabetically ordered, or I could start typing the name of the app in the search bar at the top. The smartness is restricted to the top row.

In other words, there is a robust base of consistent interface, which is complemented by a layer of smartness.

However, one thing we shouldn’t miss is that what’s considered inconsistent today will become smart tomorrow. For instance, mobile phones used to have consistent buttons few years back. When touch screens were introduced, having different buttons on different screens was probably disorienting, but not anymore.

With the advancements in AI, I’m sure we’ll get used to exponentially increasing levels of smartness in the coming years. We’ll wait and see. Also with different ways of interacting with a system — directly talking to it (voice) and using different gestures — probably the concept of a visible UI will be irrelevant. Until then, let’s build apps with a strong base of consistent UI and a complementary layer of smartness 🙂