Simple, yet powerful. This is one of my guiding principles when designing and building a user-interface.
Your app should be simple enough that your users can get started easily without much friction, but provide the ability for power-users to thrive.
- Don’t overload with features, options and settings. There is plenty of research suggesting this might be a bad idea: Analysis paralysis, decision fatgiue, Hick’s law, Paradox of Choice
- Useful defaults with presets or templates – anticipate the most common actions, and provide templates or defaults to speed this up. This will get new users going fast with minimal effort.
- Inline help to guide your users through their journey and provide contextual help at the time it might be required. Not a full guide, not an onboarding flow. Instead, small in-line tidbits of help to assist along the way. This can often be integrated directly into the interface as descriptive microcopy.
- Keyboard shortcuts – provide as much functionality as you can via keyboard shortcuts
- Power menus or quick actions can by summoned via a key command to quickly perform contextual actions
- Advanced settings and options should be possible but not front and centre. Always question whether adding more options is really required and ask if there is a better way to provide capability without displaying a wall of settings.
You will need to find your balance of simple/powerful to empower all your users. It’s very easy to just provide a wall of options so try to figure out what your users really want to achieve. Maybe there’s an underlying inneficieny in your app’s workflows that could be addressed, instead of providing a new setting? Can an option be applied automatically, based on surrounding context?
By keeping advanced features out of the way of new users, but at the fingertips of power-users, I believe it’s possible to have all users across the skill spectrum love your product.