Dan Farber definitely captured the right idea in his headline for his CNET News article today: “Jony Ive's challenge: Redesigning the human-computer interface for the masses.” However, Farber failed to say anything about why designing a human-computer interface (HCI) for software is qualitatively different from evolving the design of a new physical device. It is not just that software is more malleable. Rather it involves the problem that software engineers do not always think of functionality the same that the interface designers do.
This is why the best educational venues for learning software engineering recognize that an interface is not some final layer placed on top of a black box capable of performing some wide variety of operations. Indeed, many who have been trained at such educational institutions will tell you that Rule #1 is that the development of the interface should take place in parallel with that of the code. Thus, if the code starts to go down a path that will be hard for the interface to handle, the problem will be detected early in the development stage and hopefully remedied.
Yes, there are functions within OS X that could do with access through better interfaces. However, there are also a variety of perfectly good interfaces that connect to code that just doesn't work. The interface induces false expectations and then leaves the user in the lurch. It may be necessary to dispense with a lot of the nuts and bolts currently under the hood, perhaps even down to the current library of functions currently accessible only through the Unix interface. Otherwise, Ive may find himself pushed into the unpleasant situation of trying to make a silk purse out of a sow’s ear; and the problem runs a lot deeper than providing that sow’s ear with the superficial appearance of silk!