3.1 Requirements
Next: 3.2 Architectural Design
Up: 3 Graphical User Interface
Previous: 3 Graphical User Interface
Graphical user interfaces are much too often judged by their
visual appearance instead of their practical utility and the long-term
features that support the programmer in providing the user
with applications.
Moreover, it is misleading and sometimes dangerous to assess
a user interface by the short-term impact its introduction has on any
other aspect than sales.
To obtain real, long-lasting advantages, the graphical
user interface must meet
certain technical requirements.
- Configuration and Customization.
- It should be possible to configure
visual and non-visual operating parameters of the user interface
to adopt the appearance and policy of existing systems
and to resolve any installation or run-time conflicts.
- Portability and Migration Support.
-
Despite the desires of standards for window systems,
window system software follows the same
evolution as workstation
technology.
So although a reliable
standard is indeed highly desired from the application programmer's
view, there is no stability in sight. Hence,
portability and migration support are a must
to build a long-lasting reliable user interface system.
- Continuity.
- For casual users who seldom need to use simulation
tools (for instance to track down bugs in manufacturing) continuity
of simulation methodology in general, but especially continuity of the
user interface is a vital feature.
- Flexibility.
-
The user interface must provide flexibility to accommodate
easily for the unforeseeable variety of new simulation tools.
Simulation tools often exhibit physical models with repeatedly
changing semantics and parameters. It must be possible to tailor the
user interface to these changing semantics, without the need to
change the general look and feel of the user interface.
- Homogeneity.
-
The user interface must be homogeneous
among the tools which are
accessed by it. Batch-mode applications
(like simulators) and interactive applications should have a
unified standardized appearance and behavior to facilitate the use.
- Tool Independence.
-
As existing ``foreign'' tools must be integrated into a homogeneous
user interface, it must be possible to keep the user interface
code entirely separate from the (batch-mode) application.
Simulator
source code is not always available and it is, for maintenance reasons,
often unfeasible to change simulator code at all.
- Functionality.
-
CAD data require some special user interface functionality. Typical
CAD elements that must be supported are numerical values or vector
graphics, which are not too common among pure window systems. But also
more complex multi-element functionality, like graphical
simulation flow control facilities or
panels for tool parameter specification must be implementable with
reasonable effort.
- Extensibility.
-
The user interface gives the user access to a TCAD
system with continuously
increasing functionality. Eventually, new user interface elements will
have to be introduced. The architecture of the
user interface should hence
support extension and maintenance.
- Task-Level Interface.
-
A major part of the interaction between user and TCAD system takes
place on the task level. Hence, mutual consistency of user interface
and task level environment is critical, as a significant
part of the extension and maintenance work will depend on it.
A comfortable and tight binding between user interface and task level
programming environment is desirable.
- Ease of Use.
-
The rather complex TCAD semantics easily induces
windows with hundreds of buttons
that ``look insanely complicated''.
A good user interface system
should counteract this tendency by supporting the creation
of hierarchical, run-time configurable, context-sensitive dialogs.
One of the key strategies for ease-of-use is the hiding of not currently
required information.
However, ease-of-use is a highly subjective demand which even depends
on the cultural background and personal preferences of the user.
Another strategy to overcome the frightening complexity is
the support of intuitive action of the user.
Similarity between applications and the use of common
graphical elements (see Homogeneity) helps to achieve this goal.
Next: 3.2 Architectural Design
Up: 3 Graphical User Interface
Previous: 3 Graphical User Interface
Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994