App Journal: Avoiding UX frustration by removing friction and making decisions for the user

It’s easy to dream up features, but getting the UX right for those features is typically a difficult task for most designers and developers. More often than not, the final product tries to do too much, and adds unnecessary steps to accomplish what should be simple tasks.

One of my favorite subreddits is Asshole Design. If you’re not familiar with it, many of the posts chronicle horrible user experiences that seem like they were intentionally made to piss you off. In reality, most of the examples come from bad marketing decisions or designers and developers that added features with very little thought to the UX.

Feature creep, poor design and complex journeys are the driving force behind me wanting to create a Contact Relationship Manager (CRM). For example, entering data should be as simple as Fantastical has made it. Fantastical uses natural language for adding calendar events and reminders – something that has since been copied by Apple for its Calendar app.

Fantastical and Apple Calendar app
Fantastical on the left introduced using natural language for adding events, which was copied by Apple on the right.

That same desire for easy data entry is at the top of my feature list, and I consider it part of the minimum viable product (MVP). I experience friction and frustration every time I add a new contact in my Contacts app or any other app that has contact records. In my mind, I should be able to drop the following text into a single textarea like this:


And the software should parse, map, and insert it for me automatically. Then I can either save it or make edits and then save it.

Fastmail Add Contact
Example of Fastmail’s Add Contact form.

Open Source code libraries exist that can do this easily, but I rarely see this approach implemented in software. I want to fix that with my app.

Entering data isn’t the only place where the UX can be improved. Keeping the UI elements and pages to a minimum can also help an app be more intuitive and enjoyable to use. The new version of Fathom Analytics takes a similar approach. They’ve created what is essentially a single page app – both technically and visually – and it works very well.

Fathom Analytics
Example of Fathom Analytics dashboard

The creators have done their best to make some decisions for users. For example, the app automatically saves the last date range used. If a user prefers to see the daily numbers instead of the weekly numbers (its default), when the user returns to the app at a later time, it will display the daily view instead of the weekly view. Doing that creates less friction and does away with the need for a setting. It also, in most cases, gives the view the user wants to see without having to take any actions.

Fathom Datepicker
Fathom Analytics datepicker

There are a few questions related to this that I continue to ask myself as I work on the new app.

  1. What’s the most familiar and repeated UI for a function or task?
  2. Is there an easier way to do the function or task while keeping it intuitive?
  3. Are there any decisions I can make for the user that will make the UX better?

I’m not going to have the correct answer each time, and I’m going to make mistakes. The important thing is to continue to ask those questions throughout the process. If you do, users should be pleasantly surprised with the product.

Related Articles