Bill does note that the design of software cannot be inherently separated from the hardware. What he doesn't mention is that the design in this case is really related to the total experience...which is what ALL design must honor (even if it gets more specific along the way).
His response about the ribbon is a classic design FAIL. The problem is (which indeed is still the problem with the ribbon) is that it is still too enmeshed in the concept of the functions that are available rather than what it is that people inherently want to DO most often.
Another example of this is in Tom Kelly's book on innovation at IDEO (The Art of Innovation) where he offers an entire example around how they redesigned a water bottle. Only they failed in their original problem statement which was too 'solution' focused from the beginning: a water bottle. A truly great design problem statement is worded from the lowest-common-denominator perspective: delivering fluids to someone who otherwise has one or more hands unavailable. Had they done that, they would have gotten to the water bladder that much sooner in the marketplace. They did not.