Lecture 4 Chapter 2 Design & Software Process Part 1
Lecture 4 Chapter 2 Design & Software Process Part 1
Constraints: What materials must we use? What standards must we adopt? How much can it
cost? How much time do we have to develop it? Are there health and safety issues? In the
case of the personal movie player: does it have to withstand rain? Must we use existing video
standards to download movies? Do we need to build in copyright protection?
Trade-off Choosing which goals or constraints can be relaxed so that others can be met. For
example, we might find that an eye-mounted video display, a bit like those used in virtual
reality, would give the most stable image whilst walking along. However, this would not
allow you to show friends, and might be dangerous if you were watching a gripping part of
the movie as you crossed the road.
The golden rule of design
The designs we produce may be different, but often the raw materials are the same. This leads
us to the golden rule of design: understand your materials
• understand computers
o limitations, capacities, tools, platforms
• understand people
o psychological, social aspects, human error.
2.2PROCESS
2.2.1 The Process of Design
A system has been designed and built, and only when it proves unusable do they think
to ask how to do it right! In other companies usability is seen as equivalent to testing –
checking whether people can use it and fixing problems, rather than making sure they can
from the beginning. In the best companies, however, usability is designed in from the start.
Requirements – what is wanted The first stage is establishing what exactly is needed. As a
precursor to this it is usually necessary to find out what is currently happening.
Analysis: The results of observation and interview need to be ordered in some way to bring
out key issues and communicate with later stages of design.
Design: Well, this is all about design, but there is a central stage when you move from what
you want, to how to do it. There are numerous rules, guidelines and design principles that can
be used to help
Iteration and prototyping: Humans are complex and we cannot expect to get designs right
first time. We therefore need to evaluate a design to see how well it is working and where
there can be improvements.
Implementation and deployment Finally, when we are happy with our design, we need to
create it and deploy it. This will involve writing code, perhaps making hardware, writing
documentation and manuals – everything that goes into a real system that can be given to
others.
2.3 Scenarios
Scenarios are stories for design: rich stories of interaction. They are perhaps the
simplest design representation, but one of the most flexible and powerful. Some scenarios are
quite short: ‗the user intends to press the ―save‖ button, but accidentally presses the ―quit‖
button so loses his work‗. Others are focussed more on describing the situation or context.
Scenarios force you to think about the design in detail and notice potential problems
before they happen. What is the system doing now?‗. This can help to verify that the design
would make sense to the user and also that proposed implementation architectures would
work.
In addition scenarios can be used to:
Communicate with others – other designers, clients or users. It is easy to misunderstand
each other whilst discussing abstract ideas. Concrete examples of use are far easier to share.
Validate other models: A detailed scenario can be ‗played‗ against various more formal
representations such as task models or dialog and navigation models .
Express dynamics Individual screen shots and pictures give you a sense of what a system
would look like, but not how it behaves.
2.4 Navigation Design
Navigation Design is the process or activity of accurately ascertaining
one's position and planning and following a route. the process or activity of accurately
ascertaining one's position and planning and following a route.
Widgets The appropriate choice of widgets and wording in menus and buttons will help you
know how to use them for a particular selection or action.
Screens or windows You need to find things on the screen, understand the logical grouping
of buttons.
Navigation within the application You need to be able to understand what will happen when
a button is pressed, to understand where you are in the interaction.
Environment The word processor has to read documents from disk, perhaps some are on
remote networks. You swap between applications, perhaps cut and paste.
2.4.1 Local structure
In an ideal world if users had perfect knowledge of what they wanted and how the
system worked they could simply take the shortest path to what they want, pressing all the
right buttons and links. The important thing is not so much that they take the most efficient
route, but that at each point in the interaction they can make some assessment of whether they
are getting closer to their (often partially formed) goal.
To do this goal seeking, each state of the system or each screen needs to give the user enough
knowledge of what to do to get closer to their goal.
• knowing where you are
• knowing what you can do
• knowing where you are going – or what will happen
• knowing where you‗ve been – or what you‗ve done.
2.4.2 Global structure – hierarchical organization
The hierarchy links screens, pages or states in logical groupings. The Diagram gives a
high-level breakdown of some sort of messaging system. This sort of hierarchy can be used
purely to help during design, but can also be used to structure the actual system. For example,
this may reflect the menu structure of a PC application or the site structure on the web. Any
sort of information structuring is difficult, but there is evidence that people find hierarchies
simpler than most. One of the difficulties with organizing information or system functionality
is that different people have different internal structures for their knowledge, and may use
different vocabulary.
Figure: Application functional hierarchy
2.3 SCREEN DESIGN AND LAYOUT
2.3.1 Tools for layout
We have a number of visual tools available to help us suggest to the user appropriate
ways to read and interact with a screen or device.
Figure : Alphabetic file listing. Screen shot reprinted by permission from Apple Computer,
Inc.
Aesthetics and utility
The beauty and utility may sometimes be at odds. For example, an industrial control
panel will often be built up of the individual controls of several subsystems, some designed
by different teams, some bought in. The resulting inconsistency in appearance may look a
mess and suggest tidying up. Certainly some of this inconsistency may cause problems.
The conflict between aesthetics and utility can also be seen in many
‗well designed‗ posters and multimedia systems. In particular, the backdrop behind text must
have low contrast in order to leave the text readable; this is often not the case and graphic
designers may include excessively complex and strong backgrounds because they look good.
The results are impressive, perhaps even award winning, but completely unusable! In
consumer devices these aesthetic considerations may often be the key differentiator
betweenproducts, for example, the sleek curves of a car. This is not missed by designers of
electronic goods: devices are designed to be good to touch and feel as well as look at and this
is certainly one of the drivers for the futuristic shapes of the Apple iMac family.
Making a mess of it: colour and 3D
The increasing use of 3D effects in interfaces has posed a whole new set of problems
for text and numerical information. Whilst excellent for presenting physical information and
certain sorts of graphs, text presented in perspective can be very difficult to read and the all
too common 3D pie chart is all but useless.
Localization / internationalization
If you are working in a different country, you might see a document being word
processed where the text of the document and the file names are in the local language, but all
the menus and instructions are still in English. The process of making software suitable for
different languages and cultures is called localization or internationalization.
It is clear that words have to change and many interface construction toolkits make this
easy by using resources. When the program uses names of menu items, error messages and
other text, it does not use the text directly, but instead uses a resource identifier, usually
simply a number. A simple database is constructed separately that binds these identifiers to
particular words and phrases. A different resource database is constructed for each language,
and so the program can be customized to use in a particular country by simply choosing the
appropriate resource database.
2.4 ITERATION AND PROTOTYPING
All interaction design includes some form of iteration of ideas. This often starts early
on with paper designs and storyboards being demonstrated to colleagues and potential users.
Any of these prototypes, whether paper-based or running software, can then be evaluated to
see whether they are acceptable and where there is room for improvement. This sort of
evaluation, intended to improve designs, is called formative evaluation. This is in contrast to
summative evaluation, which is performed at the end to verify whether the product is good
enough. One approach is to get an expert to use a set of guidelines, for example the ‗knowing
where you are‗ list above, and look screen by screen to see if there are any violations.
The other main approach is to involve real users either in a controlled experimental
setting, or ‗in the wild‗ – a real-use environment. The result of evaluating the system will
usually be a list of faults or problems and this is followed by a redesign exercise, which is
then prototyped, evaluated The end point is when there are no more problems that can
economically be fixed. So iteration and prototyping are the universally accepted ‗best
practice ‗approach for interaction design.