Design Concepts After Hours: March 8 networking event and presentation focuses on the consequences of measuring what doesn't matter. RSVP today.

Life cycle considerations in the age of software-enabled products

February 01, 2018

Increasingly, physical products leverage software to enable interesting features and deliver compelling differentiation. 

Some product teams employ a tried-and-true embedded systems approach while others might opt for the cloud with accessory mobile or web-based applications to further augment their product’s user experience. Regardless of the path chosen, the integration of software with a product allows it to evolve over time, hopefully for the better. This can make the experience of owning and using a software-enabled product fundamentally different from that of one without any software features. Designers should be mindful of this shift and how it might impact a product’s life cycle. Let’s explore some examples.

Not many hardware devices gain capabilities over time, but software-enabled products often do. Our smartphones gain new features via free operating system upgrades. And we’re notified when updates are made available for our desktop and mobile apps. These concepts are relatively new to the world of physical products, but with thoughtful hardware and system architecture choices made up front, companies can offer upgrades to their customers and deliver new value over time.

A good example of an upgrade to a physical product made possible by software is Tesla Autopilot. In 2014, Tesla began quietly equipping their Model S vehicles with the hardware necessary to enable some autonomous driving functions. A full year later, Tesla introduced version 7.0 of their vehicle software, which included a new UI visual design and, oh — what’s that? — Autopilot self-driving features! At the time, Model S owners and the media were surprised by the announcement, but this is now just an expected part of the Tesla ownership experience with new Autopilot and other capabilities delivered through over-the-air software updates on a regular basis.

The same can be said for some TVs, video game consoles, appliances and even guitar amplifiers. Despite best efforts, it’s often difficult to deliver software that is completely free of defects. This can be understandably frustrating for users, especially when the product is something they depend upon every day like a computer or smartphone. In reality, the vast majority of software updates are issued to resolve bugs, not introduce new features. As software makes its way into new arenas, the impact of these defects can be somewhat unpredictable. 

We should consider how the product we’re designing might be impacted by a software failure.

For example, we were delayed moving into our new Madison office because an unexpected software issue caused the building’s elevators to fail the fire inspection. We aren’t the only ones with architectural/software issues: Apple’s new glass-walled, flat-roofed Michigan Avenue flagship store in Chicago had a serious icicle hazard because of a software bug. The store’s carbon fiber roof features a warming system that, when functioning properly, melts snow and channels it through internal support columns. With the bug hampering the system’s function, icicles formed around the perimeter of the roof, dangerously dangling 20 feet overhead the public spaces surrounding the store.

Let’s not be too quick to point fingers at developers, though. Software bugs are design problems, too. We should consider how the product we’re designing might be impacted by a software failure and think about how we might minimize the collateral effects. If a drug delivery device or your vehicle’s braking system failed because of a software defect, it wouldn’t provide any comfort knowing that the bug might be resolved in a future software update.

Very few products truly stand the test of time. There are many reasons why software may reach the end of life. For example, a software application might require an old operating system version that is not supported by your new device. Or, perhaps you simply lack the peripheral hardware to access software stored on old media formats.

Even web-based and mobile applications, which are less dependent on hardware, get put out to pasture. Google Reader and Vine were both discontinued despite having millions of active users. What’s available one day can be gone the next. Case in point, Logitech announced it will end support in March for their Harmony Link hub, a Wi-Fi-to-infrared adapter that enables your smartphone or tablet as a universal remote control. The reason? Logitech opted not to renew an expiring security certificate for their server, which powered the hub’s underlying web service. Many consumers saw this as forced obsolescence and made their complaints public. Logitech has subsequently responded to consumer backlash by offering to replace each Harmony Link hub with a newer, still-supported model free of charge. I wonder if it would have been cheaper to simply renew the security certificate.

These examples demonstrate how the concepts of ownership and life cycle are evolving in the age of software-enabled products. I’ve heard many people say that it is much easier to create software than hardware. In some ways, I think this is an oversimplification. If software has been historically easier to launch, then perhaps hardware was easier to walk away from once it was distributed to the end user. The effort required to design, engineer and support software-enabled hardware that thoughtfully considers the full product life cycle should not be discounted. Rolling out new software features, fixing bugs and gracefully sunsetting your product takes real effort and money. The times they are a-changin’.