Why do we care about the balance between flexibility and usability?
This blog post is about how flexibility and usability play together to create software. Every project is different and each requires a fresh look at both to make the software meet the needs of your users.
So many times as designers we are encouraged to think flexibly, how can our designs adapt and change to various outside inputs, screen sizes, and a growing number of feature requests that could come down the pipeline. But sometimes, or more often most times, flexibility in design costs us a great deal of time. It increases complexity for both us building the system and those using the system. Which in turn costs us usability.
This article will show how you can use UX principles and techniques to reduce that complexity but maintain a great deal of flexibility.
What you need to know
To get the most out of this article, it’s best if you know a little bit about User Experience Design and Application Design. You might also want to check out the book Don’t Make Me Think by Steve Krug.
This is so important because as designers iterate over features and versions the systems we make typically become more and more complex.
Buttons get added and content stuffed in as new discovery is completed and new features are added. It also makes it very hard to feel like you are making forward movement when you are constantly trying to reduce complexity as it arises throughout a project.
Wouldn’t it be great to be able to have a design system that allows you to iterate over fidelity and details rather than going back to the drawing board when missed requirements pop up. Wouldn’t it be really great to minimize those missed requirements and see your system holistically right from the start?
You’ll most likely use this when you are just starting a new project, outlining a new feature, trying to reduce complexity.
Maybe I should just say you will use this almost anytime you are working. These techniques are useful all the time.
Flexibility Vs Usability
Flexibility typically translates to I can do all the things. Usability the path is clear and easy to follow.
Think about a universal remote or even something like a WordPress site. These would be categorized as highly flexible. They can do a lot of different things bring together many different systems into one spot and provide you with all the tools to make it all happen.
But when you think about how usable these things are what comes to mind?
- a steep learning curve
- not all features are used, probably only a subset
- fear that something is going to get messed up with the set up
- features are really discoverable without a lot of work
I mean I feel this way when I think of an application like Word. It always is trying to do too much for me with it’s auto formatting. I can’t ever get the numbering to work right, the images always feel out of place, and when I want to add in something new it makes everything else act strange.
Now if you think about a tool like a kuerig on the other hand. It is highly usable but not very flexible.
It has very few controls and buttons. You basically select the cup size and you are off to the races making it really easy to use.
But you have some downsides…
- one cup of coffee at a time even if you have a large group.
- always making more trash for each up of coffee
- can’t make hot water with it
Software and flexibility vs Usability
So we’ve talked a bit about physical items and flexibility vs usability so let’s dive into software.
Some of the concerns that come into making software that affect flexibility and usability are
- responsive design
- the user journey
- connected content
- site structure
Each of these are a sliding scale that make your software more or less flexible and usable.
If you are making niche software with a very specific use case you will probably make choices that help guide your user on their journey in less flexible way. But consider making a system that is highly configurable because it is a solution that can be used across different industries or businesses and the users will have the ability to basically define their own world within this system.
This will make it more difficult to use but makes it really flexible but will make it more difficult to use until you get to know the system.
To wrap it up
Now that you’ve learned about we’ve talked about what considerations go into designing flexible and usable software, take a look at this article on the Tradeoff between the two.