UI logo
The Webzine for Interaction Designers
uidesign.net
 
     
February 1999
  User Interface Analysis

Page 2 >>

Table of contents

  • Preface
  • Part 1 - The Case for User Interface Analysis
  • Part 2 - The Core Analysis Strategies
  • Strategy 1. List the most important User Roles / Job Functions involved in the system
  • Strategy 2. List the most important tasks to be performed with the system.
  • Strategy 3. List the most important artifacts / things in the system, existing system or process
  • Part 3 - General Purpose Strategies for Design Shape
  • Strategy 4. Separate Verbs from Nouns
  • Strategy 5. Identify Groups of Data
  • Strategy 6. Identify Collection of Items
  • Strategy 7. Identify Object Histories
  • Strategy 8. Look for comparative analysis requirements
  • Part 4 - Specialist Strategies for Business Goals
  • Strategy 9. List the most important Business Decisions
  • Strategy10. List things which affect a Business Decision
  • Strategy 11. List Process Steps
  • Strategy 12. Identify Arbitration Systems
  • Strategy 13. List the Workflow paths

List of Design Notes

List of Analysis Tips

Preface

This White Paper really represents a work in progress. It presents a formalisation of how I go about analysing a requirement and a domain in order to form the outline of a design. As with so many techniques practice came before theory with this work. Every one of these analysis strategies has come about from analysing how a UI Design problem was solved or simply because a facet of design got overlooked due to unforeseen complexity from an implied requirement. Such unforeseen complexities highlight errors or oversights in the analysis process. Some of the later strategies resulted from correcting such oversights and they have been formalised as analysis points to prevent such oversights happening again.

Results from certain analysis strategies lead to the adoption of certain design patterns. Over the next few months I want to present these patterns, most of which are derived from Strategies 6 to 11 from this paper.

Therefore, this month we lay the ground work for a lot of the more advanced techniques which come later. There is a lot of material in this paper, so I have divided it up into 4 pieces so that it can be taken in smaller measures.

This paper is designed to be operating system and device neutral, as it is a paper about Analysis rather than Design.

I will gladly receive your feedback on this work and I hope that you will come back to it again when I publish some more patterns over the next few months. I hope that some of you will recognise things which you are already doing and tell me about them.

Part 1 - The Case for User Interface Analysis

Introduction - What is Analysis?

User Interface Design is a well used term and one that most of us believe we understand. User Task Analysis is other widely used term and again one which most of us would claim to comprehend. So what is User Interface Analysis and how does it differ from the User Interface Design and User Task Analysis?

In any software development lifecycle it is widely accepted that there must be a Requirement Phase, followed by an Analysis and Design Phase, followed by a Development Phase, followed by several Testing Phases. Actually Analysis and Design are usually advocated as two separate stages but the working reality is that they are effectively one stage. Why should we need this division of Analysis from Design?

Analysis is essentially the understanding and refinement of the requirement and the documenting of such in a clear and logical fashion from which a Design can be developed. A Design for software is essentially the adoption of the analysis and the adaption of it to the technology available for implementation. It is possible to have a single Analysis of a Problem Domain but a separate Design for say a C++ based implementation and a Java based implementation. Design is generally influenced by the technology to be used and is adapted to that technology, thus it is difficult to re-use a design across varying technologies. The Analysis, however, can be re-used to produce a suite of designs. It makes sense, therefore, to separate Analysis from Design.

So User Interface Analysis is about understanding and refining the detail of the Problem Domain and documenting it in a design independent fashion. The Analysis is technology independent. It can later be used to produce a design which is technology specific.

Why use analysis strategies?

What are analysis strategies? Analysis strategies are tools that the User Interface Designer needs in order to bring some repeatability to the process of analysing a system requirement and identifying the key design ideas which will formulate the shape, behaviour and information displayed by a finished product.

How great it feels when you complete a design, and it's elegant, it works well, Users like it and it looks good too. How often has this happened and next time, you've failed to produce such a good result? What was the difference? Perhaps you had that "Eureka" moment on the first one, and something similar just didn't happen next time around. Designers block? Maybe!

Wouldn't it be nice to have some methods at hand which can be employed to facilitate the "Eureka" experience more often - to help you produce that optimal, elegant, functional, and aesthetic design, again and again? How can you put some predictability behind your creativity?

Behavioural psychologist Mihaly Csikszentmihalyi described the process of creative thinking in his recent book, "Creativity - Flow and the psychology of discovery and invention". A simpler treatment of the subject was given in another recent book, "How to get ideas?" by Jack Foster. The essence of the issue is that the creative person must first assimilate as much as there is to know about the problem domain, then allow a gestation period and often the "Eureka" moment arrives. Something creative happens. Its more than simply luck.

The possibility of Good Fortune happens when preparation meets opportunity.

As a User Interface Designer, you have to give yourself the possibility to have the good fortune of a "Eureka" moment, to produce a great design. This article on Analysis Strategies describes how I currently work to partition up and better understand a Domain, in order to facilitate the creative process. Over the years I have developed and refined these techniques. I was finally persuaded to write them down by my current boss, Jeff De Luca, who has been an inspiration and spur to the completion of this work.

I do this strategy analysis both alone and in teams, working with Domain experts, Developers and Users. The team working process is the subject for another article ( scheduled for UIDesign April edition ).

What I am looking for from the Analysis Strategies process, is enough understanding in order to piece together the outline shape at different levels within the UI, and enough understanding of the required behaviour to test out the acceptability of the shape.

I hope that these Analysis Strategies will be part of greater work which will help lift User Interface Design from the realms of "Black Magic" into a well understood discipline. The mission statement for uidesign.net .

This work on Strategies for UI Design has been inspired by similar work done by Peter Coad in the sphere of Object Modelling. This is documented in his book, Object Models - Strategies, Patterns and Applications, Peter Coad, North, Mayfield 2nd Ed., Yourdon Press, Prentice Hall, 1997.

How to use Strategies

The strategies presented in parts 2, 3 and 4 are designed to be used in sequence as the output from each one builds up and provides input for subsequent strategies. However, it will quickly become evident to the reader that not all strategies will apply or have relevance to every application or domain area. So the reader is encouraged to pick and choose - to select strategies which seem relevant to the domain, the target audience and the target system.

Strategies are designed to flesh out the information required to select the appropriate User Interface layout (shape) and the behaviour, navigation and interaction which make up the feel of the interface. They would not normally be used in isolation. They would be employed as part of the whole UI Design process.

How Analysis Strategies are used with UI Design Patterns as part of the larger UI Design process will be covered in other papers over the coming months.

Dave's Demon Distribution Co. - An example system

Throughout this paper, we will refer to a fictitious distribution company and its requirement for a simple sales order processing system.
The system will provide a product catalogue with a number of products (goods). The customer should be able to place an order over the phone and have that order dispatched from the warehouse to his delivery address. The bill should be sent to his billing address.
There are several system users. These are salesman, sales clerks, credit clerks, sales manager, chief accountant, warehouse clerk, warehouse manager.
The goal for the system is to facilitate the business of the company and each User's Job Function, whilst eliminating the use of paper and improving process quality and traceability.
We will shorten the name to DDD Co. for brevity.

Page 2 >>

uidesign.net
hosted by likk.net
           
 
Copyright uidesign.net, 1999 - 2003.
The UI logo device and uidesign.net wordmark are trademarks of uidesign.net