The apocalyptic tendencies of recent weeks has me thinking of resilience, and resilient products.
There's quite a few examples from my life where I really appreciate a certain tool's resilience over time, and where that specific quality is the best way to summarize why I enjoy the thing so damn much.
When looking at these examples a bit closer, there are a few features and design patterns that come to mind that contribute to their resilience.
The following is a (non-exhaustive) list of some of those that stand out.
1. Resilience to use
Any resilient product, digital or physical, needs to withstand use.
This tends to be one of the few deal-breaker qualities that often decides whether I'm bringing tool, clothing item or software app into my daily routines. Anything that doesn't withstand heavy use, occasional carelessness, or even misuse, ultimately adds a mental burden – often not something I want to deal with.
A few different characteristics of products contribute to this.
- Durability. This one is simple. Durable and robust materials, construction or code naturally contributes to resilience.
- Repairability. When loss of quality can be restored, durability is less of a concern. For example, look at how damage on a wooden table can be restored through sanding, or how restarting your phone might fix a persistent software issue.
- Improvement through use (i.e anti-fragility). Ultimately, even repairable items can add a burden to the experience of use, even though they can be restored. The ultimate form of resilience then, is for a product to get better with use. Examples include a well seasoned cast-iron pan, a Dyneema bag that wears with patina, or a software application that and adapts or improves itself based on usage, like Spotify's Discover Weekly.
Between these concepts we can also add the ideas of Wabi-sabi and graceful degradation — thinking of how well products handle imperfection. On a perfectly smooth surface, any imperfection stands out. Organic shapes, textures and design that is meant to be naturally imperfect handle added imperfections better, which is a form of resilience to use.
For software specifically, resilience to use is often seen in how a program handles to bigger and bigger libraries of accumulated data. An app or an operating system might run fast when working from a clean slate, but after continued use the amount of stored data and configuration might degrade the quality of the experience.
2. Timeless form and function
Designs that jump on trends and use fashionable details risk losing it's value as the trend passes. This makes the product less resilient over time.
Visual UI design is a clear example of shifting trends in product form. Over the last few years a Skeumorphic design trend was exchanged for minimal flat design — a very stark difference in appearance. Since these very clear shifts it's almost like the industry have been actively searching for the next train to jump on, with Neumorphism being the latest in rising to popularity.
While software design might not yet have developed classics similar to the fashion industry, for most software products there is (at least) a platform standard that can be used, like the Human Interface Guidelines from Apple.
This can help software products not fall out of fashion through using established, more long-lived patterns. In some cases, following platform standards can even make the product evolve and follow new trends automatically, as the platform gets updated.
Trends doesn't have to be all about appearance. Certain types of interactions or functionality can also rise to popularity and fall out of fashion. An example that stands out to me is the QR code. It got so trendy a few years ago that most product and marketing campaigns jumped on the bandwagon. A few years later only a few of those use-cases survived, like authentication between apps.
So how do you know when something is a passing trend?
I mental model I like to use is the Hype Cycle. Design patterns likely should have followed the full cycle to get resilient, as they reach the plateau of productivity.
3. Uses proven technology
Sometimes time needs to pass for a technology to reveal it's reliability.
Matt Ström brings up a interesting example on why PDF never was succeded by web technologies:
One reason that pdfs continue to be the bread and butter of academia: pdfs don't get wiped away by moving CMSs or updating a database. I wish the web today was as resilient as Tim Berners-Lee envisioned it.
— Matt Ström (@ilikescience) March 1, 2020
It might not have been obvious weakness of HTML from the start, but the web grew less resilient as it rapidly evolved to support much more than documents. Now PDF is as resilient as ever, despite lacking many features compared to web browsers.
Toyota famously makes very resilient cars. A strong contributor to this is likely how they are comparatively late in adopting new technology. If an engine did stand the test of time, why change it out for the new model? Sure, you might lose out on the latest and greatest, but in exchange you get something that's been proven reliable based on long-term use.
Synthetic testing in a lab (or writing testing code for software) is a start in discovering quality problems, but it's likely not enough compared to testing through sustained use over time by a big group of actual users.
4. Uses standard, system components
Adhering to a set of standards (or a system) helps make products more resilient in multiple ways.
For hardware, components that are replaceable simplify repair. When components or parts also adhere to an open standard, the components are likely more easily obtained, and easier to replace without specialized tools or knowledge.
Standardized systems can also enable products to adapt and have it's functionality extended beyond the original purpose of the design. Whether you are upgrading a PC or adding a shelf to your 606 Universal Shelving System, the system helps the product adapt.
The 606 Universal Shelving System is timeless; it moves with you when you move; and constant additions and improvements ensure that it always caters for today’s needs.
— Vitsøe
For software, using system components that adhere to the platform (HTML, iOS etc) can also help products adapt to new contexts. A simple example is how a HTML website can be read out to a user with a screen reader, or how a bright user interface can turn dark at night with on your iPhone.
5. Relies on fundamental qualities
For this last note, lets dive into something a bit more abstract.
For many categories of products I think there is a fundamental, underlying quality that determines how good a something is at doing it's job. These are qualities that are genuinely beneficial to all forms of use, and tend to reveal the level of dedication and craftsmanship from the designers and engineers.
For software, this aspect is speed. A fast software application, that does what it's supposed to to quickly, always has a fundamental advantage compared to other apps. No one describes this better than Craig Mod in Fast Software, the Best Software.
Speed and reliability are often intuited hand-in-hand. Speed can be a good proxy for general engineering quality. If an application slows down on simple tasks, then it can mean the engineers aren’t obsessive detail sticklers. Not always, but it can mean disastrous other issues lurk.
– Craig Mod
For hiking gear, lightness is such a quality. A lightweight tent, garment or tool will benefit the user over every part of the journey. Similar to how fast software has a cult following, the same exists for lightweight hiking gear.
These fundamental qualities serve all other qualities, and also helps make a tool multi-purpose. As long as your kitchen knife is the sharpest tool in your kitchen (it's fundamental quality), it will keep being the most multi-purpose tool in your drawer.
When circumstances change, the product can still adapt to serve a purpose. This is possible since it doesn't rely on niche features that serve a specific scenario.
Thoughts? Email me at oscareriknilsson@gmail.com.
You can also comment on Twitter, or follow me for regular updates and new posts.