- posted May 13, 2018
There is an interesting concept that Tim Parsey used to talk about. He thought of three levels of design. Design that is 1. Rational 2. Emotional and 3. Meaningful.
This is indeed a very useful framework to look at software development. Let’s look at how Tim defines these three parameters.
1. Rational Design: This is purely a look at functional design. It means that the design meets all the defined use cases. The basic needs that must be filled each day. This includes utilitarian things such as checking the weather forecast, finding information, and communicating.
2. Emotional Design: This is design that touches you on an aspirational level. It includes the desires that people require to enjoy contentment. It includes being entertained, inspired, educated, and amazed.
3. Meaningful design: When the designs include ways to perform higher aspirations that bring about a peak of daily bliss. This includes sharing and receiving, and feeling like you are a part of something larger than yourself.
Tim talks more about meaningful design in this talk at TEDx Conejo
Personally, however I have a slightly different view of these three levels. At the lowest Level, I agree, the basic is rationaldesign. Beyond rational design, I see software as being liberating and beyond that, fulfilling.
Rational design, according to me, however has three sub-levels. 1. Viable Design, 2. Persistent Design & 3. Lively Design
A question one may ask, is why a need for this sub-division. While software can be well designed visually from a usefulness point of view they become useful only when the reach the level of a lively rational design. Let’s see how these three sub levels can be defined.
One of the most familiar designs we all have at some time or the other designed would be what termed as the minimum viable product. While I completely agree with the fact that software development has to be iterative, the idea to release to your user base, a product that is just about viable is dangerous. Release early and release often, but do not make the mistake of releasing something that is so half-baked that your user does not come back to it. Viable design, by that definition, is something that takes care of the bare minimum use cases and is functional but does not motivate the user to use the product beyond handling the tasks the user set out to complete.
Persistent design, goes one level above it and take care of all the use cases and actually does a good job of motivating the user to use all the use the features on the product. It ideally also make sure it plays the catch up game well and has on paper all feature parity with competition.
Ideally a product should be released to users at this level. It is a point where you have the minimum desirable product. And delivers a lot more than a minimum viable product and ensures that early users are not lost while testing out the product. You can of course release to a closed, motivated, group of user at any point before this but the product should not be available for general access before this.
However the real ration design is one that delights the user and makes it desirable to use the product, hence the name Lively design. This is a design that makes sure all the features that competing products have are already worked into the design. It also does a good job on making sure that motivation levels for users to complete these tasks are met. It actually goes on to let the user use the product in ways that it was not originally designed for.
This is the level of design excellence that most designers strive for and is something that is quite prevalent. Beyond this level we see the two types of design that further improve on the experience.
Liberating design is the next level and at this point the product almost becomes invisible and the user is just concerned with the the task at hand. An example your be the default text messaging app on the phone as long as it does not add any cognitive load on the user.
Fulfilling design is the final level of software design where the software actually facilitates an ecosystem that allows others to build rational and liberating design without any additional cognitional overload.