Meditations on Product Design

This is a collection of unorganized thoughts on the current state of product design:

I’m curious about the similarities and differences between digital product design and industrial design in general. A relatively broad stroke discussion would be that industrial design in the classic sense (e.g. classical Braun, furniture) tend to succeed by embodying the function in the form, and excel by elevating the form. Software on the other hand tends to be confined to the form, as in it being contained within a browser, within an operating system, within a monitor and controlled with a keyboard mouse combination. Since the fundamentals of this user interface restricts to a large degree the degrees of freedom that is available to the designer, it is difficult to break out of the frame and most leapfrogs and only possible when through tight control of the vertical integration between software and hardware (e.g. Apple).

Industrial design provides an opportunity to create an object that stands alone, whereas most software exist within the ecosystems that it lives in (e.g. Windows, iOS etc.). The individual nature of physical objects sometimes interact with others, but due to the relative functional interoperability, allows for more degrees of freedom in mixing and matching. For example, different normal sized chairs can fit in with a dining table since they are functionally coherent, while bar-height chairs with regular tables are going to be jarring. Stylistic mismatches can be fashionable.

On the other hand, software tends to take the opposite stance, the functions of each piece of software running on a platform can take on vastly different functions that are completely orthogonal, but takes on common UI elements such as the menu bar in macOS or Windows. Software that does not take on sufficient elements of its containing platform drops into the uncanny valley (Java apps circa 2000). There are of course exceptions, typically in immersive applications and games are places where UIs tend to blend with the larger theme of the immersive experience.

Interestingly, the visuals of software design seem to have been generally moving forward in one direction. A lot of it corresponds to the advancement in display technologies and the abstraction of skeuomorphic familiarity. Classical design is nostalgic but also looks dated.

Physical objects are typically predictable and final upon being acquired by the user. This is less true these days with software being integrated into more and more physical objects, but even relatively classical technology such as television tend to run on stable standards such as broadcast airwaves and electricity. The user incurs a large upfront cost in both monetary and learning curve terms, but can reuse this knowledge to achieve the goals within the lifespan of the item. For example, if a person desires to make waffles, she can buy a waffle maker, and upon learning a recipe or two, reuse this knowledge to make waffles from the maker within the lifetime of the waffle maker. By the time a replacement is warranted, there is no guarantee that the same waffle maker is available or if the same technology is still around. However, this cost is paid in discontinuous chunks on the users terms (mostly).

Software, on the other hand, suffers from the both the need of the software maker to respond to competitive pressures and external threat factors such as security, and also the need of some software users to not have the software change on them. Typically, because the is no manufacturing to contend to, and no mold to base the software “manufacturing” process upon, the software owner has the freedom to discard existing paradigms and make updates as they deem fit in the name of responsiveness and agility. Does it have to be this case? Not necessarily, but the accumulation of progress debt due to the rest of the soft/hardware ecosystem marching forward can be definitively fatal in a short amount of time as a threshold gets crossed and this keeps software makers on their toes. Hardware widget makers are subjected to the same competitive pressures, but the physicality of the product means that the user gets to keep a snapshot in time version of the technology and product while the widget maker keeps updating it’s process and technology. The technology savvy crowd can and will upgrade and keep up while the rest tend to be less interested. We can see similarities with boxed software, but less so with current software service models.

The competitive nature and relatively low entry bar into being a software provider means that user acquisition can be done earlier, cheaper, and faster as the technological means to solve a user problem becomes feasible. This exerts pressure on software product design cycles to iterate even faster, and as a result increasing number of decisions get made with less information and even less iteration time. The challenge with this model specifically lies with the symbiotic relationship between the user and the software. As software is made available and accessible to end users and users acquire them to improve specific parts of their workflows, the productivity gain is typically large enough to overcome obstacles that may be a result of poor design. As user dependence increases and user base expands, poor decisions gets normalized by being built into user muscle memory and habits. This makes it difficult, once significant market share and momentum is built on an emerging piece of software, for others to compete on design because learned habits are hard to break and even better design can also bring with it a learning curve in addition to other acquisition costs. The opportunities in better design making an impact is when the product category matures, the product becomes commoditized, and competition intensifies where it has an opportunity to be a differentiator, or if the better design represents or wraps a significant enough technological improvement to overcome the barrier (e.g. 10x better).

Maybe as available computing power saturates and device form factor matures, we might see less innovation in capabilities and more innovation in design elevating the software functions. I’m doubtful we’re at that juncture yet.

Physical design has to work within the constraints of physics; Software design is essentially formless. A lot of what people do with software is similar to the work that used to be done with pen and paper, and lots of papers, and files, and folders. Interestingly, what we do as designers a lot of times is understanding the tasks that users want to do with the aid of the computer and design very limited, hand-held experiences to aid users in achieving that goal so that the task can take advantage of the properties of digital, such as low costs of replication, unification, and dissemination. In essence what this means is that digital workflow design ends up being constrained by the shape of data and designers are designing funnels where we lead the user into putting in ever constrained sets of inputs so that they get their desired outputs with less effort.

If I were to be a contrarian, I’ll argue that the very interesting direction to take product design into the future is to lower the constraints placed onto the user but still achieve similar levels of productive outcomes. For example, we can imagine a text input interface that is essentially free form that can recognize and direct the information into the appropriate database fields. Emerging technology today looks like natural language voice agents. But again, what is a designer in that world?