By Willy C. Shih

Thinking Inside the Box: Where Software and Hardware Collide

A day doesn’t go by now without some news report on driverless cars, or a new “collaborative” robot, or maybe the latest accidental drone attack on the White House. We all see what cheap computing power has brought us in our mobile devices, but if we look at some of the physical products that have been around—in some cases for generations—like cars or appliances or airplanes, we are in the midst of an equally profound revolution: the delivery of lots of new functionality and differentiation through software, thanks to a revolution in hardware.

In this new world, systems thinking and the tight integration between hardware and software will determine how innovators stand out. Their products must be able to be constantly updated or optimized even after they’re in the hands of consumers. To make them, traditional manufacturers will have to enter a world where electronic sensors and controls play a critical role. Working with supply-chain-solution specialists who bring out the best in competitive hardware will give product designers a distinct advantage over newcomers who only write code. Sure, there are also some challenges and new complexities to manage along the way. Understanding the foundations of this revolution is the first step to rethinking product strategy and what to pay attention to.

More than Moore's Law

By now, most of us have heard of Moore’s Law, proposed by Gordon Moore 50 years ago this past April. His observation was that the number of transistors on a practical-sized chip doubles approximately every 18 months, and this has made computing cheaper and more powerful at the same time. But many of us have failed to appreciate the trends developing in parallel with Moore’s Law (except, of course, those who are working in these areas). They have to do with the new and creative ways we’re harnessing all of this cheap computing power.

The first development is a revolution in solid-state power electronics, which is based on semiconductor devices that can switch high voltages and large currents. It affects how we control and convert electrical power, from the tiny little chargers we plug into our iPhones to the switchboxes that route massive electrical voltages and currents on the grid.

These days, we can switch just about anything under computer control now, and we see the benefits in a wide range of applications, such as the controls for tiny micro-motors used in disk drives, the electrical actuators that control the rearview mirror in your car, the servomotors used in machine tools, the variable frequency drives for motors used on factory floors, all the way up to the giant traction motors in locomotives and subway cars.

Since the 1950s, when modern solid-state power electronics got their start in Bell Labs and then toward the end of the decade with GE, there have been continual developments in semiconductor materials, processing methods, and fabrication and packaging techniques. Along the way, companies developed new devices such as power MOSFETs and insulated-gate bipolar transistors (IGBTs), new converter topologies, and both the vector control and direct torque control used in variable frequency drives. These have brought a host of small, high-efficiency, low-cost, and long-life electronic subsystems for motion control. For a few dollars, designers can easily harness a computer to remember the seat position in your car—or for that matter control everything you need to make that car autonomous. All you have to do is add software.

The biggest benefit from software-driven control schemes is that they can be made more sophisticated. You can put responses to specific conditions into your control program. For example, with inputs from the throttle-position sensor, the engine-temperature sensor, and a mass-flow sensor that measures the amount of air being sucked into the engine, I can set my air-to-fuel mix ratio. Or I can use my crankshaft position sensor and engine RPM to calculate my optimal ignition timing.

Old-fashioned analog controls to provide such complex responses require tuning and are expensive to manufacture. They aren’t as amenable to the high-volume, stamp-’em-out-by-the-millions manufacturing scale-up. With digital devices, on the other hand, it is easy to produce exact copies, and you can even compensate for manufacturing variances with software tweaks. In fact, programmable engine controllers deserve credit for some of the major improvements in fuel economy and overall vehicle performance that we have enjoyed over the last two decades. Software allows you to plug in control schemes that would be almost impossible to do otherwise.

I recounted in a recent Harvard Business Review story how I rented a Volkswagen Beetle, opened the door, and noticed that the window rolled down just a little bit on its own. When I closed the door, it rolled back up. The purpose was to allow the air pressure inside the car to escape. It also helped create a satisfying door slam. It’s software that makes this all happen in a way that has stuck with me. Toyota uses software this way, too, to create what it calls “hospitality features,” among other driver interactions. High-end cars now have as many as 100 microcontrollers and collectively 100 million lines of software code running them. Using software for more electric control also creates efficiency. Thanks to changing fuel economy standards, cars are replacing engine-driven mechanical and hydraulic loads with electricity. For example, belt-driven hydraulic pump steering constantly draws power from the engine; electric power steering only takes power when you need it.

The ability to control power distribution in “light” hybrid vehicles that employ dynamic braking or balance gas-electrical power contributions in parallel hybrids, like the Toyota Prius, all now depend on sophisticated power electronics. Power electronics under software control is employed in applications that we couldn’t have imagined not long ago. Despite the uproar over the Boeing 787 Dreamliner’s lithium-ion-battery problems, the massive plane saved a remarkable amount of energy with its electric architecture. Much like a car, the power demand of the jet varies depending on the phase of flight.

During takeoff, there needs to be not only a lot of propulsive power to push the plane forward but also hydraulic power to operate the flight controls (flaps, for example) and bleed air, which draws compressed air from inside the engines for wing and engine cowling deicing as well as cabin air-conditioning. But once cruising altitude is reached, secondary power needs drop sharply. Traditionally excess bleed-air overboard—wasted energy— is dumped. For the 787, Boeing substituted electrically operated subsystems for traditional hydraulic and pneumatic power in key subsystems like flight controls, the environmental control system, landing-gear retraction, and braking.

Like power steering in a car, these airplane subsystems draw engine power only when they need it. As a bonus, electrical systems weigh less than hydraulic ones with their lines and ducts. With these electrically operated systems on the 787, many new features could be incorporated under software control, like automatic roll and yaw compensation. Airbus has done the same on its A350 XWB, with software-driven flight envelope protection that prevents a pilot from choosing dangerous flight-control settings. Soon more software-driven, power-electronics-enabled features in consumer products, like cars, will appear as designers implement more drive-by-wire features. Of course, that means a lot of lines of software.

Sensors, Sensors Everywhere

The amazing growth in the sales of smartphones every month has triggered a race among designers to incorporate more and more sensing systems that help us measure the physical and digital worlds. The result, as I noted in Harvard Business Review, is more production of sensors—GPS receivers, accelerometers, imaging, capacitive touch sensors, barometers, compasses, and others. More of them are in our everyday products.

The huge volumes mean those sensor manufacturers are on a pretty steep learning curve. That’s why it is now really inexpensive to add sensing to all kinds of devices like rear, side, and front vision on a car, or maybe even your clothes dryer. We can now measure many kinds of physical activity by incorporating these inexpensive sensors, hence the explosion of wearables. Every day we see new, innovative applications, and the best are undoubtedly yet to come.

Raising the Level of Abstraction

Between the motion controls and the sensing, software development is only growing more complex, with engineers taking on more sophisticated control regimes involving real-time software development and simulation tools that play critical roles in system designs. To understand how those software geeks use all of this new technology while maintaining complexity, you have to understand the concept of “raising levels of abstraction.” It involves shrinking the amount of code needed to perform a given function, allowing programmers to write more sophisticated language and product designers to conceptualize on a higher, more innovative level, all without focusing on details.

Raising the levels of abstraction lets them work with building blocks to make a product, chunks that can be customized and rapidly deployed— parts of a whole system can be isolated and used over and over in other systems. So, for example, if a designer needs Internet connectivity, a camera, and a programmable computer in their product, he can start creating with just an iPad or a smartphone. The iPad is a great example of a device that raised the level of abstraction for a whole group of hardware builders who used to have to design PCs as controllers in their systems.

Now all kinds of new point-of-sale systems or remote-control systems use iPads—in part because a child could write apps for them. We see this in many areas where the complexity is growing and becoming a barrier to entry. Semiconductor companies now have “design foundry” partners that customize workflows to simplify chip design, lowering the costs to develop a prototype. In a similar vein, cloud computing is a way to raise the level of abstraction that allows firms to streamline or eliminate the need to provision computer services.

As a result, they can more efficiently make connected wearable devices, vehicle telematics, connected thermostats, and other hardware. With this higher level of abstraction, it now seems that anyone can develop a new digital product—so long as he or she truly understands how the digital and physical worlds blend together.

Implications for Product Design

As I wrote in the Harvard Business Review, the Boston Consulting Group estimates that the cost of electronic parts will rise from 20% of the value in a typical automobile in 2004 to 40% this year. Many companies are not prepared for the impact this will have on their supplier networks, and product designers must consider software to be as important to their designs as the product itself. Software is also a growing means of differentiation. The ability to optimize or add features or fix bugs means that a product’s value is determined not only by what it does today but what it could do tomorrow. NASA relied on the ability to update the Curiosity rover when, on its way to Mars, the probe encountered a software glitch. So it simply sent an update (probably one of the most remote updates ever). “Software can be updated, but hardware is fixed,” a NASA engineer said.

Finally, there’s the serious challenge of security when connectivity plays a bigger role in the functionality of more products. It’s why automakers are not only putting real firewalls between the engine and the driver but building virtual ones between their cars’ onboard infotainment systems and vehicle control/power-train systems. The more systems that are always online, the more designers will have to think about security from the get-go. The opportunity for unique and innovative products is boundless. It’s just, as they say, a simple matter of programming.