Craig Maxey
10-04-2002 – First Draft
This
paper examines the elements required to produce a quality user interface (UI).
The single largest factor driving the successful design of a UI is the
development of the conceptual model. The conceptual model establishes the
foundation for the design, guiding the efforts of the user interface software
designers, graphic designers and documentation. A successful user interface is
also dependent on following established UI design techniques and finally on
user testing. This paper describes a
sequence of steps that if followed will satisfy these requirements. Clearly
design success is a team effort. This paper targets the manager of that team and
the individual contributors of such a team.
The
steps:
1. Learn the task(s).
The user interface should make an existing task easier, faster, and more
reliable. The user interface designer
must learn how the user currently performs that task: what tools does the user
employ, what are the properties of the tools, and how do those tools work
together to accomplish the task. In other words, one needs to learn the current
user task model. This task information should be captured in test tasks. (A
test task is a description, written from the user’s perspective, of the steps
required by the user to achieve a desired goal.)
2. Develop the user interface conceptual model. This model describes how the user will
accomplish the task using the tools (objects) presented in the user interface.
This system of objects, their associated properties, their inter-relationships,
and the ways they are used to accomplish the goal establishes the conceptual
model. The conceptual model design maps the elements of the current task model
to the developer’s implementation model, which includes such items as software
processes and memory management.

Figure 1
3. Develop screens/interactions that follow established
user interface design guidelines, techniques and rules (heuristics). These guidelines suggest, for example that you
provide feedback on action success, allow the undoing of actions and minimize
memory demands. It is important to use existing design approaches, if they
exist. In addition to avoiding trial and error that’s already been done by
others before you, by building on established standards, you’ll help users to
learn your user interface quickly.
4. Test the resulting design. Do so by observing users
as they perform the test tasks created in step one above. Testing success is
determined by the users ability to achieve the desired goal. Fortunately only
3-5 users are required to glean 80% of the usability information.
To
create the optimum design you will need to iterate on the process above. Introduction of your initial user interface
efforts will yield unforeseen interactions, and in fact, your user interface
will modify the task domain you are observing.
Now
a closer look at the steps outlined above.
Let’s consider how a computer can help a fine artist,
such as a painter, achieve his goals.
Artists create paintings by working with paint, brushes, and canvas.
When software designers created a paint programs they quickly learned that a
mouse and pad did not serve the function of paint, brushes, and canvas.
Studying the artist’s environment and activities (context and tasks) led
designers to create the graphics tablet and pen, a more natural translation of
the artist’s familiar tools to the digital environment. The underlying
principle of this tool’s evolution applies to any user interface design; the
value offered by a tool is dependent on the user interface designer’s knowledge
of the user’s familiar environment. To understand this environment, the
designer needs to work closely with the end user.
Domain knowledge
As the designer works with the end user, he or she
can capture a description of the user environment through creating and
validating test tasks. A test task is a description, written from the user’s
perspective, of the steps required by the user to achieve a desired goal. Test
tasks establish a formal dialog between the developer and the user. Carefully construct this task so you don’t
lead the user or use terminology that implicitly coaches the user on how the UI
functions (8). Test tasks establish a formal dialog between the
developer and the user. Using these test tasks, the user can confirm that the
tool will do what it is supposed to do.
|
One of the prevailing software development modeling languages is
UML. It is interesting to note (and
not a coincidence) that UML has a direct analog to the test task: “use-case.”
The use-case is “a behaviorally related sequence of interactions performed by
an actor in a dialog with the system to provide some measurable value to the
actor” (Reed, pg 66). Additionally,
the use-case specifically describes what the system needs to do, not how it
should do it. It is very heartening
to see that this user interface design methodology is anchored to the same
foundation as prevailing software development methodology. |
Barriers to User Interaction
Now a caution: It may be difficult to gain access to
users. The following objections are typical:
1.
“You will wreck the
customer account (scare customers with your questions).”
2. “Developers will reveal company secrets.” (De Young)
3.
“We don’t need to talk
to other people because our engineers are users”
This may, or may not be, valid for technology-based
products. Evaluate this position by looking closely at the relationship of the
engineer (developer) to the product. The development engineer will often have
different task requirements from the tool than does the targeted user. The
development engineer may need fine grain visibility into the implementation
model (e.g. the current state of a process) to achieve development goals while
the customer user may not.
4.
It is too hard, too
expensive, or we don’t have the time (De Young)
5.
The user does not know
what he wants (De Young)
6.
We don’t have any
customers (hence users) (But if we build it they will come)
“Software design is the act of determining the user’s
experience with a piece of software. It has nothing to do with how the code
works inside, or how big or small the code is.
The designer’s task is to specify completely and unambiguously the
user’s whole experience… The most important thing to design properly is the
user’s conceptual model. Everything else should be subordinated to making that
model clear, obvious and substantial. That is almost exactly the opposite of
how most software is designed.”
(Liddle pg. 17)
This
comment comes from the person that led the team responsible for creating the
Xerox Star graphical user interface (GUI) in the 1970’s. This GUI became the
basis for the Apple Macintosh user interface, which then became the foundation
of Windows systems! This passage also reflects the central premise for this
paper: the foundation of a good user interface design is the development of the
user conceptual model.
The
user interface design presents a set of objects that are employed by the user to
effect her task goals. To achieve her goals the user needs to know:
a. What are the objects available to her
b. How does she use them to affect her goal
c. How do these objects work together
d. What are the properties of these objects
This
collection of object information defines the “conceptual model” of the system.
This conceptual model needs to be developed by the user interface designer, the
goal being to create a coherent system of objects, properties, and
relationships optimally mapped to the task domain of the user.
For
example, in the case of the Xerox Star, the conceptual model included the
following: (Winograd, pg 34)
a. Desktop metaphor (including documents and folders)
b. WYSIWYG (what you see is what you get) Users directly
manipulated the objects of interest, for example documents.
c. Consistency of commands. Concepts such as Move, Copy,
and Delete were consistently applied to the system objects.
Creating
the conceptual model
“Make it simple, as simple as possible but no simpler.” (Albert Einstein)
Easy
to say: hard to do. It is not easy to create a conceptual model that offers the
full functionality of the tool, optimally mapped to the user’s perspective,
stripped of unnecessary artifacts. How do you do this? Good question. I look for visual
representations of problems, and solutions – pictures, in other words. I do so
by drawing the essential elements of the system, and their relationships to
each other, on a single sheet of paper. The single sheet requirement forces the
developer to iteratively distill until only the essential elements are
captured. I’ve been successful when the user can look at this drawing, and
quickly understand how she can use this tool to accomplish her task.
Of
course you can reverse the above process and have the user draw or describe how
she thinks the tool works. The resulting drawings, documents, and so on
produced by this discussion reflect the user’s understanding of the conceptual
model of the system.
Conceptual
model does not equal implementation model
The
implementation model describes processes, states, and memory models of the
background software performing the actual work. Too often, user interface
designers use the implementation model as the conceptual model. It is a natural
thing for a software designer to do, to equate his understanding of the system
with the optimal user’s conceptual model.
This
is a fundamental problem facing the user interface designer: how to get system
software developers to view the solution from the users perspective, from the
task instead of from the perspective of how the software will function.
A
situation that introduces confusion is the case of tools being designed for
software developers by software developers. Even though the developer and user
may have similar capabilities, if the context of their work is different, their
relationship to the tool will be different.
It is important to note that even the software implementation model is an abstraction; it does not accurately reflect the actual physics of computer activities, electrons moving in silicon and copper (my sympathies to the physicists).
Example:
Creating a conceptual model
Let’s
consider the example of an existing software product that enables employees to
search for documents on their company’s network. Such a product is often referred to as a document indexer because
what it does is scan all the documents on the network and creates a list entry
(index) for every word that it finds.
Next to each word, the index stores the all the documents (and their
locations) that contain that word.
Doing a word search translates to having the index return all the
documents that have been previously associated with the entered word. In other words, when someone does a search
for a word what he is really doing is searching the index for that word; the
index then returns the documents that it has associated with that word.
As
you might imagine, “indexing” all the documents on your network may be a very
time consuming task. Because of this
the indexing should not be done while the network is being done for other
business; consequently, indexing needs to be scheduled to occur during
non-business hours. The user interface
for this software product enables the control of this indexing process.
The
software implementation consists of several objects. One object describes the
mapping of documents into the index. This mapping object has various “states,”
e.g. running, idle, stopping, and “paused due to flow control.” Another software object describes the number
of software processes that are running, how often they run, and how long they
run.
However
the way to use these objects to index the documents on the network is not yet
obvious to the end users, network administrators.
So
now the question becomes, how do we present this functionality in a way that is
more obvious to the user? We need to identify the objects and actions that
represent this process in a way that is clear to the end user, perhaps by a
familiar analogy. By the way, this is the hardest part of user interface
design: to create an analogy that is both obvious to the end user and robustly
captures all of the available functionality of the software.
Notice
that creating an index for a network is conceptually similar to how one might
construct the card catalog in a library.
It is easy to imagine people going out to different parts of the
library, looking at each book, and creating cards corresponding to each
book. This analogy provides the basis
for the UI conceptual model. The UI enables users to configure “gathering” agents. To each agent the user can assign: what
kinds of documents are to be scanned, when they need to be scanned, and where
they are located on the network. This
conceptual model provides the necessary map from the end user’s task domain and
the implementation domain. (See Figure 2)

Figure 2
Terminology
Describe
your conceptual mode in words that are appropriate for the user. The
terminology for objects and verbs in the conceptual model needs to be designed
from the perspective of the end users.
The terminology should reflect the domain context, which may or may not
be related to the tool development context. In the example above “gathering
agent” was determined to have more meaning than the typical terms of “scooter”
or “spider”. Similarly, if you are producing pharmacy software, use the terms
“prescription problem list” instead of “exception queue.”
The reward: usability
What
is the metric for good user interface design? Usability. Usability is defined
as:
a. The measure of how hard it is to learn how to use the
tool.
b. How efficient the tool is.
c. How easy it is to remember how to use the tool.
d. How error prone the system is.
e. How satisfactory the user experience is. (Nielsen pg.
26)
60%
of the usability metric is assigned to the conceptual model behind the user
interface. (See Reed)
Clearly
the development of a quality conceptual model is the single most important step
for creating a good user interface. The design of the conceptual model will
often, in fact, reveal unforeseen necessary features, inappropriate
assumptions, and possibly unnecessary functionality.
The
role of visual design in user interface development
Armed with a conceptual model, you can begin the next
phase of the user interface design process: conveying this model to the user.
The visual designer can be an invaluable ally in the communication of the
conceptual model to the user. User interface design, like documentation, is in
the business of communication. As any visual designer will tell you, he is also
in the business of communication (5). It is wrong (and arrogant) to
relegate the contribution of visual design to the last minute “making it
pretty.” This is a gross underutilization of a valuable resource.
Graphic designers find structure
in information that is useful to the intended audience, and they give that
structure form (in text and pictures) to communicate its meaning. (Crampton,
Smith, and Tabor, pg. 42)
Because
user interfaces present choices, the designer should present the information in
a way that helps users decide what they should do to accomplish their task.
(Tufte, Visual Explanations, pg. 39).
Tip: Often it makes sense to use a software wizard
(the hand holding process that allows the user to create the primary objects in
the software in a step by step manner) to construct the essential objects in a
user interface. Wizards provide the
opportunity to introduce the key objects of the system, in a logical
progression, illustrating the inter-relationships. By the time the user has
gone through the “create object” wizard, he should know the basic nouns and
verbs of the system, the conceptual model. For example, in the example above
the user is offered the wizard, “Create a new gathering agent.”
Tip:
Documentation and user interface designers share the task of communicating how
a tool will help a user accomplish a task. If documentation is having
difficulty describing the product, there are usually problems with the
conceptual model.
A
comment on human constraints
Design
success requires increased understanding of the human side of the interaction,
specifically, of the human constraints/requirements involved in an interaction
with a computer.
User
interface designs are subject to human mental constraints, memory abilities,
for example. People rely on memory, specifically, two types of memory for
problem solving: long-term memory and short-term memory. Long-term memory is used “to generate and
implement solutions” and short term memory “processes perceptual input” (Schneiderman).
“People use short-term memory in conjunction with working
memory for processing information and for problem solving.” (Shneiderman).
There is a lot going on in the mind of a user.
Just selecting a menu item involves “elementary processing functions
such as memory storage and retrieval, recognition, categorization, comparison
of one information element to another, choosing among alternative actions and
so on.” (P. Pirolli)
This
relates to the primary constraint affecting short-term memory: a concept called
“chunking.” People have the ability to
retain approximately 5-7 pieces of new information for about 15-30
seconds. In the case of the user
interface, this could refer to 5-7 categories, menu choices, or mental model
objects (see below).
User
interface design rules (heuristics)
Over
time user interface designers have compiled a list of design rules (heuristics)
that account for such human constraints as memory. Jakob Nielsen in
Usability Heuristics (8) and Ben Shneiderman in Eight Golden
Rules of Interface Design(9) offer the following list of rules:
1. Minimize user memory loading (see constraints above)
2. Provide consistency
3. Offer feedback
4. Provide shortcuts
5. Create useful error messages
6. Prevent errors
7. Use simple and natural dialogue
8. Speak the user’s language
9. Provide clearly marked exits
10. Provide help and documentation
11. Use heuristic evaluation
(Look
to see how well the user interface is following the rules.)
12. Design dialogs to yield closure
(The user has had a success when he has done work.)
13. Permit easy reversal of actions
14. Support internal locus of control
(Users feel that
they are in charge of the system, not the other way around.)
Existing
Solutions
A
significant percentage of user interface design effort is spent insuring that
you are not re-inventing a solution that already exists. Towards this end, it
is essential to familiarize yourself with the tools of the target domain. If
there is an existing standard that matches the user interface design
requirement, use it unless you can make a substantial improvement by changing
it. (A rule the author uses is, “if it
is 10 times better, we will examine it; otherwise go with convention.”)
For
example: a composition tool is a composition tool; if you are designing a
software composition tool take a look at JBuilder, Visual Café, and Visual
Studio. What you will often discover is that there is a consistent conceptual
model. Producing a tool that uses a
different approach to solving the same problem can have a very disruptive
effect on the user without adding any significant value.
If
a gratuitous new solution is presented to the user, not only does she need to
learn the designer’s independent solution, but she may also assume that this is
not a composition tool because it doesn’t look like any she’s used before.
(Liddle, pg 26).
So,
in a similar vein, don’t invent new words for terms that already exist, such as
“file,” “save,” “move,” and “delete,” for example.
Feature
presentation
Present
tool features based on the user’s needs and in the context of everyday tasks.
Advanced features should not compete for the same visual real estate as the
frequently used features. Presenting all the features with the same visual
weight, independent of their value, or frequency of use, results in overloaded screens
that overwhelm the user.
Conscientious
system software engineers often worry that the user will attach value to their
favorite features, or unique capabilities, of the product. However, the user interface is not a sales
vehicle; it is a tool. The goal of the UI is to optimize the efficiency of the
user. It is essential that all of the features be accessible in the UI. It is
also important that the UI reinforces best practices. All of that can be done in ways that don't overwhelm the user
(e.g. progressive disclosure (10) page 23).
Note: It is assumed that Donald A. Norman’s The Design of Everyday
Things is required reading by any user interface designer (1). This book is the definitive starting
reference for anyone that designs tools for people.
The
last step of the first pass through this process is validation of your design
through testing. Paper mockups are a very fast and cost-effective way to
validate your initial assumptions and to identify missing or wrong
functionality. If you need to test or demonstrate the software interaction,
create a prototype with an appropriate tool, e.g. Visual Basic (10) pg.
210. In either case, be sure to validate your user interface concepts before
rushing into writing code.
You
don’t need a horde of users; in fact according to Nielsen and Landauer, 1989,
“80 percent of usability… can be discovered with 4-5 users.” This is a dramatic
statement about the economy of usability testing. With a very small number of
users you can identify fundamental problems with your design.
The
keys to successful usability testing include attention to the following
guidelines:
1.
Make
sure that the test tasks accurately reflect the objectives of the user.
2.
Don’t
coach the users. This is a data gathering exercise, not a sales opportunity.
3.
Listen,
listen, listen…
4.
If the
test subject is quiet, ask him what he is thinking.
5.
If the
test subject is stuck:
a.
Ask
him what he sees, what does he believes is happening or what he expects to see
and can’t find.
b.
Don’t
let the subject suffer (give just enough information to enable forward
progress).
c.
Explore
solutions on the spot. At the end of the test session get together with the
test subject. Usability testing is an expensive process AND there is a lot of
pressure for rapid design iteration. Therefore during testing many design
concepts can, and should, be explored.
If the user didn’t accomplish the task, or use the tool in the manner
you’d intended, dig into what went wrong. This is a rich opportunity to get
better insight into the user’s needs and expectations.
6.
Have
the users describe, or better yet, draw the system. This will let you find out
how well the conceptual model design is being communicated to the user. (13)
About
costs: Usability labs are great, but if your budget doesn’t allow access to
one, you can get most of the essential data by using “guerrilla” usability
techniques (Nielsen). To do so,
remember that one of the keys to usability testing is gathering as much data as
possible regarding the end user experience. You can get a lot of this
information with informal usability testing. It is essential to find
representative users and make sure you provide an accurate representation of
what you are designing. Getting user feedback early in the process lets you
find where your model is out of sync with user needs, what elements of the
design are confusing, and how the user expects the software to function before
you spend a lot of time writing code.
Creating
a quality user interface is a team effort, anchored to shared understanding of
the conceptual model. Designing the conceptual model is an iterative process,
learning about the user’s current environment, and proposing tools that help
him or her to achieve desired task goals. By following the process below you
can create a user interface that satisfies your user’s needs.

Figure 3
References
Ref 1
Donald
A. Norman, The Design of Everyday Things, Currency Doubleday, New York,
New York, 1988.
Page
189
Ref 2
Paul
R. Reed, Jr., Developing Applications with Java and UML, Addison-Wesley,
New York, New York, 2002.
Ref 3
Randolph
G. Bias and Deborah J. Mayhew, Cost-Justifying Usability, Morgan
Kaufmann (Academic Press), San
Francisco, California, 1994.
Page
126, Charles L. Mauro
Ref 4
Alan
Cooper, About Face – The essentials of user interface design, IDG Books,
Foster City, California, 1995.
Page
28
Ref 5
Kevin
Mullet, Darrell Sano, Designing Visual Interfaces, Sun Microsystems,
Inc., Mountain View, California, 1995.
Page
9, 89
Ref 6
Brenda
Laurel, The Art of Human-Computer Interface Design, Apple Computer,
Inc., Reading, Massachusetts, 1990.
Page
6 – Don Norman
Ref 7
F.T.
Durso, R.S. Nickerson, R.W. Schvaneveldt, S.T. Dumais, D.S. Lindsay and M.T.H.
Chi, Handbook of Applied Cognition, John Wiley & Sons Ltd., xxx,xxx,
1999.
P.
Pirolli, Chapter 15 -Cognitive Architectures and Cognitive Engineering Models
in Human-Computer Interaction
Page
444
Cognitive models assume that human activity is:
“
(a)
purposeful
and adaptive, which requires a kind of rational analysis
(b)
based
on knowledge
(c)
computed
by information processing mechanisms, which are
(d)
realized
by physical, biological, processes
“
Page
446
“Imagine
that a researcher or designer wants to analyze the effects of different
computer application interfaces on users’ speed in finding information on the
World Wide Web. For instance, imagine that two designs are being considered,
both requiring the a user type in key words to a search engine, but the results are returned as a list of
citations in one case and as a hierarchical hypertext structure in the other.
One part of the analyst’s task might be to perform a task analysis. One
component of this analysis could involve an analysis of the task environment.
These might include such things as the time it takes to perform actions with a
system (e.g. time to point and click on a hypertext link, the time to scan a
list), the value of the results achieved by actions (e.g. the relevance of
citations returned by a search engine), the risk involved with an action (e.g.
the probability that an action does what was expected), and so on. Analysis of the costs, values, and risks of
feasible decisions and actions made by users with respect to their goals and
task environment is an explanation at the adaptive analysis level (table below)
where it is assumed that the structure of the structure of behavior can be
understood in terms of its adaptive fit to the structure and constraints of the
environment. At this level, the analyst acts most purely as an engineer
concerned with why users’ behavior is rational given the task context in which
it occurs, and it is assumed that users are optimizing their performance in
achieving their goals.
Typically, a task analysis mainly focuses
on an analysis of users’ knowledge, preferences, perceptions, and actions with
respect to the goal and environment.
This is the knowledge level (Newell, 1982) of analysis (table below). At
this level of analysis it is assumed that users deploy their knowledge to
achieve their goals and the focus is on identifying what knowledge is involved.
Behavior is assumed to be governed by the principle of rationality: if the user
knows that one of his or her actions will lead to a situation preferred according
to the goal then he or she will intend the action, which will then be taken if
possible.
|
Level |
Question |
Description |
Analysis elements |
|
Adaptation |
Why do they do it that way? |
Rational |
· States, resources, state dynamics ·Optimization criteria ·Costs, values, risks, constraints,
affordences ·Feasible actions, decisions,
strategies |
|
Knowledge |
What do they do? |
Intentional |
· Environment · Goals, preferences · Knowledge · Perception, action |
|
Cognitive |
How do they process information to do it? |
Mechanistic |
· Cognitive states · Cognitive processes |
|
Biological |
How do they physically do it? |
Physical |
· Neural processes |
Just selecting a menu item involve “elementary
processing functions such as memory storage and retrieval, recognition,
categorization, comparison of one information element to another, choosing
among alternative actions and so on.”
Page
447
Page
449
Ref 8
Jakob
Nielsen, Usability Engineering, AP Professional, Boston, MA, 1993.
Page
115
Ref 9
Ben
Shneiderman, Designing the User Interface – Third Edition, Addison-Wesly,
New York, New York, 1998.
Page
115
Ref 10
Terry
Winograd, Bringing Design to Software, ACM Press, New York, New York,
1996.
Laura
De Young, Chapter 13, Page 259,261,
“Follow-Me-Home”
program (De Young, page 263
Software design is the
act of determining the user’s experience with a piece of software. It has
nothing to do with how the code works inside, or how big or small the code
is. The designer’s task is to specify
completely and unambiguously the user’s whole experience… The most important thing
to design properly is the user’s conceptual model. Everything else should be
subordinated to making that model clear, obvious and substantial. That is
almost exactly the opposite of how most software is designed. (Liddle pg 17)
“The repeated, serial
user of products having gratuitously different user interfaces produces
cognitive dissonance. The abrupt switching back and forth between the
abstractions of your job and the abstractions of computing can be dispiriting
and debilitating, reducing productivity ansd satisfaction significantly.”
(Liddle pg 28)
Ref 11
http://www-106.ibm.com/developerworks/web/library/w-berry/?dwzone=web#h2
The
iceberg analogy of usability
Dick Berry (reberry@us.ibm.com)
User Experience Design, IBM Ease of Use Team
October 2000
“the first hurdle any
user must overcome is to map his or her goals to the available capabilities… A
user model describes all of these aspects in a cohesive manner, and ideally in
a way that users find intuitive…. Although users’ mental models may be
subconscious, the models will direct their interactions and influence their
success or failure.” Berry ibm.com
In his first column for developers looking for
insights into better application design, Dick Berry explains why look and feel
is only the tip of the iceberg. Find out why starting with the user experience
leads to better application design, whether for Web users or unplugged users.
“The
user model”
The user model consists of aspects related to what the user is trying to
accomplish, or in other words, the user's task goals. Continuing the language
analogy, these goal-related aspects represent the semantics. They convey
meaning in the conversation between the user and the system. The user model
provides an understandable and cohesive framework of concepts that users can
relate to, and that enables users to accomplish their tasks.
A user model is typically described in terms of user objects, the
behaviors and properties of those objects, and their interrelationships. Those
of you familiar with object-oriented programming (OOP) may think this sounds
the same, and you're right, to a degree. The difference is that OOP deals primarily
with implementation aspects, while user models deal only with aspects that
users are expected to experience through learning and use, such as the objects,
or things, users employ to do their work.
In using a system, an application, or a Web site to accomplish a task,
the first hurdle any user must overcome is to map his or her goals to the
available capabilities. These capabilities are best understood in terms of the
"things" that are provided to enable users to work, and all of the
characteristics of those things, their properties (settings), behaviors (what
they can do and what the user can do to them), and their relationships (how
they work together and how the user can combine them).
A user model describes all of these aspects in a cohesive manner, and
ideally in a way that users find intuitive. Metaphors are sometimes employed in
designs to help users bridge from familiar models to new ones. Users develop a
mental model of any system they interact with. Although users' mental models
may be subconscious, the models will direct their interactions and influence
their success or failure. A user's mental model is sometimes referred to as the
user's conceptual model. Ideally, a user's mental model matches the user model
the designer creates. I'll say more about this relationship in a future column
on the role of models in interface design and model-based design methodologies.
How important is the user model in comparison with
the look and feel? Over the years my colleagues and I have come to believe that
the aspects embodied in the look of an interface contribute about 10% and those
that are driven by the feel contribute about 30%.
The user model plays the major role, contributing
about 60% to overall usability.“ (Berry, (11))
Ref 12
Dr Manolya
Kavakli
School of Information Technology
Charles Sturt University
Bathurst, NSW, Australia
User Interface Design& Evaluation
Page 34
Cognitive
psychology
·
How humans perceive the
world
·
How they store and process information
·
How they solve problems
·
How they physically
manipulate objects
Ref 13
Chuck
Kukla
MIT
Glossary
Heuristic
http://whatis.techtarget.com/definition/0,,sid9_gci212246,00.html
![]()
As an adjective, heuristic (pronounced hyu-RIS-tik and from the Greek "heuriskein" meaning "to
discover") pertains to the process of knowing by trying rather than by
following some preestablished formula. (Heuristic can be contrasted with
algorithmic.) The term seems to have two usages:
1)
Describing an approach to learning by trying without necessarily having an
organized hypothesis or way of proving that the results proved or disproved the
hypothesis. That is, "seat-of-the-pants" or
"trial-by-error" learning.
2)
Pertaining to the use of the general knowledge gained by experience, sometimes
expressed as "using a rule-of-thumb." (However, heuristic knowledge
can be applied to complex as well as simple everyday problems. Human chess
players use a heuristic approach.)
As a
noun, a heuristic is a specific rule-of-thumb or argument derived from
experience.