How to make great products: smart defaults


Of all the different things/traits any great app has, smart defaults are arguably among the easiest to get them right and to implement. Now, remember that great apps are great because they do a number of things very well; they are not just a one-trick pony.

A smart default helps with the flow: users have one less decision to think about. You shouldn’t skip over a chance to make the user think less when using your app and spend less time while doing it. Users have a personal life and it is very unlikely that one of their new year resolutions is “spend more time in your app”.

Let me give you a couple of examples and then you can decide if I’m on something or not.

Start Up and Smart Defaults

One big opportunity to implement a smart default is at start up time. Most apps that deal with creating content offer a screen, right after start up, that lets the user choose between different templates or open one of the files that were previously created.

Most apps group each category in a separate tab/view. If the user wants to pick up an option from the second group he has to switch to that group first and then choose the option she wants.

Suppose you start the app and choose an option from the second group (for this you first tap on the second group to display its options). If you repeat this process ten times, most apps will show you the first group each time*.

So why not make the default group the one that was used last time? If you want to go really fancy you implement this smart default and add an option in the app’s settings screen that gives the user an option to “hardcode” the default group.

Repetitive Tasks/Operations and Smart Defaults

Another good opportunity for using a smart default is when you offer a number of different options after an action was performed. Typically the apps apply the first option and display an UI that gives users a chance to apply a different option if they want.

For example, a text editor may offer users a number of options to format the text copied from a browser: “text only/formatted/…”.

Most apps tend to apply always the first option. Even if the user has always chosen the second option. This is not smart.

Why not remember the last option used and apply by default that option next time the same operation is executed. If you want to go fancy, you can change the default per session – as in applying a different default until the app is closed, and when this happens revert to the built in default until the user choses a different one in the next working session.


You can see now why I said this is one of the easiest things you can do for improving your app. Fortunately, you can also measure it – you can instrument your app and measure if such a change reduces the number of clicks or not. And as with any other user interaction you can also validate it by doing user interviews.

Just one more thing before you go: great apps get this “title” because they get a number of features/interactions right: some are small, some are big. Make no mistake: small features can have huge impact to the overall app quality.


* I tried with some well known apps: open the app switch to a different tab from the open screen and close it. Open again, chose the very same tab and close the app. Repeat. Repeat… They failed to change the default tab.

Leave a Reply