66
Drupal 7 User Interface Patterns Bojhan Somers & Roy Scholten

Drupal 7 Interface Pattern

  • Upload
    bojhan

  • View
    4.443

  • Download
    4

Embed Size (px)

DESCRIPTION

Presentation @ Drupalcon Chicago on interface patterns of Drupal 7

Citation preview

Page 1: Drupal 7 Interface Pattern

Drupal 7 User Interface PatternsBojhan Somers & Roy Scholten

Page 2: Drupal 7 Interface Pattern
Page 3: Drupal 7 Interface Pattern

Reusable solutions to recurring design problems

About design patterns

Page 4: Drupal 7 Interface Pattern

What is a design pattern?About design patterns

• Common design problem

• Solution

• Solution Rationale

• Visual examples

Page 5: Drupal 7 Interface Pattern

Why?

• Consistency

• Sanity check

• Self-service

Page 6: Drupal 7 Interface Pattern

The basics

Form element

Page 7: Drupal 7 Interface Pattern

Common problemsForm elements

Choosing the right one for the job

Page 8: Drupal 7 Interface Pattern

Radio buttonsForm elements

Page 9: Drupal 7 Interface Pattern

Radio buttonsForm elements

Don’t use them forYes/No options

Page 10: Drupal 7 Interface Pattern

Radio buttonsForm elements

Don’t use them forYes/No options. Use a checkbox instead

Page 11: Drupal 7 Interface Pattern

CheckboxForm elements

Page 12: Drupal 7 Interface Pattern

CheckboxForm elements

Page 13: Drupal 7 Interface Pattern

Select listForm elements

Page 14: Drupal 7 Interface Pattern

Select listForm elements

Beware overloading itMake it clear that a selection is needed

Page 15: Drupal 7 Interface Pattern

List boxForm elements

Avoid whenever possible

Page 16: Drupal 7 Interface Pattern

Fieldsetitus

Grouping elements

Page 17: Drupal 7 Interface Pattern

Common problemsGrouping elements

• Overloading the grouping pattern by adding too many elements to a single grouping

• Unnecessary groupings: fieldsets with 1 checkbox

Page 18: Drupal 7 Interface Pattern

FieldsetsGrouping elements

Page 19: Drupal 7 Interface Pattern

FieldsetsGrouping elements

• Avoid Fieldsetitus

• Keep them within one scroll

• Avoid nested fieldsets, it disorientates the user

• Position collapsed fieldsets below expanded

Page 20: Drupal 7 Interface Pattern

Vertical tabsGrouping elements

Page 21: Drupal 7 Interface Pattern

Vertical tabsGrouping elements

• Avoid using it for the main interaction (skip able)

• Avoid long panes

• Avoid long descriptions

• No less then 3, no more than 9

Page 22: Drupal 7 Interface Pattern

Machine nameGrouping elements

Page 23: Drupal 7 Interface Pattern

Machine nameGrouping elements

• Use for all machine names

• Avoid using it for other occasions

Page 24: Drupal 7 Interface Pattern

SummaryGrouping elements

Use fieldsets for chuncking functionality, vertical tabs to hide a lot of functionality. Avoid overloading patterns, or adding unnecessary groupings.

Pattern indexFieldsetsVertical tabsMachine name

Page 25: Drupal 7 Interface Pattern

Operations

Listings

Page 26: Drupal 7 Interface Pattern

Common problemsListings

• Lack of overview

• Too many operations

• Too many columns, with duplicate or unnecessary information

• No empty table state

Page 27: Drupal 7 Interface Pattern

TableListings

Page 28: Drupal 7 Interface Pattern

TableListings

• Standardize order of columns

• Order operations, edit first and delete last.

• Avoid adding columns with similar data

Page 29: Drupal 7 Interface Pattern

Table emptyListings

Page 30: Drupal 7 Interface Pattern

Table emptyListings

• There are no [things] available/yet. Add [thing]

• Action should be the same as the local action

Page 31: Drupal 7 Interface Pattern

Drag & DropListings

Page 32: Drupal 7 Interface Pattern

SummaryListings

Listing are mostly about adhering to standards (positioning columns, operations), avoiding unnecessary columns and empty table messages.

Pattern indexTable (empty)Drag and dropFiltersAdmin listing (Structure/Config)Weighted listing (Appearance)Sectioned listing (Blocks, permissions)

Page 33: Drupal 7 Interface Pattern

Navigation

Information architecture

Page 34: Drupal 7 Interface Pattern

Common problemsInformation architecture

• New information architecture concept, so a lot of misplaced items

• Not applying new patterns (contextual links, action links)

Page 35: Drupal 7 Interface Pattern

Information ArchitectureInformation architecture

Page 36: Drupal 7 Interface Pattern

Information ArchitectureInformation architecture

SectionsContentStructurePeopleConfigurationReports

Principles• Content and people for listings related to the object

• Structure is for frequently accessed site building functionality (max 7)

• Configuration is for infrequently accessed site building or configuration functionality

• Don’t decide purely on your interpretation of section label

Page 37: Drupal 7 Interface Pattern

Configuration sectionsInformation architecture

SectionsPeopleSystemContent authoringUser interfaceMediaSearch and metadataDevelopmentRegional and languages Web services

Page 38: Drupal 7 Interface Pattern

Configuration sectionsInformation architecture

PrinciplesPeopleSystemContent authoringUser interfaceMediaSearch and metadataDevelopmentRegional and languages Web services

How to choose• The functionality (modules)

already placed in this category.

• The label assigned to the category.

Page 39: Drupal 7 Interface Pattern

Local actionsInformation architecture

Page 40: Drupal 7 Interface Pattern

Local actionsInformation architecture

• Keep the task label short, start with a verb “Add”.

• Preferably only one task, avoid more then two

Page 41: Drupal 7 Interface Pattern

TabsInformation architecture

Page 42: Drupal 7 Interface Pattern

TabsInformation architecture

• If the main tab is a listing, call it “List”

• Group similar tabs

• Avoid creating more than 4 tabs, consider broader groupings

• Avoid secondary

navigation

Page 43: Drupal 7 Interface Pattern

Contextual linksInformation architecture

Page 44: Drupal 7 Interface Pattern

Contextual linksInformation architecture

• Primarily used in the front end

• Short labels (2/3 words)

• Avoid more than 6 tasks

Page 45: Drupal 7 Interface Pattern

SummaryInformation architecture

With all the new patterns, it mostly comes down to choosing the right labeling.

Pattern indexInformation architectureConfiguration sectionsLocal actionsTabsContextual links

Page 46: Drupal 7 Interface Pattern

The fastest way to improve your interface is to improve the copy writing

User interface text

Page 47: Drupal 7 Interface Pattern

Common problemsUser interface text

Too much of itJargon & difficult wordsNot instilling confidence in the userDocumentation instead of guidanceExplaining a broken user interface

Page 48: Drupal 7 Interface Pattern
Page 49: Drupal 7 Interface Pattern
Page 50: Drupal 7 Interface Pattern

Omit needless wordsUser interface text

Page 51: Drupal 7 Interface Pattern

Omit needless wordsUser interface text

Page 52: Drupal 7 Interface Pattern

Omit needless wordsUser interface text

Page 53: Drupal 7 Interface Pattern

Omit needless wordsUser interface text

Page 54: Drupal 7 Interface Pattern

Jargon: developer docs in the UIUser interface text

Page 55: Drupal 7 Interface Pattern

Node, taxonomy, truncate, enabled, disabled, modifications, execute, retain, retrieve…

User interface text

Jargon and other difficult words

Page 56: Drupal 7 Interface Pattern

No confidence in the userUser interface text

Page 57: Drupal 7 Interface Pattern

No confidence in the userUser interface text

Note that…Please…Don’t…If enabled…Shouldn’t…You may now…Allow…

Page 58: Drupal 7 Interface Pattern

Explaining a broken UIUser interface text

Page 59: Drupal 7 Interface Pattern

Explaining a broken UIUser interface text

Page 60: Drupal 7 Interface Pattern

SummaryUser interface text

Focus on the task at hand. Use the simplest word possible. Omit needless words: cut 50%, then cut 50% again. Be nice.

Pattern indexPage helpForm element labelForm element descriptionMessages: error, warning, confirmButton labelsFieldset legend

Page 61: Drupal 7 Interface Pattern

IndexIndex

Grouping elementsFieldsetsVertical tabsMachine name

ListingsTable (empty)Drag and dropFiltersAdmin listing (Structure/Config)Weighted listing (Appearance)Sectioned listing (Blocks, permissions)

Information architectureInformation architectureConfiguration sectionsLocal actionsTabsContextual links

User interface textPage helpForm element labelForm element descriptionMessages: error, warning, confirmButton labelsFieldset legend

Page 62: Drupal 7 Interface Pattern

Pattern library

How do we make it happen?

Page 63: Drupal 7 Interface Pattern
Page 64: Drupal 7 Interface Pattern
Page 65: Drupal 7 Interface Pattern
Page 66: Drupal 7 Interface Pattern

What did you think?http://chicago2011.drupal.org/sessions (“Take the Survey” link)

@bojhan ,@royscholten

Thanks!