Graphical user interfaces are just plain better
Graphical user interfaces are just plain better—better than pure command-line interfaces, that is. It should come as no surprise that a user interface designer and developer, such as myself, would make such a bold statement. But time and time again, it’s been shown that good graphical user interfaces outperform command-line interfaces (see Alan Cooper‘s work for examples of this).
Some of you may be saying, “Wait a minute, I know I can move around a command-line much faster than I can move the mouse and click on windows and buttons”. The truth of the matter is, though, the more complex a command-line system gets, the more excise (waste) is generated. That excise includes things like memorizing commands and remembering exactly how to use them and when they can be applied.
When developing MATLAB’s first graphical user interfaces (many years ago) we came up with a couple guiding principles, the first of which was aimed at reducing the aforementioned excise:
Increase transparency to the user (i.e. don’t hide state)
Increase user productivity
Over the years, MATLAB has gone from this:
Quite a stark contrast between MATLAB version 4.2 and version 7.6!
I think we’ve adhered to those original principles pretty well. Since that command-line interface in version 4.2, we’ve exposed a number of major workflow items:
- The current directory as well as its contents via the Current Directory Browser
- The commands you’ve previously run via the Command History
- Syntax, syntax errors and debugging status via the built-in Editor
- The contents of the workspace via the Workspace Browser
This certainly isn’t an exhaustive list of the information and state that’s been made more transparent, but it certainly encompasses some of the core aspects of MATLAB that have been exposed.
Exposing this information helps make the second guiding principle, Increase user productivity, possible. Having a clearer more readily apparent overall picture (a.k.a. mental model) means you can spend more time thinking about what you want to do rather than how you want to do it.
What are some areas you think the MATLAB Desktop could better expose information to the user?
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.