Thinking about user experience in terms of friction
It’s been said that Snapchat’s gesture-based design was good for attracting young users as they felt only they could understand the mechanics and grown-ups couldn’t. Still, Snapchat’s UI is very simple or ‘low friction’. You don’t need to go through a lot of screens to perform an action and all the screens have a limited set of actions so you don’t have to spend time looking for the right one.
Chances are your app can benefit from the lowest friction possible. I strongly advocate for very simple designs but I feel it’s important to nuance this point of view. An app with a very simple main screen and few buttons or information will inevitably have more screens to host other features or information. While everything on the main screen has very low friction, everything that ends up on secondary screens will require more action from the user to reach and have more friction than, for example, if everything was crammed onto the main screen.
It’s not possible to make everything low friction so designing your app’s UX means prioritizing the smallest possible set of features a user will need and making them super-accessible. Have space to put word descriptions on or under the buttons. Users shouldn’t have to squint to read the fonts. Your next task is to try to make the rest of the features passably accessible in secondary screens, grouped in the most intuitive ways. This is a very challenging element of the work.
It also means you need to think really hard before adding a feature to your app. How can you add the feature without adding too much complexity for the user? Does this feature belong in another app maybe?
This way of thinking might date from simpler times where all phones had smaller screens but some of them still do and a smartphone user doesn’t put the same focus on what’s on screen as a desktop computer user would. A phone is used in a variety of situations where distractions are the norm.
Finally, don’t forget that sometimes friction is what we want: if your app is very light and can load instantly, it’s good for your brand to delay it and show a splash screen long enough for the user to see it properly. If an action inside your app is ‘dangerous’, like deleting something, it’s good to add steps before it’s completed. Alexandre Dewez has a great post on this topic.