Differences between revisions 7 and 17 (spanning 10 versions)
Revision 7 as of 2011-05-05 01:24:54
Size: 6047
Editor: shoobe01
Comment:
Revision 17 as of 2013-04-08 20:01:56
Size: 10627
Editor: shoobe01
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Almost before we even started figuring out which patterns we wanted, we starting talking about how they should be internally arranged. There's a surprising amount of variation here, but most of all we decided a single, totally-consistent method was most important. That way you have a fighting chance to take two competing patterns, and compare them. {{{#!html
Line 3: Line 3:
The most important section ended up being the variations. Something like 15-20 patterns disappeared over the course of writing, and ended up being better described as variations of existing patterns. And a few split instead. After writing started, the differences were a bit too severe, so it was rewritten to be two or more patterns, instead of just one with variations. <div class="saleshead">
    <div class="block" id="left">
        <a href="http://4ourth.com/wiki/4ourth%20Mobile%20Touch%20Template">
        <div class="salesLeft">
           <h3>4ourth Mobile Touch Template</h3>
           <p>Design for people, not pixels with this handy, wallet-sized inspection and design tool, only $10. <span>Order yours now</span></p>
        </div>
        </a>
    </div>
    <div class="block" id="right">
        <a href="http://4ourth.com/wiki/Mobile%20Design%20Patterns%20Poster">
        <div class="salesRight">
           <h3>Mobile Interaction Design Patterns Poster</h3>
           <p>Every pattern from the book and this wiki, plus easy-to-follow relationships, and key information on sizes for readability and touch. <span>Order now</span></p>
        </div>
        </a>
    </div>
    <div class="salespad">&nbsp;
    </div>
</div>

}}}


[[http://www.amazon.com/gp/product/1449394639/ref=as_li_tf_tl?ie=UTF8&tag=4ourthmobile-20&linkCode=as2&camp=217145&creative=399373&creativeASIN=1449394639|{{attachment:wiki-banner-book.png|Click here to buy from Amazon.|align="right"}}]]Almost before we even started to figure out which patterns we wanted, we started talking about how they should be internally arranged. There’s a surprising amount of variation here, but primarily we decided that a single, totally consistent method was most important. That way, you have a fighting chance of taking two competing patterns and comparing them.

The most important section ended up being the one on variations. Something like 15 to 20 patterns disappeared over the course of writing this book, and ended up being better described as variations of existing patterns. And a few patterns we split into two or more patterns instead: after we started writing, the variations for some of the patterns were a bit too severe, so we split those patterns into two or more patterns, instead of just one with variations.
Line 7: Line 33:
Names are as short as practical while still being clear, and whenever possible do not conflict with an existing concept. Some end up being a bit of a mouthful as a result, but we do our best. In far more cases than expected, there was no name at all for a well-used design element, and we had to make something up.  Names are as short as practical while still being clear, and whenever possible they do not conflict with an existing concept. Some ended up being a bit of a mouthful as a result, but we did our best. In far more cases than expected, there was no name at all for a well-used design element, and we had to make something up.
Line 9: Line 35:
We always use title case for the actual pattern names. If you run across a name that is capitalized for no apparent reason while reading a sentence (e.g. "Input Method Indicator") that means it is in reference to another pattern in the book, which you can go see to compare. Whenever possible this is also made clear in the text, such as "see the '''[[Input Method Indicator]]''' pattern for an alternative method."

''Within the wiki, these are generally cross linked. Some are not because we forgot. Or linked them wrong, or changed the name later and forgot to update it. To avoid too many links, the first use in a paragraph or section (we're a bit loose on this) tends to be linked, but others often are not.''

''A few other items will be linked, because the wiki software is trying too hard. If it doesn't seem like a pattern, and doesn't resolve, it's one of these.''
We always used title case for the actual pattern names. If you run across a name that is capitalized for no apparent reason while reading a sentence (e.g., “[[Input Method Indicator]]”) that means it is in reference to another pattern in the book, which you can refer to in order to make a comparison. Whenever possible this is also made clear in the text, such as “see the [[Input Method Indicator]] pattern for an alternative method.”
Line 17: Line 39:
Some people get nervous when the word "problem" is used in a project or design sense. But problems foster solutions, so try not to get worried about any history that may have to your organization.  Some people get nervous when the word problem is used in a project or design sense. But problems foster solutions, so try not to worry about any history or bad implications that term may have to your organization.
Line 19: Line 41:
This is just a summary of why you'd want to use this pattern. Ideally, patterns are grouped with similar problems, and you can get to the right section, then compare the problem statements as a way to help identify which one you really have.
The “Problem” section of each pattern is just a summary of why you’d want to use the pattern. Ideally, patterns are grouped with similar problems, and you can get to the right section and then compare the problem statements as a way to help identify which one you really have.
Line 23: Line 44:
A definition of what the pattern involves, which other patterns are key overlaps or provide key components and when relevant the important technologies required to make it operate. The “Solution” section provides a definition of what the pattern involves, which other patterns are key overlaps or provide key components, and (when relevant) the important technologies required to make it operate.
Line 25: Line 46:
This is one of the sections that can vary widely, from a very brief introduction to being half of the pattern. If it is difficult to explain, difficult to implement, or often poorly implemented, this will get longer. Simple patterns are shorter. This is one of the sections that can vary widely, from a very brief introduction to comprising half of the pattern. If it is difficult to explain, difficult to implement, or often poorly implemented, this will get longer. Simple patterns are shorter.
Line 29: Line 50:
Our patterns aren't stencils, so aren't restrictive. All of these have variations that can not only be chosen from, but which are defined so that the correct one can be chosen based on the content to be delivered and the context in which the pattern will be used. Our patterns aren’t stencils, so they aren’t restrictive. All of these have variations that you can choose and that are defined so that you can choose the correct one based on the con- tent to be delivered and the context in which you will use the pattern.
Line 31: Line 52:
The size of this section varies widely depending on the number and difference of the variations. Some have multi-faced variations, so more than one list may be encountered. In some cases, the variations are so pronounced that much of the interaction and presentation is covered in this section as well.  The length of this section varies widely depending on the number of and differences among the variations. Some have multifaceted variations, so more than one list may be encountered. In some cases, the variations are so pronounced that much of the interaction and presentation is covered in this section as well.
Line 35: Line 56:
How the user interacts with the item being described, both the physical pressing of buttons (or swiping the screen) and what the screen displays that the user can click on or type inside.  This section explains how the user interacts with the item being described including pressing buttons (or swiping the screen) and what the screen displays that the user can click on or type inside.
Line 39: Line 60:
Things on the screen, which you cannot click on, or details about the manner in which displayable items are presented, which do not directly influence the interaction. A shadow on an interactive item might help visibility, so matters, but does not directly influence interaction, for example. This section explains things on the screen that you cannot click on, or details about the manner in which displayable items are presented which do not directly influence the interaction. A shadow on an interactive item might help with visibility, so this would matter but would not directly influence interaction, for example.
Line 41: Line 62:
The difference between interaction and presentation can be a bit difficult to fathom sometimes, but breaking them up helps a lot when trying to seek the core truths of a function, and separate out what must be present and what is optional or additional. The difference between interaction and presentation can be a bit difficult to fathom sometimes, but breaking them up helps a lot when trying to seek the core truths of a function and separating what must be present and what is optional or additional.
Line 45: Line 66:
Specifics of the implementation you should watch out for are always listed. These cover both "anti-variations" (methods that should never be used at all) and more minor pitfalls or edge case uses of proper variations to watch out for. These are not speculative, but are known to be bad by violating heuristics, and often are verified by research.  Specifics of the implementation you should watch out for are always listed. These cover both ''antivariations'' (methods that should never be used) and more minor pitfalls or edge case uses of proper variations to watch out for. These are not speculative, but are known to be bad because they violate heuristics, and often are verified by research.
Line 47: Line 68:
These do not encompass all the possible antipatterns, but the key and most likely problems. Rest assured, there are many other ways to break a good pattern. Use design principles, heuristics and carefully read the rest of the pattern to prevent poor implementations. These do not encompass all the possible antipatterns, but the key and most likely problems. Rest assured that there are many other ways to break a good pattern. Use design principles and heuristics, and carefully read the rest of the pattern to prevent poor implementations.
Line 49: Line 70:
If you cannot avoid an anti-pattern for technical reasons, the pattern should not be used, and a technically feasible replacement found. This is a common occurrence, and is a key reason the anti-patterns are explicitly listed. If you cannot avoid an antipattern for technical reasons, you should not use the pattern and instead you should find a technically feasible replacement. This is a common occurrence, and is a key reason the antipatterns are explicitly listed.
Line 52: Line 73:
== Examples & Illustrations ==
Skimming this book, you will rapidly note there are no examples in the traditional manner found in technical design books. There are no screenshots of actual real-live products. After attempting to do this in the first few patterns, it was deliberately abandoned. Mostly because the screenshots weren't doing as good a job as the few illustrative, wireframe-like examples.
== Examples and illustrations ==
We deliberately chose not to include a lot of screenshots. In fact, we include hardly any. We did not arrive at this decision lightly; we gathered and extensively annotated screenshots for the first several patterns. But we decided to take this route for the purpose of practicality. It’s very hard to find enough adequate examples, and often the best one is on a device that is difficult or impossible to capture. Some of the clearest examples are on feature phones, old PDAs, GPSes, and the like.
Line 55: Line 76:
Production examples were are in very specific contexts, so had to have extensive captions to explain what the point was. And very often, some part was also bad, which had to be disclaimed. This leads to the key problem we encountered with screenshots: clarity. Patterns are the pure essence of an implementation. And almost every implementation layers its own style on top — or buries a pattern alongside others. Screenshots required explanation, and very often caveats about what not to do.
Line 57: Line 78:
The line drawings that are used show only what needs to be shown, with as much clarity as possible. These diagrams were produced in Adobe InDesign, and will be made available on the wiki when production is completed. So they can be used as components by interaction designers when implementing these patterns. To solve the problems with screenshots, we used illustrations almost exclusively throughout the book. These are all of the same basic style, but vary widely in the detail level used, sometimes in adjacent drawings in the same pattern.

In each case, only the required amount of detail is used. Sometimes that detail is just boxes and lines, and the words and images are implied. Sometimes words and so on have to be in there to communicate the point. Sometimes actual raster icons or websites, drop shadows, and other effects are used.

As a general rule, large blank areas on a page do not mean there’s nothing there. It just means we’re not discussing that component, so we removed placeholder information for clarity. The Annunciator Row is almost always assumed, so space is provided, but is not displayed — again, for clarity and to reduce clutter.

Color, especially when clearly not naturalistic, generally has a meaning:
 * Yellow usually refers to the displayed, interactive elements.
 * Blue is for images, and graphical displays such as information visualizations. A different color is used so that it is clear that it’s not just a box.
 * Grays represent nonselectable items, like the parent when a child has popped up over it.
 * Orange is used when the item is in focus, as when scrolling in a list, or to indicate the primary button that is going to be selected for a process.

This is not always adhered to, especially in the higher-fidelity drawings, but it is a good guideline.

That being said, there are a few photos and screenshots in the book. We used these when creating an illustration of sufficiently high fidelity would have been pointless, for clarity when describing certain hardware details, and as example implementations when introducing new categories of patterns.


-------
Next: [[Successfully Designing with Patterns and Heuristics]]
-------
= Discuss & Add =
== Links within the wiki ==
Please note that within the wiki, pattern names are generally cross linked. Click the blue text and just go straight there. In the book, they are also blue, but I assume if you click them the pages don't flip. I am not sure if they work in eBook formats, so someone who bought one tell me.

Some are not because we forgot, or linked them wrong, or changed the name later and forgot to update it. Do please tell us if one is missing.

To avoid too many links, the first use in a paragraph or section tends to be linked, but others often are not. We're a bit loose on this really, and the book isn't perfect on taking a position either way as well. If it bugs you, tell me and I'll fix it, else just figure it out.

A few other items will be linked, because the wiki software is trying too hard to auto-recognize, or something. If it doesn't seem like a pattern, and doesn't resolve, it's one of these. Sorry, I can't figure it out so gave up.

== More about how to read patterns ==
There's an O'Reilly webcast Steven did on 8 November 2011 that outlines some principles of patterns (as we see them) and which includes a portion explaining each of these sections from a different point of view. Basically, ''why'' the sections exist as they do.
http://oreillynet.com/pub/e/2087


== Examples ==
If you want to add examples (and we occasionally do also) add them here.

== Make a new section ==
Just like this. If, for example, you want to argue about the differences between, say, Tidwell's Vertical Stack, and our general concept of the List, then add a section to discuss. If we're successful, we'll get to make a new edition and will take all these discussions into account.

Click here to buy from Amazon.Almost before we even started to figure out which patterns we wanted, we started talking about how they should be internally arranged. There’s a surprising amount of variation here, but primarily we decided that a single, totally consistent method was most important. That way, you have a fighting chance of taking two competing patterns and comparing them.

The most important section ended up being the one on variations. Something like 15 to 20 patterns disappeared over the course of writing this book, and ended up being better described as variations of existing patterns. And a few patterns we split into two or more patterns instead: after we started writing, the variations for some of the patterns were a bit too severe, so we split those patterns into two or more patterns, instead of just one with variations.

Name

Names are as short as practical while still being clear, and whenever possible they do not conflict with an existing concept. Some ended up being a bit of a mouthful as a result, but we did our best. In far more cases than expected, there was no name at all for a well-used design element, and we had to make something up.

We always used title case for the actual pattern names. If you run across a name that is capitalized for no apparent reason while reading a sentence (e.g., “Input Method Indicator”) that means it is in reference to another pattern in the book, which you can refer to in order to make a comparison. Whenever possible this is also made clear in the text, such as “see the Input Method Indicator pattern for an alternative method.”

Problem

Some people get nervous when the word problem is used in a project or design sense. But problems foster solutions, so try not to worry about any history or bad implications that term may have to your organization.

The “Problem” section of each pattern is just a summary of why you’d want to use the pattern. Ideally, patterns are grouped with similar problems, and you can get to the right section and then compare the problem statements as a way to help identify which one you really have.

Solution

The “Solution” section provides a definition of what the pattern involves, which other patterns are key overlaps or provide key components, and (when relevant) the important technologies required to make it operate.

This is one of the sections that can vary widely, from a very brief introduction to comprising half of the pattern. If it is difficult to explain, difficult to implement, or often poorly implemented, this will get longer. Simple patterns are shorter.

Variations

Our patterns aren’t stencils, so they aren’t restrictive. All of these have variations that you can choose and that are defined so that you can choose the correct one based on the con- tent to be delivered and the context in which you will use the pattern.

The length of this section varies widely depending on the number of and differences among the variations. Some have multifaceted variations, so more than one list may be encountered. In some cases, the variations are so pronounced that much of the interaction and presentation is covered in this section as well.

Interaction Details

This section explains how the user interacts with the item being described — including pressing buttons (or swiping the screen) and what the screen displays that the user can click on or type inside.

Presentation Details

This section explains things on the screen that you cannot click on, or details about the manner in which displayable items are presented which do not directly influence the interaction. A shadow on an interactive item might help with visibility, so this would matter but would not directly influence interaction, for example.

The difference between interaction and presentation can be a bit difficult to fathom sometimes, but breaking them up helps a lot when trying to seek the core truths of a function and separating what must be present and what is optional or additional.

Antipatterns

Specifics of the implementation you should watch out for are always listed. These cover both antivariations (methods that should never be used) and more minor pitfalls or edge case uses of proper variations to watch out for. These are not speculative, but are known to be bad because they violate heuristics, and often are verified by research.

These do not encompass all the possible antipatterns, but the key and most likely problems. Rest assured that there are many other ways to break a good pattern. Use design principles and heuristics, and carefully read the rest of the pattern to prevent poor implementations.

If you cannot avoid an antipattern for technical reasons, you should not use the pattern and instead you should find a technically feasible replacement. This is a common occurrence, and is a key reason the antipatterns are explicitly listed.

Examples and illustrations

We deliberately chose not to include a lot of screenshots. In fact, we include hardly any. We did not arrive at this decision lightly; we gathered and extensively annotated screenshots for the first several patterns. But we decided to take this route for the purpose of practicality. It’s very hard to find enough adequate examples, and often the best one is on a device that is difficult or impossible to capture. Some of the clearest examples are on feature phones, old PDAs, GPSes, and the like.

This leads to the key problem we encountered with screenshots: clarity. Patterns are the pure essence of an implementation. And almost every implementation layers its own style on top — or buries a pattern alongside others. Screenshots required explanation, and very often caveats about what not to do.

To solve the problems with screenshots, we used illustrations almost exclusively throughout the book. These are all of the same basic style, but vary widely in the detail level used, sometimes in adjacent drawings in the same pattern.

In each case, only the required amount of detail is used. Sometimes that detail is just boxes and lines, and the words and images are implied. Sometimes words and so on have to be in there to communicate the point. Sometimes actual raster icons or websites, drop shadows, and other effects are used.

As a general rule, large blank areas on a page do not mean there’s nothing there. It just means we’re not discussing that component, so we removed placeholder information for clarity. The Annunciator Row is almost always assumed, so space is provided, but is not displayed — again, for clarity and to reduce clutter.

Color, especially when clearly not naturalistic, generally has a meaning:

  • Yellow usually refers to the displayed, interactive elements.
  • Blue is for images, and graphical displays such as information visualizations. A different color is used so that it is clear that it’s not just a box.
  • Grays represent nonselectable items, like the parent when a child has popped up over it.
  • Orange is used when the item is in focus, as when scrolling in a list, or to indicate the primary button that is going to be selected for a process.

This is not always adhered to, especially in the higher-fidelity drawings, but it is a good guideline.

That being said, there are a few photos and screenshots in the book. We used these when creating an illustration of sufficiently high fidelity would have been pointless, for clarity when describing certain hardware details, and as example implementations when introducing new categories of patterns.


Next: Successfully Designing with Patterns and Heuristics


Discuss & Add

Please note that within the wiki, pattern names are generally cross linked. Click the blue text and just go straight there. In the book, they are also blue, but I assume if you click them the pages don't flip. I am not sure if they work in eBook formats, so someone who bought one tell me.

Some are not because we forgot, or linked them wrong, or changed the name later and forgot to update it. Do please tell us if one is missing.

To avoid too many links, the first use in a paragraph or section tends to be linked, but others often are not. We're a bit loose on this really, and the book isn't perfect on taking a position either way as well. If it bugs you, tell me and I'll fix it, else just figure it out.

A few other items will be linked, because the wiki software is trying too hard to auto-recognize, or something. If it doesn't seem like a pattern, and doesn't resolve, it's one of these. Sorry, I can't figure it out so gave up.

More about how to read patterns

There's an O'Reilly webcast Steven did on 8 November 2011 that outlines some principles of patterns (as we see them) and which includes a portion explaining each of these sections from a different point of view. Basically, why the sections exist as they do. http://oreillynet.com/pub/e/2087

Examples

If you want to add examples (and we occasionally do also) add them here.

Make a new section

Just like this. If, for example, you want to argue about the differences between, say, Tidwell's Vertical Stack, and our general concept of the List, then add a section to discuss. If we're successful, we'll get to make a new edition and will take all these discussions into account.

Reading the Patterns (last edited 2013-04-08 20:01:56 by shoobe01)