Visualization Design Patterns: Difference between revisions
No edit summary |
Tonyguards (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
== Overview == | == Overview == | ||
For any design discipline, including Information and Scientific Visualization, there are design problems within the domain that tend to arise time and again. Although effective solutions may be known, they are not helpful unless that knowledge is coherently structured and communicated to colleagues. Without good structure, design knowledge may be disparate and disjointed, and relationships among solutions may not be apparent. Without good communication, designers who are unaware of solutions may be forced to ‘reinvent the wheel’, wasting unnecessary effort on a problem that has already been solved by others. Some means of capturing and codifying solutions to Information Visualisation design problems would be useful for those engaged in practice. The Visualization Design Patterns described here have been proposed for this purpose. | For any design discipline, including Information and Scientific Visualization, there are design problems within the domain that tend to arise time and again. Although effective solutions may be known, they are not helpful unless that knowledge is coherently structured and communicated to colleagues. Without good structure, design knowledge may be disparate and disjointed, and relationships among solutions may not be apparent. Without good communication, designers who are unaware of solutions may be forced to ‘reinvent the wheel’, wasting unnecessary effort on a problem that has already been solved by others. Some means of capturing and codifying solutions to Information Visualisation design problems would be useful for those engaged in practice. The Visualization Design Patterns described here have been proposed for this purpose. | ||
* [http://www.jakarta.intercontinental.com Jakarta Hotel] | |||
* [http://www.rumahparfum.com Parfum] | |||
== Foundational Patterns == | == Foundational Patterns == | ||
Line 10: | Line 12: | ||
=== '''Interaction Patterns''' === | === '''Interaction Patterns''' === | ||
User intent-based categories of interaction techniques <ref>Yi, J. S., Kang, Y. A., Stasko, J., & Jacko, J. A. (2007). [ | User intent-based categories of interaction techniques <ref>Yi, J. S., Kang, Y. A., Stasko, J., & Jacko, J. A. (2007). [ Toward a Deeper Understanding of the Role of Interaction in Information Visualization.] IEEE Transactions on Visualization and Computer Graphics (TVCG), 13(6). Presented in InfoVis 2007, Sacramento, California, October 28 - November 1, 1224-1231. (see also [ Toward a Deeper Understanding of the Role of Interaction in Information Visualization (presentation)])</ref> | ||
* Reconfigure: show me a different arrangement | * Reconfigure: show me a different arrangement | ||
* Encode: show me a different representation | * Encode: show me a different representation | ||
Line 42: | Line 44: | ||
** [[Patterns:NAFS Model|NAFS Model]] | ** [[Patterns:NAFS Model|NAFS Model]] | ||
See also: [ | See also: [ Interaction Design Patterns (wikipedia article)] | ||
[ | [ (roulette online)] | ||
=== '''Display Rendering Patterns''' === | === '''Display Rendering Patterns''' === | ||
Line 50: | Line 52: | ||
* [[Patterns:Level of Detail|Level of Detail]] | * [[Patterns:Level of Detail|Level of Detail]] | ||
* [[Patterns:2d Representation|2d Representation]] | * [[Patterns:2d Representation|2d Representation]] | ||
* [[Patterns:3d Representation|3d Representation]] | * [[Patterns:3d Representation|3d Representation]] | ||
* [[Patterns:Reference Context|Reference Context]] | * [[Patterns:Reference Context|Reference Context]] | ||
Line 60: | Line 62: | ||
* [[Patterns:Familiar Organizational Device|Familiar Organizational Device]] | * [[Patterns:Familiar Organizational Device|Familiar Organizational Device]] | ||
* [[Patterns:Non-Familiar Organizational Device|Non-Familiar Organizational Device]] | * [[Patterns:Non-Familiar Organizational Device|Non-Familiar Organizational Device]] | ||
== Programming Patterns == | == Programming Patterns == | ||
These are patterns related to the backend programming of visualization systems. They are organised according to the Model-View-Controller approach, though other organizational systems may also be appropriate. | These are patterns related to the backend programming of visualization systems. They are organised according to the Model-View-Controller approach, though other organizational systems may also be appropriate. | ||
Heer and Agrawala's paper ''Software Design Patterns for Information Visualization''<ref name="soft">see Heer, J. & Agrawala, M., 2006. [ | Heer and Agrawala's paper ''Software Design Patterns for Information Visualization''<ref name="soft">see Heer, J. & Agrawala, M., 2006. [Software Design Patterns for Information Visualization]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.</ref> provides a useful overview of software design patterns specific to infovis tasks. | ||
=== Data Modelling and Management === | === Data Modelling and Management === | ||
Line 76: | Line 78: | ||
* [[Patterns:Camera|Camera]] | * [[Patterns:Camera|Camera]] | ||
* [[Patterns:Dynamic Query Binding|Dynamic Query Binding]] | * [[Patterns:Dynamic Query Binding|Dynamic Query Binding]] | ||
=== Controller === | === Controller === | ||
* [[Patterns:Scheduler|Scheduler]] | * [[Patterns:Scheduler|Scheduler]] | ||
Line 82: | Line 84: | ||
* [[Renderer]] | * [[Renderer]] | ||
* [[Production Rule]] | * [[Production Rule]] | ||
== Development Patterns == | == Development Patterns == | ||
These patterns relate to the systems development lifecycle and to the activities involved in implementing and testing software. | These patterns relate to the systems development lifecycle and to the activities involved in implementing and testing software. |
Revision as of 09:22, 8 October 2012
Overview
For any design discipline, including Information and Scientific Visualization, there are design problems within the domain that tend to arise time and again. Although effective solutions may be known, they are not helpful unless that knowledge is coherently structured and communicated to colleagues. Without good structure, design knowledge may be disparate and disjointed, and relationships among solutions may not be apparent. Without good communication, designers who are unaware of solutions may be forced to ‘reinvent the wheel’, wasting unnecessary effort on a problem that has already been solved by others. Some means of capturing and codifying solutions to Information Visualisation design problems would be useful for those engaged in practice. The Visualization Design Patterns described here have been proposed for this purpose.
Foundational Patterns
These patterns are the building blocks of Visualizations. They are more "reference patterns" than true "design patterns". Visualization designers will assume they are a given component of visualization design. The patterns are included to provide a common technical lexicon, to build a lingua franca used throughout the language, to encourage communications between novices and experts, and to facilitate a discussion of pros and cons.
Visualization Architecture
Interaction Patterns
User intent-based categories of interaction techniques [1]
- Reconfigure: show me a different arrangement
- Encode: show me a different representation
- Filter: show me something conditionally
- Abstract/Elaborate: show me more or less detail
- Connect: show me related items
- Explore: show me something else
- Select: mark something as interesting
- Other
See also: [ Interaction Design Patterns (wikipedia article)] [ (roulette online)]
Display Rendering Patterns
- 3d Representation
- Reference Context
- Redundant Encoding
- Small Multiples
- Datatips
- Legends
- Visual Separation
- Familiar Organizational Device
- Non-Familiar Organizational Device
Programming Patterns
These are patterns related to the backend programming of visualization systems. They are organised according to the Model-View-Controller approach, though other organizational systems may also be appropriate.
Heer and Agrawala's paper Software Design Patterns for Information Visualization[2] provides a useful overview of software design patterns specific to infovis tasks.
Data Modelling and Management
View
Controller
Development Patterns
These patterns relate to the systems development lifecycle and to the activities involved in implementing and testing software.
Diagnosis
For techniques used during the design process to evaluate coding and design-time decisions.
Evaluation and Testing
Quality Assurance, Evaluation, and Usability testing methods to close the feedback loop during the development lifecycle.
References
- ↑ Yi, J. S., Kang, Y. A., Stasko, J., & Jacko, J. A. (2007). [ Toward a Deeper Understanding of the Role of Interaction in Information Visualization.] IEEE Transactions on Visualization and Computer Graphics (TVCG), 13(6). Presented in InfoVis 2007, Sacramento, California, October 28 - November 1, 1224-1231. (see also [ Toward a Deeper Understanding of the Role of Interaction in Information Visualization (presentation)])
- ↑ 2.0 2.1 2.2 see Heer, J. & Agrawala, M., 2006. [Software Design Patterns for Information Visualization]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.