Editor’s note: this interview with Andrew “bunnie” Huang is an excerpt from our recent report, When Hardware Meets Software, by Mike Barlow. The report looks into the new hardware movement, telling its story through the people who are building it. For more stories on the evolving relationship between software and hardware, download the free report.Andrew “bunnie” Huang has a Ph.D. in electrical engineering from MIT, but he is most famous for reverse engineering the Xbox, establishing his reputation as one of the world’s greatest hardware hackers. He sees an evolving relationship between hardware and software.
“It used to be that products were limited solely by the capability of their hardware. Early radios, for example, had mechanical buttons that acted directly on the physics of the receiver,” says Huang. “As hardware becomes more capable, the user experience of the hardware is more dictated by the software that runs on it. Now that hardware is ridiculously capable — you basically have supercomputers in your pockets that cost next to nothing — pretty much the entire user experience of the product is dictated by the software. The hardware simply serves as an elusive constraint on the user experience.”
Hardware is “a cage,” says Huang, and good software developers learn to work within the constraints of the hardware. “When I work with programmers on new products, I take the first prototype, put it on the desk and I say, ‘Welcome to your new cage.’ That’s the reality. There’s a hard wall. But we try to build the cage big enough so there are options for programmers. A quad core Android phone with a gigabyte of memory is a pretty big cage. Sometimes when programmers feel constrained, they’re just being lazy. There’s always more than one way to skin a cat in the software world.”
For instance, if battery life is an issue — and when isn’t it? — a programmer has a multitude of tools to optimize for power consumption: reduce CPU clock speed or shut down subsystems when the device is idling, optimize popular libraries and routines to take less energy to compute, preload or precompute data images so energy consumption is shifted to the cloud.
Even the highest-level UI decisions impact battery life; an animated home screen wallpaper will burn batteries faster than a static background. On the other hand, no phone will ever contain a battery with the energy density required to brew a full pot of coffee.
While it seems unlikely that consumers will demand phones that also brew coffee, software designers routinely face challenging constraints, such as writing code for the embedded processors in low-end consumer products. These systems contain smaller CPUs and as little as a few dozen kilobytes of memory. “That’s when you see programmers pacing around like tigers in a cage,” says Huang.
From Huang’s perspective, the introduction and rapid proliferation of multitouch input digitizers on user interfaces (think of any smartphone screen) has had the greatest impact on the relationship between hardware and software. “Before that, and without that, the experience of that product would have been not nearly as interesting. The pinch zoom and the whole scrolling action that we are now very familiar with was very revolutionary. They redesigned the whole user experience around that input sensor,” says Huang.
Understanding the interplay between software, hardware, and the existing supply chain is important, Huang says. And that’s why many companies are heading to Shenzhen.
Certainly, one of the most compelling features of the iPhone was its touch screen. Most of the same tasks could be performed with buttons or a stylus, but the user experience was so completely different that the input digitizer became an indisputable competitive advantage. At the same moment that it became something everyone wanted, it also became the new cage.
But that’s the nature of product design. Yesterday it was novel, today it’s standard, and tomorrow it feels old-fashioned. Designers and developers can curse at the whims of temperamental consumers, but they cannot ignore them.
“I’ve run into developers who make inaccurate assumptions about hardware and who start complaining loudly about the design of the hardware when they bump into problems,” says Huang. “They want you to loosen the constraints. But it always boils down to cost. You can do anything, but it will cost you money. Then the company will tell you they can’t sell the product at a higher price point.”
Occasionally, says Huang, he meets developers who are “truly proactive in thinking through the whole process. But it’s rare to find people with the skills required to develop products that are great from front to back.”
Understanding the interplay between software, hardware, and the existing supply chain is important, he says. And that’s why many companies are heading to Shenzhen — because it’s one of the few places in the world where there is a critical mass of people with the multiple skill sets required for meeting the endless demands of a growing global consumer economy that constantly hungers for exciting new products.
The stalls, booths, shops, and mini-factories of Shenzhen are filled with younger and even scrappier versions of Huang, and they are all looking for the big break that will elevate them into the spotlight. You might not find someone to refit your ’55 Chevy Bel Air with an air intake, but if you’re looking for someone to customize your smartphone, you’ve come to the right place.
The call for proposals for Solid 2015 is now open — if you’re working on interesting things, you can submit a proposal here. Solid 2015 will take place June 23-25, 2015, at Fort Mason in San Francisco. You can reserve your ticket here, and we’ll hold your spot for seven days once registration opens early next year.