How would the "ideal" UI work?
The ideal user interface would do what we want perfectly before we know we want it. Since time travel for this purpose is not yet feasible, we'll relax that so that it must only do what we want perfectly the moment we realize what we want. Computers cannot (yet?) read our minds, so we'll further relax this by saying that the ideal UI should understand human language and be able to interpret our spoken instructions perfectly. Unfortunately, we're not anywhere close to this quality for speech recognition, so we'll allow physical input devices such as keyboards and mice. But the key point remains: we want to minimize, to the extent currently allowable by technology, the effort expended in communicating our wishes to the UI. From there, the UI should interpret our wishes perfectly and act on them perfectly and without delay.
Too many UIs are designed by programmers. Programmers always let their point of view affect their design, leading to UIs that are modeled on the underlying program or database structure. From the user's standpoint, this makes for confusion. Artificial roadblocks prevent us from doing A at the same time as B. Hidden states throw up mysterious error messages. We bang our heads against such interfaces every day, but do the best we can to memorize their quirks. Then the developer changes something, and we bang into the UI again.
An ideal UI is practically invisible. It adapts to the user's understanding. It provides immediate, useful guidance. And it never, ever, gets in our way.
Too many UIs are designed by programmers. Programmers always let their point of view affect their design, leading to UIs that are modeled on the underlying program or database structure. From the user's standpoint, this makes for confusion. Artificial roadblocks prevent us from doing A at the same time as B. Hidden states throw up mysterious error messages. We bang our heads against such interfaces every day, but do the best we can to memorize their quirks. Then the developer changes something, and we bang into the UI again.
An ideal UI is practically invisible. It adapts to the user's understanding. It provides immediate, useful guidance. And it never, ever, gets in our way.

