Consider the use of computers for information gathering (trying to understand the latest stock market trends, someone else's source code, etc).
To support this task "The more relevant information within eyespan, the better. Simplicity of reading derives from the context of detailed and complex information, properly arranged." [Tufte, Visualizing Information]. (Seeing context and details within eyespan reduces context switching and memory load: you don't have to remember what you saw on one screen when looking at the details on another one if you can see it all at once.)
A good user interface to support this task not only needs to make very good use of the little available screen estate (low screen size, low resolution), but needs to be tailor-made for the information at hand so that this info can be arranged and presented properly and allows the user to interact with it in a way that is natural for the given domain. Ideally, all that is left on the screen is information: the information becomes the interface.
Developing such tailor-made interfaces is hard even with the proper support, but what makes it worse is the fact that standard UI libraries only support more generic approaches (standard widgets and interaction idioms, etc).
In a nutshell: I think users will be able to much more effectively use computers when programmers stop using generic "user interfaces" and instead develop tailor-made ones even if/though this adds an additional learning obstacle for users.
It would be nice if I could resist pointing to my company infotectonica which sells Juliet: a product that has such a tailor-made interface to aid programmers explore and understand Java libraries.
Consider the use of computers for information gathering (trying to understand the latest stock market trends, someone else's source code, etc).
To support this task "The more relevant information within eyespan, the better. Simplicity of reading derives from the context of detailed and complex information, properly arranged." [Tufte, Visualizing Information]. (Seeing context and details within eyespan reduces context switching and memory load: you don't have to remember what you saw on one screen when looking at the details on another one if you can see it all at once.)
A good user interface to support this task not only needs to make very good use of the little available screen estate (low screen size, low resolution), but needs to be tailor-made for the information at hand so that this info can be arranged and presented properly and allows the user to interact with it in a way that is natural for the given domain. Ideally, all that is left on the screen is information: the information becomes the interface.
Developing such tailor-made interfaces is hard even with the proper support, but what makes it worse is the fact that standard UI libraries only support more generic approaches (standard widgets and interaction idioms, etc).
In a nutshell: I think users will be able to much more effectively use computers when programmers stop using generic "user interfaces" and instead develop tailor-made ones even if/though this adds an additional learning obstacle for users.
It would be nice if I could resist pointing to my company infotectonica which sells Juliet: a product that has such a tailor-made interface to aid programmers explore and understand Java libraries.