I am confident that we can do better than GUIs because the basic problem with them (and with the Linux and Unix interfaces) is that they ask a human being to do things that we know experimentally humans cannot do well. The question I asked myself is, given everything we know about how the human mind works, could we design a computer and computer software so that we can work with the least confusion and greatest efficiency?
Jef RaskinOnce the product's task is known, design the interface first; then implement to the interface design.
Jef Raskin