43
UI Patterns Introduction There is an "Oh, right, I know There is an "Oh, right, I know what that is" reaction to most what that is" reaction to most of these patterns. of these patterns. However, a few of them might be However, a few of them might be new to you, and some of the new to you, and some of the familiar ones may not be part of familiar ones may not be part of your usual design repertoire. your usual design repertoire.

UI Patterns Introduction

  • Upload
    iman

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

UI Patterns Introduction. There is an "Oh, right, I know what that is" reaction to most of these patterns. However, a few of them might be new to you, and some of the familiar ones may not be part of your usual design repertoire. Different UI Pattern Experiences. - PowerPoint PPT Presentation

Citation preview

Page 1: UI Patterns Introduction

UI Patterns Introduction

There is an "Oh, right, I know what that There is an "Oh, right, I know what that is" reaction to most of these patterns. is" reaction to most of these patterns.

However, a few of them might be new to However, a few of them might be new to you, and some of the familiar ones may you, and some of the familiar ones may not be part of your usual design not be part of your usual design repertoire.repertoire.

Page 2: UI Patterns Introduction

Different UI Pattern Experiences

If you don't have years of design experience already, a set of patterns may serve as a learning tool.

If you talk to users, engineers, or managers about UI design, or write specifications, then you could use the pattern names as a way of communicating and discussing ideas.

Each pattern description tries to capture the reasons why the pattern works to make a UI easier to use.

Page 3: UI Patterns Introduction

The Floor Plan Analogy

The User Interface Pattern concept is inspired by the The User Interface Pattern concept is inspired by the finding of design solutions in the architecture. finding of design solutions in the architecture.

Just as houses have various floor plans, a good user Just as houses have various floor plans, a good user interface does as well.interface does as well.

A house generally has a kitchen, living area, bedroom and A house generally has a kitchen, living area, bedroom and bathrooms.bathrooms.

A user interface uses similar structures, arranged so they A user interface uses similar structures, arranged so they fit the needs of their users or inhabitants. fit the needs of their users or inhabitants.

Page 4: UI Patterns Introduction

UI Patterns

Kept application independentKept application independent Adjusted in the design phase for application Adjusted in the design phase for application

requirements.requirements. Define the individual components that will solve Define the individual components that will solve

individual requirements.individual requirements. (I.e. Do we need a bedroom or a hallway here?)(I.e. Do we need a bedroom or a hallway here?)

Define how the components will be combined to Define how the components will be combined to create the application.create the application. (What will the layout of the house look like (What will the layout of the house look like

when we are done?) when we are done?)

Page 5: UI Patterns Introduction

User Interface Pattern Questions

Which User Interface Patterns are needed to Which User Interface Patterns are needed to be able to accomplish certain tasks? be able to accomplish certain tasks?

Which work objects need to be processed? Which work objects need to be processed?

How should user interface screen elements How should user interface screen elements such as fields be grouped together? such as fields be grouped together?

Page 6: UI Patterns Introduction

User Interface Pattern Questions

How should the individual elements of a How should the individual elements of a User Interface Pattern be arranged on the User Interface Pattern be arranged on the user interface? user interface?

Which are the most important elements of a Which are the most important elements of a given User Interface Pattern, and which given User Interface Pattern, and which other, less important ones, are also other, less important ones, are also required?required?

Page 7: UI Patterns Introduction

UI Pattern Answers

Did you think I’d just give them to you? Did you think I’d just give them to you?

Answers are derived from market and user Answers are derived from market and user research.research.

Dependant on the business practices and Dependant on the business practices and end user to be supported. end user to be supported.

Page 8: UI Patterns Introduction

User Interface Patterns

Patterns are more general, while techniques are Patterns are more general, while techniques are more specific.more specific.

Together the two form a foundation for solving Together the two form a foundation for solving common problems, and there is no need to re-common problems, and there is no need to re-architect every problem.architect every problem.

Consider how they would be used to design a new Consider how they would be used to design a new interface or redesign an existing one. interface or redesign an existing one.

Page 9: UI Patterns Introduction

Table Sorter

Problem: Users need to search or scan a complex table Problem: Users need to search or scan a complex table for values that interest themfor values that interest them

Use when: Use when:

Users are viewing data in a table where they must Users are viewing data in a table where they must search for interesting values. search for interesting values.

There are several meaningful possibilities for sorting There are several meaningful possibilities for sorting the table and users may be more effective if they can the table and users may be more effective if they can dynamically select the column to be sorted.dynamically select the column to be sorted.

Page 10: UI Patterns Introduction

Table Sorter

Solution: Allow users to change the column that is Solution: Allow users to change the column that is used for sorting the table.used for sorting the table.

As users click on the column header, the table is As users click on the column header, the table is sorted by that column’s data. sorted by that column’s data.

Another click reverses the order, which can be Another click reverses the order, which can be visualized using an up- or down-wards pointing visualized using an up- or down-wards pointing arrow. arrow.

Make sure it is visible which columns can be Make sure it is visible which columns can be clicked on and which one is active. clicked on and which one is active.

Page 11: UI Patterns Introduction

Table Sorter

Courtesy Courtesy http://http://www.mibexplorer.comwww.mibexplorer.com

Further Benefits: This pattern allows users to organize Further Benefits: This pattern allows users to organize data in a table with relatively few clicks.data in a table with relatively few clicks.

Page 12: UI Patterns Introduction

Tabs Problem: Users need to select an element out of a set Problem: Users need to select an element out of a set

(Navigation), or a large number of parameters must (Navigation), or a large number of parameters must be displayed.be displayed.

Use When: Use When: Navigation – If a large number of destinations Navigation – If a large number of destinations

which a user can select can be broken down into which a user can select can be broken down into groups, preferably less than ten, tabs can be used. groups, preferably less than ten, tabs can be used.

The destination is either known already or the The destination is either known already or the user may have an idea about the kind of item they user may have an idea about the kind of item they are after. are after.

Page 13: UI Patterns Introduction

Tabs – When to Use Large amounts of data are usually not unrelated Large amounts of data are usually not unrelated

and can be divided into categories that match the and can be divided into categories that match the user's conceptual view.user's conceptual view.

Parameter Display – When there are a large Parameter Display – When there are a large number of parameters, the most important, or ones number of parameters, the most important, or ones without a sufficient default value, are often without a sufficient default value, are often displayed on the first tab. displayed on the first tab.

Subsequent tabs hold parameters that have been Subsequent tabs hold parameters that have been categorized and labeled via the tab headers.categorized and labeled via the tab headers.

Page 14: UI Patterns Introduction

Tabs - Solution

Divide the data into sections and present one Divide the data into sections and present one section at a time. Show all sections and let users section at a time. Show all sections and let users switch directly between sections. switch directly between sections.

Show the section labels horizontally and place the Show the section labels horizontally and place the items for the current section underneath it. The items for the current section underneath it. The currently selected category is generally currently selected category is generally highlighted. highlighted.

This effect can be enforced by showing the tabular This effect can be enforced by showing the tabular sheets visually, i.e. connecting the items-area with sheets visually, i.e. connecting the items-area with the current selection. the current selection.

Page 15: UI Patterns Introduction

Tabs – Further Benefits

Further Benefits: Tabbing instantly shows the Further Benefits: Tabbing instantly shows the users which sections are available and makes them users which sections are available and makes them reachable in one click. reachable in one click.

An important limitation comes from the fact that An important limitation comes from the fact that the categories are usually placed horizontally. the categories are usually placed horizontally.

Consequently, the number of categories that "fit" Consequently, the number of categories that "fit" is usually smaller than 10, unless an alphabetical is usually smaller than 10, unless an alphabetical index is used. index is used.

Page 16: UI Patterns Introduction

Tabs – Example 1

Navigation Tabs (Courtesy Navigation Tabs (Courtesy www.amazon.com))

Page 17: UI Patterns Introduction

Tabs – Example 2

Parameter Display Tabs (Courtesy Equipe Communications)Parameter Display Tabs (Courtesy Equipe Communications)

Page 18: UI Patterns Introduction

Paging Problem: The user needs to browse through a large Problem: The user needs to browse through a large

list of itemslist of items

Use When:Use When:

Users need to go through a large list of items.Users need to go through a large list of items.

This pattern is applicable when the items are too This pattern is applicable when the items are too large to fit on one page. (But > 10)large to fit on one page. (But > 10)

The items are typically ordered and the users are The items are typically ordered and the users are likely to find their desired result close to the likely to find their desired result close to the beginning.beginning.

Page 19: UI Patterns Introduction

Paging - Solution

Present the results grouped in pages with a fixed Present the results grouped in pages with a fixed number of items. number of items.

Provide a direct link to a particular page and links Provide a direct link to a particular page and links to the next/previous page that allow to the next/previous page that allow SteppingStepping through the pages. through the pages.

Show around 5 to 10 items at a time. Show around 5 to 10 items at a time. Also show the total number of items and use a title Also show the total number of items and use a title

to say what kind of items they are. to say what kind of items they are.

Page 20: UI Patterns Introduction

Paging - Example The navigation bar should tell the users the most important information about the The navigation bar should tell the users the most important information about the

list; how many items there are, how many they see now and how to get to the rest.list; how many items there are, how many they see now and how to get to the rest.

Paging (Courtesy, Google)

Page 21: UI Patterns Introduction

Tree Table

Problem: Related items which have a parent-child Problem: Related items which have a parent-child or temporal relationship need to be displayed in a or temporal relationship need to be displayed in a related way.related way.

Use When Use When The UI displays multivariate information, so a The UI displays multivariate information, so a

table works well to show the data (or allow table works well to show the data (or allow them to be sorted, as in Table Sorter). them to be sorted, as in Table Sorter).

The items are primarily organized as a The items are primarily organized as a hierarchy, so you also want a tree, or outline, to hierarchy, so you also want a tree, or outline, to display them.display them.

Page 22: UI Patterns Introduction

Tree Table - Solution

Combining the two data-viewing approaches into Combining the two data-viewing approaches into one gives you the best of both worldsone gives you the best of both worlds

The cost is some visual and programming The cost is some visual and programming complexity. complexity.

You can show the hierarchy of items, plus a You can show the hierarchy of items, plus a matrix of additional data or item attributes, in one matrix of additional data or item attributes, in one unified structure.unified structure.

Additional Notes: This technique is popular in Additional Notes: This technique is popular in email clients and news readers, where threads of email clients and news readers, where threads of discussion form treelike structures. discussion form treelike structures.

Page 23: UI Patterns Introduction

Tree Table - Example

Courtesy Outlook Express's news readerCourtesy Outlook Express's news reader

Page 24: UI Patterns Introduction

List Selector

Problem: Users need to configure an object Problem: Users need to configure an object consisting of several parts. consisting of several parts.

Page 25: UI Patterns Introduction

List Selector – Use When

A complex selection needs to be created by users A complex selection needs to be created by users from a large but defined list of items. from a large but defined list of items.

Items must be independent of each other so that Items must be independent of each other so that they can be removed or added without they can be removed or added without consequences. consequences.

At some point users may change their minds and At some point users may change their minds and remove selected parts. Users need to know which remove selected parts. Users need to know which parts are selected and which are available. parts are selected and which are available.

The number of available parts may change during The number of available parts may change during usage of the application. usage of the application.

Page 26: UI Patterns Introduction

List Selector - Solution Show all the parts and allow the user to add or remove Show all the parts and allow the user to add or remove

a part from the selection list. a part from the selection list.

Show the list of parts, in categories if applicable, on Show the list of parts, in categories if applicable, on one side and the list of selected parts on the other one side and the list of selected parts on the other side. side.

Place add and remove functionality in between the left Place add and remove functionality in between the left and right side. and right side.

The user can add parts by selecting them and then The user can add parts by selecting them and then adding them to the parts list. adding them to the parts list.

Consider speed-ups such as double-clicking or Consider speed-ups such as double-clicking or dragging to add or remove an item.dragging to add or remove an item.

Page 27: UI Patterns Introduction

List Selector – Other Thoughts

Showing both the available and selected parts Showing both the available and selected parts gives the user a complete and instant overview. gives the user a complete and instant overview.

The visual organization creates a logical task flow The visual organization creates a logical task flow from left to right. from left to right.

Because item lists are used the design can easily Because item lists are used the design can easily accommodate new items or categories.accommodate new items or categories.

NOTE: This pattern may have to be altered if the NOTE: This pattern may have to be altered if the left to right reading pattern isn’t followed in the left to right reading pattern isn’t followed in the language your users speak.language your users speak.

Page 28: UI Patterns Introduction

List Selector – Example

List Selector (Courtesy Yahoo!)

Page 29: UI Patterns Introduction

List Sorting

It is worth noting that the List Selector is very It is worth noting that the List Selector is very similar to a pattern where users can sort the similar to a pattern where users can sort the display of their selection. display of their selection.

This is useful if users want to see certain data first. This is useful if users want to see certain data first.

It is useful to constrain the user within their It is useful to constrain the user within their selection and not provide confusion or ways to selection and not provide confusion or ways to mis-configure. mis-configure.

Page 30: UI Patterns Introduction

List Sorting - Solution

Solution: Present the list together with up Solution: Present the list together with up and down buttons. and down buttons.

By selecting an item and pressing the up or By selecting an item and pressing the up or down button, the item can be moved. down button, the item can be moved.

Effectively it swaps its place with the item Effectively it swaps its place with the item above or below it when it is moved. above or below it when it is moved.

By selecting several items, users can move By selecting several items, users can move a small set of items to a new place. a small set of items to a new place.

Page 31: UI Patterns Introduction

List Sorting - Example

List Sorting (Courtesy, Yahoo!)List Sorting (Courtesy, Yahoo!)

Page 32: UI Patterns Introduction

Wizards - Problem

The user wants to achieve a single goal but The user wants to achieve a single goal but several decisions need to be made before several decisions need to be made before the goal can be achieved.the goal can be achieved.

Page 33: UI Patterns Introduction

Wizards – Use When

A non-expert user needs to perform an infrequent A non-expert user needs to perform an infrequent complex task consisting of several subtasks where complex task consisting of several subtasks where decisions need to be made. decisions need to be made.

The number of subtasks must be small. The number of subtasks must be small.

The tasks can be ordered but are not always The tasks can be ordered but are not always independent of each other. independent of each other.

To reach the goal several steps need to be taken To reach the goal several steps need to be taken but the exact steps required may vary because of but the exact steps required may vary because of decisions made in previous steps.decisions made in previous steps.

Page 34: UI Patterns Introduction

Wizards - Solution

Take the user through the entire task one step at Take the user through the entire task one step at the time.the time.

When the complex task is started, the user is When the complex task is started, the user is informed about the goal that will be achieved and informed about the goal that will be achieved and the fact that several decisions are needed. the fact that several decisions are needed.

The user can move between tasks using a The user can move between tasks using a navigation system provided by the interface, navigation system provided by the interface, generally back, next and finish buttons. generally back, next and finish buttons.

Page 35: UI Patterns Introduction

Wizards - Solution If the user cannot start the next task before completing the If the user cannot start the next task before completing the

current one, feedback is provided indicating the user current one, feedback is provided indicating the user cannot proceed before completion.cannot proceed before completion.

The user is also able to revise a decision by navigating The user is also able to revise a decision by navigating back to a previous task.back to a previous task.

Additional Notes: Additional Notes: The navigation buttons suggest the users that they are The navigation buttons suggest the users that they are

navigating a path with steps. navigating a path with steps.

The inexperienced user may be able to learn a task or The inexperienced user may be able to learn a task or avoid invalid configurations, but an experienced user may avoid invalid configurations, but an experienced user may take longer to perform the operation.take longer to perform the operation.

Page 36: UI Patterns Introduction

Wizards - Example

Wizard (Courtesy Microsoft XP)Wizard (Courtesy Microsoft XP)

Page 37: UI Patterns Introduction

Progress Bar - Problem

Users are often impatient and need Users are often impatient and need feedback during operations which take a feedback during operations which take a long time to complete. long time to complete.

Even changing the mouse pointer to an Even changing the mouse pointer to an hourglass may not be enough feedback.hourglass may not be enough feedback.

Page 38: UI Patterns Introduction

Progress Bar Use When: A time-consuming operation will take Use When: A time-consuming operation will take

longer than two seconds or so to complete.longer than two seconds or so to complete.

Solution: Solution: It's been shown experimentally that if users see an It's been shown experimentally that if users see an

indication that something is going on, they're indication that something is going on, they're much more patient, even if they have to wait much more patient, even if they have to wait longer. longer.

Maybe it's because they know that "the system is Maybe it's because they know that "the system is thinking," and it isn't just hung or waiting for them thinking," and it isn't just hung or waiting for them to do something.to do something.

Page 39: UI Patterns Introduction

Progress Bar Additional Notes: Show an animated indicator of Additional Notes: Show an animated indicator of

how much progress has been made.how much progress has been made. what's currently going on, what's currently going on, what proportion of the operation is done so far, what proportion of the operation is done so far, how much time remains, and how much time remains, and how to stop it. how to stop it.

If the UI doesn’t know how long the task will take If the UI doesn’t know how long the task will take to complete, show something animated which is to complete, show something animated which is noncommittal about percentagesnoncommittal about percentages

Page 40: UI Patterns Introduction

Progress Bar – NOTE!

NOTE: The GUI application shouldn’t be “frozen” NOTE: The GUI application shouldn’t be “frozen” (i.e. unable to repaint itself, unable to perform (i.e. unable to repaint itself, unable to perform other operations) during the time that the longer other operations) during the time that the longer operation is taking place. Putting the operation on operation is taking place. Putting the operation on a separate thread, or Swing Worker Thread in Java a separate thread, or Swing Worker Thread in Java is desirable.is desirable.

Page 41: UI Patterns Introduction

Progress Bar – Example

Animated Progress Bar (Courtesy Microsoft XP)Animated Progress Bar (Courtesy Microsoft XP)

Page 42: UI Patterns Introduction

Be Creative, Have Fun!

Use existing patterns and techniques as a base to Use existing patterns and techniques as a base to work from.work from.

It takes a lot of work to make an easy to use GUI, It takes a lot of work to make an easy to use GUI, but it is well worth it in the long run!but it is well worth it in the long run!

Don’t get too bizarre, and be prepared to collect Don’t get too bizarre, and be prepared to collect feedback on the usability of new items before feedback on the usability of new items before deployment to customers.deployment to customers.

Examples: Table for binary logging string, various Examples: Table for binary logging string, various validation items, etc.validation items, etc.

Page 43: UI Patterns Introduction

References

Jenifer TidwellJenifer Tidwell http://www.mit.edu/~jtidwell/ui_patterns_essayhttp://www.mit.edu/~jtidwell/ui_patterns_essay

.html.html http://time-http://time-tripper.com/uipatternstripper.com/uipatterns

SAP Design GuildSAP Design Guild http://sapdesignguild.org/community/readers/prhttp://sapdesignguild.org/community/readers/pr

int_reader_crm_latzina.aspint_reader_crm_latzina.asp www.welie.comwww.welie.com

http://www.welie.com/patternshttp://www.welie.com/patterns