Originally published: Aug 01, 2002 Printable PDF Version Articles Archives
The next evolution in capturing and implementing design knowledge will be the use of visual design patterns (VDP). VDPs offer a powerful new way of focusing design solutions, based on context, by telling the developer when, why, and how the design solution can be applied successfully. Applying VDPs to complex systems is both challenging and potentially very rewarding. Countless designs have been deployed to very large user communities only to result in poor usability. The proprietary nature of these types of applications, coupled with the proliferation of deployment platforms, makes it difficult for organizations to compare successful outcomes among teams and to cooperatively develop VDPs to solve common design problems. VDPs can provide massive benefits to users, as the repetitive nature of patterns can translate into significant cost reductions in training and support for both internal and external users. Implementing a way of capturing, managing, and delivering design standards and VDPs across the enterprise can maximize the use of the design assets, improve the efficiency of the development process, increase the productivity of the development teams, and achieve consistent and usable designs.
Ideally, the developer should be able to easily browse a set of categories related to the issue to find a VDP. As the repository grows, a non-categorized search and a search by problem will be needed to find the right VDP.
A partial list of VDPs that we have developed for transactional systems includes the following.
Data Entry | Navigation |
Simple form | Menus |
Complex form | Repetitive transactions |
Transactional save / validation | Tabs |
Dates (calendars) | List management |
Grid / table entry | Object / sub-object |
Providing Usage-Centered Design Context to VDPs
By employing usage-centered design techniques, we can provide a great deal of context to a VDP that provides guidance to new team members on when, how, and why to use the VDP. VDPs are very dependent on the models employed during the usage-centered design, like the user role, task, and operational models. As these models are developed and refined for a project, an enterprise repository of VDPs can be defined. For instance, if a project is directed towards a mobile executive user who performs infrequent tasks like scheduling appointments, a VDP for a PDA calendar can be identified. The developer can then study the VDP for its applicability and, eventually, use the supporting code bases, design guidelines, and case studies to help solve the issue. Feedback from implementation of the VDP can then be sent back to the repository and associated models.
Below: A web-based list, semi-trained user, limited actions on the row
The same problem can be addressed with a variation on this VDP if the user role model indicates a high-volume transactional worker within a human resources department who is comfortable using a client/server-based application and who needs to perform a variety of actions on the items in the list.
Below: A web-based list, expert user, many actions on the row
Below: Visual design patterns supported by contextual models
Interestingly, we have found that this approach is excellent for getting developers to actually read guidelines. Their interaction normally starts with the VDP and follows to reviewing the supporting guidelines once they feel that the VDP has merit for solving their design problem. Experiential data such as case studies, quality assurance and design checklists, and code templates are also linked to the VDP to provide the “what, why, and how” total solution to the design problem. During the usability testing of our repository, we found that many developers were not familiar with the term “pattern”, so we substituted the word “solutions” for increased clarity. The VDP example below is a from our repository product called GUIguide.
Below: Example of a multi-column list VDP from GUIguide
Below: VDPs are supported by experiential data
Investing in VDPs is essential to delivering consistent user interfaces. However, traditional approaches of implementing VDPs often fall short of expectations because of difficulties in managing, using, updating, and enforcing the VDPs after adoption. Fortunately, products are now being developed to offer a complete, flexible, and scalable solution for capturing, managing, and delivering design knowledge across the enterprise. Using their corporate network, enterprises can create a convenient, searchable repository of VDPs, guidelines, case studies, checklists, and other resources that the entire design team can access on demand. A collaborative system with open access, like GUIguide, allows everyone in the enterprise to contribute their design knowledge to the repository.
VDPs allow enterprises to improve the usability of their software and web applications by leveraging design knowledge and enabling efficient development practices. More than just standards, patterns-based solutions offer great hope in dealing with the increased complexity of designing systems. Investment in the development and deployment of a solutions-driven approach must provide a way of capturing, managing, and delivering design knowledge, so that enterprises can develop easy-to-use software on time and on budget.