← Return homeContact
How To Attract Users by Targeting Their Actual Abilities
Understanding proficiency levels and how to design for them.

Just as all your users may not be the same age, in the same location, or even speak the same language, each of them will have a different skill level when using your product.

Accommodating everyone from the most uncertain novice to the overconfident power user is a delicate balance. Get it right, and you’ll see a visible improvement in churn rates and user loyalty.

Designers typically divide users into three groups: Beginners, Intermediates,and Experts.

The arc of skill acquisition mimics progress in other fields, such as sports.

Let’s take surfing. Beginners practice how to paddle and pop up on the board quickly and accurately. Then, using a big longboard, they venture out to the smallest waves and practice catching them. Like novice users of software, they focus on grasping the basics.

As their skill improves, they attempt bigger and bigger waves. Often they get wiped out, but they begin to catch more and more of them.

Soon, they graduate to intermediate level. They start focusing on improving specific skills, and graduate to using a smaller board to be able to manoeuvre more. Just like intermediate software users, they know their tools’ limitations and can operate functionally.

Expert surfers, like expert software users, focus on the most challenging waves (tasks), and seek the maximum performance from their boards (or their software).

Like the tide (how far can I go with this metaphor?), users’ ability levels aren’t static — they drift constantly. Beginners move towards intermediacy as they learn how to achieve their goals, whereas expert users slowly revert back to intermediate level if they don’t practice their skills often enough.

The result is that most users aren’t beginners or experts, but intermediates.

Most users are intermediates. Experts and beginners tend to be pulled towards the middle.

Let’s have a look at each user level in more detail.


It’s easy to scare beginners. They’re intimidated by complexity, and may be tempted to abandon your app if they can’t figure out how to manipulate the basic features after a bit of exploration.

Novices will put in some effort to learn the basics. Nobody wants to stay a beginner, and learning and achieving goals is intrinsically motivating.

Ironically, Beginners often don’t bother to read the manual (logically the shortest path to skill acquisition — see the paradox of the active user). Beginners dive in and try out any features that look vaguely useful. They learn by doing.

Your goal should be to reinforce this process. Well-designed software should ease Beginners into the fundamentals, flatten their learning curve, and support discovery. Crucially, it should stop them from giving up altogether.

An oft-neglected ‘extra’ user group are the Prospective Buyers. They occupy the same end of the spectrum as beginners, although before the purchase has actually been made.

Prospective Buyers share many similarities with beginners, although remember that they may not actually be the end users of your product. They chiefly evaluate software on how clean, polished, visually-appealing, user-friendly, and easy-to-grasp it seems (see: The Third User).


As we saw with the bell-curve above, most users tend to fall into the intermediate group.

Intermediates have a solid grasp of the basic features, and care most about accessing the tools they use most frequently. Once they’ve found a way that works, they don’t bother learning faster or more efficient methods.

After spending time away from using the software, Intermediates’ memory tends to slip. They have a general idea of how to accomplish a task, but may not remember exactly how to access the feature or which menu it was in.


Experts typically use your software professionally, and have spent many hours mastering features and perfecting their workflows.

They automatically memorise the nuances from the sheer frequency of their repetition. Maintaining this status is hard work and requires constant practice.

Experts aren’t intimated by powerful new features, and usually even appreciate them.

It’s important to remember that Experts may only have that status in some areas of the software. They may be Intermediates or even Beginners in others.

I’ve used Photoshop for over 12 years, and have honed my ability to create UI designs to a high level. But ask me to enhance a photo with Photoshop and I’ll most likely have to consult a tutorial.

Why bother accommodating everyone?

Imagine getting in a car that has every control labelled. Even the steering wheel has a post-it note attached (“Turn to steer the car left or right”). If you’ve been driving for years, you’d probably find this very irritating.

Now imagine stepping into the cockpit of a jet airliner for the first time and trying to get the plane in the air. If it were me, I’d run back down to the tarmac.

Unfortunately, one of these two scenarios is what you’re most likely subjecting your users to. Whether they’re just starting out with your product, or are already experts, you’re either annoying them with too much help, or overwhelming them with a bewildering array of controls.

You stay in business by giving your users (i.e. your customers) what they need. You want users to remain loyal by giving them a useful tool which helps them achieve their goals. You need to make new features easily discoverable so beginners get as much positive reinforcement as possible as they progress. And you need to support the experts who constantly demand more power, speed, and complexity.

Sacrificing one user group’s needs for the sake of another’s is generally not a sustainable business model.

Making sure everyone is accommodated


Often, software developments teams graft on new features to existing interfaces without much consideration for how Beginners will perceive them.

Developers are expert-level users by default, and see additions from that point of view. They don’t realise that each new feature increases the likelihood of confusing and ultimately alienating new users.

The solution is to limit the number of features first-time users see. Only present what they need, and keep the expert-level functionality hidden. You may even find that by offering fewer features initially, Beginners end up using more of them!

As I mentioned earlier, your goal should be to support beginners as they explore your product. However, you shouldn’t be too intrusive — don’t make them feel stupid. Provide instructions that are fast and goal-oriented.

Helping novices “just in time” can really propel their learning. If a user is creating a new document type, for example, it may be a good time to gently explain how to add a header (the first thing they may want to add to the new document).

Identifying such critical tasks with good user research will help you decide how and where to place these guides.

Here are some more guidelines for supporting Beginners:


Intermediates have grasped your product’s purpose and limitations, but their abilities are constantly growing or diminishing as a result of how frequently and diligently they practice.

To support intermediate users, give them easy access to the tools they use most frequently, and reveal more features to them as their abilities evolve. Use progressive disclosure to visibly let these users explore more and more of your software’s functionality as their confidence increases.

Don’t push Intermediates towards using advanced features. These users mostly don’t have time to invest in learning advanced functionality anyway.

Intermediates don’t want to see the guides provided to beginners, so hide these instructions. You should provide small tooltips to jog Intermediates’ memories though, as they’re prone to forgetting exactly where a feature is located.

You should also provide support documentation that’s easy to use. so intermediate users can look up features they’ve forgotten about, or easily learn new features.


Advanced users care most about speed, automation, and customisability.

If your product is mission-critical for experts, make sure the interactions feels snappy and everything loads fast. It may even be worth creating a native version for expert users which exploit all the power of the device it’s being used on.

Experts seek efficiency. Shorten the navigation paths to features, and create shortcuts for everything.

Allow experts to customise their own shortcuts and interface as much as possible. Customisability pushes an expert users’ efficiency beyond what you can provide out of the box, and hooks them into your product. After years of using Photoshop and creating dozens of shortcuts for frequent actions, I’m very wary of changing to another image manipulation application.

Let experts remove help features and wizards designed for beginners.

Remember that experts may still need help — be sure to provide in-depth support documentation that they can consult when handling the most advanced features. Try to conduct regular usability studies to ensure your product is meeting their evolving needs, too.

Should you be targeting anyone in particular?

In general, you should aim to support everyone and help them progress to the next level. There’s a tradeoff between simplicity (useful for beginners) and number of features (useful for experts) involved here.

As we saw earlier, the most common user type is intermediate, since beginners always improve and experts’ abilities tend to wane.

However, depending on your product and your business goal, you may want to prioritise one section of the user spectrum over the others. You should aim to properly understand how skills are distributed among your users before doing this.

For example, your company’s goal may be to scale up to having as many users as possible. In this case, prioritise the beginner experience, and focus on guiding new users to intermediacy quickly and smoothly.

If, on the other hand, you want to target technical experts who use your software professionally (e.g. engineers or accountants), design mainly with the advanced user in mind.

If you’re unsure, focus on supporting intermediate users the most, with minor accommodations for beginners and experts. Many software development teams inverts this by focusing most heavily on beginners and experts, which are statistically the smallest groups.

Importantly, you should make your product adapt to users’ changing skill levels and interest. That’s the best kind of user experience, albeit the hardest to design.