When I first stared designing, I just wanted to create something, to realize an idea. The world of creativity always seemed too free and open to me, yet the endless possibilities can be overwhelming. I did not know what this was, till I went to an IDEO talk about “designing with constraints” during my Masters in HCI (Human-Computer Interaction).
In UX process, you will start a project by doing some initial user research or secondary research, this helps gather basic information and understanding the problem design needs to solve. After that, we explore design options before finally find “the one” that is both practical and pretty.
Imagine you’d to start a project without the research or the problem definition! Yes, you can create something that is artistic and pretty, but design is always about solving a problem and delivering solutions essentially.
For example,
Requirement 1: Design an app for dogs.
Image below show s a quick design wireframe that has a newsfeed for people to post cute dog photos and sharing with each other.
Requirement 2: Design an app to help dog owners find close dog parks so that they can easily take their dog and allow dogs to make their own friends.
Image below shows an low-fi wireframe of an app with dog park maps, user profile, and a message feature for dog owners to chat and meet.
Requirement 2 offers a clearer directive, making creativity flow more readily as there's a defined problem to solve. The overall design seems much more purposeful and specific.
Thorough understanding of users, their needs, and desires enhances design outcomes and ultimately boosts sales. These are constraints that not only does not restrict you, but make you a better designer.
In reality, there could be a project that doesn’t have a fully-built team or timeline does not allow additional time to gather info. However, we can still make assumptions and hypothesis to help us get started. If we were given requirement 1, then some proper assumptions to make would be:
The app is actually for a dog owner who wants to help their dog’s needs.
A dog would love to have enough outdoor time per day and adequate exercises.
A dog would love to spend more quality time with their owner
This app could be for a new dog owner who’s just exploring ways to entertain and train his or her first dog.
But you can see, the absence of constraints can make a designer's job exceedingly difficult. You can go as many direction as you want! This could potentially resulting in a Frankenstein product that struggles to find a dedicated user base because it solves many problems partially but never entirely solve one.
the same applies to design system designs.
When working on a new design system, consider starting by looking at existing use cases and contents. These will be your constraints. Instead using a MUI Button component as is, you will now know what props would you keep and what else need to be added for your product. Without these constraints, you risk creating a design system that nobody can use.
for example,
Requirement 1: Design a button
Image below is just a basic button.
Requirement 2: Design a button with optional icon display and label visibility.
Image below shows that the button that has icon, and label props marked. There are even additional considerations for bg colors.
Requirement 2 is much easier to fulfill since the specs are clearly listed out.
However, excessive constraints can stifle innovation. We don’t want to say no to every single innovative idea, that is not the goal. If take take the Button example above and add requirements like:
the border radius must be 4px,
the bg color must be primary color.
This is definitely getting absurdly restrictive. Additionally, the case of having only one button color is somewhat rare across the internet, usually there is a secondary button to help show more visual hierarchy anyways. The constraints need to be reasonable.
The sweet spot is just enough reasonable constraints to foster a harmonious interplay between limitations and creativity.
So next time, when starting a project, try make a list of all the problems to solve, write down features that can help address these issues and draft some specs to give the design a jumpstart.
Mastering the constraints will allow conquering of any blank canvas.