As part of a research subject at the university, I'm currently reading up on the evaluation of interfaces. You might not realize it, but a lot of thought and work goes into making the interface of a software product nowadays. Take for instance the new Office 2007 interface, which seems to be the new defacto standard for microsoft (open paint and wordpad in windows 7, if you haven't yet.)
There's some really basic ways of testing and designing your interface, but it comes down to a few simple metrics:
Thou shalt be clear and concise
When making an interface, it is good to separate different functionalities. That way, a user can focus on only that functionality that he or she wishes to use. Next to that, the switch of focus to another grouping of functionality is easier, the user can easily discern that certain functionality is not present in this group and determine the correct group more easily.
Simply put: Group functionality that is alike together, and give this functionality a way of standing out as grouped.
Thou shalt not offer too much information
People can only handle a finite amount of information. The more information you add, the more time it takes to properly use this information. Read up on the "7 plus or minus 2"-rule if you're interested. Also, this is why we want interfaces to be neat and uncluttered. It's harder to keep focus and actively perceive cluttered data.
This all boils down to one point : Information overload, which can impair or even paralyze decision-making when using your interface. For this reason it is better to use few elements in an interface
Thou shalt not make it too much work
Good interfaces are intended to support your actions and should never needlessly hinder or delay the wish to use an action. A simple metric for this in classic interfaces are clicks or actions taken to actually get something done. If I need to interact with my interface twice instead of thrice to make it do what I want it to do, my interface is better. Do this for all possible interactions and multiply this by the incidence of each interaction, and you'll get a nice weighed average that indicates the complexity of your interface. Again, low is good here.
These principles automatically take you through a few decisions that are very visible in the new office interface: Functionalities are grouped, the ribbon tabs make sure you only need to take two actions to actually reach the specific action and functionality you seek, the ribbon gives you a clear and concise view of the functionality within the group and lastly, only the 'active' functionality is visible, reducing clutter and ordering the interface for use.
Not that this is the best of all possible interfaces, but it is a good case study of basic interface design. But there's one catch; this is all classical interface design. These principles have been known for years, if not decades, but have finally grown into firm guidelines for the making of classic computer interfaces. Again, this is a good thing(tm), as initially (and we're speaking seventies and eighties here) interfaces were mostly an afterthought.
But how will we deal with other, new types of interfaces? The obvious way is to adapt current interface standards to the new interfaces, but this does pose some difficulties, as there are myriad ( Speech, haptic, BCI, multitouch, 3D or combinations of such) forms of interfaces that by their very nature offer different forms of interacting and showing information.
Each of these interfaces is different and offers different ways of interacting through them, which is probably the key word here: through.
A good interface should become invisible and disappear from view as soon as possible, as it only exists as a framework for a user to interact through, translating the abstract thoughts and wishes of users into precise and defined actions that are then translated to an abstract model inside the computer.
The direction this course and research is quickly taking is along these lines: Not quantifying merely the way we interact with an interface, but also determining how and what we think and how much cognitive work is needed to effect a wish through means of the interface towards the computer. A more pro-active approach that I'll hopefully delve deeper in as this research project advances