P. 1
Developing a UI Design Pattern Library - A Case Study at eCraft (Master's Thesis)

Developing a UI Design Pattern Library - A Case Study at eCraft (Master's Thesis)

|Views: 3,376|Likes:
Published by Janne Lammi
Designing good user interfaces is difficult, and thus software development organizations
need effective and usable design tools to support design work. In this thesis a tool, a user
interface design pattern library which captures knowledge of good UI design and shares it
effectively in reusable format to the development organization, was developed for a
Finnish middle-sized IT organization called eCraft.

The theoretical part of this research starts with presenting different kinds of design
languages on the domain, where two main concepts are identified; usability guidelines and
UI design patterns. The different characteristics of these concepts are introduced, and their
strengths and weaknesses are being discussed. The primary conclusion of this research is
that UI design patterns is the best concept to document design solutions. Then, the current
way to design and develop user interfaces at the case company is analyzed in the empirical
part. The study showed that problems in UI design exist, and usability is not really taken
into account in daily development work. However, the company employees were willing
to develop their UI design skills, but they didn’t know how.

After the needs of the organization were recognized and design language for the company
was selected, literature review continues by researching different kinds of tools for
managing and sharing patterns. In addition, some interesting related concepts are being
surveyed. Based on these results, a solution for a UI design pattern library is developed
using some fresh ideas on this domain. The tool makes possible a living design pattern
language, whose structure and content gets modified and updated collaboratively by its
users.

The pattern language is integrated into company’s work processes and introduced for trial
use in few software development projects. Users’ experiences and attitudes of its usage are
collected after one and a half months usage period and also partly during it. The results
showed that the library is considered useful by its user and it makes UI design easier and
more efficient, bringing several benefits to the case company.

More UI patterns and a tool for building a design pattern library: http://patternry.com
Designing good user interfaces is difficult, and thus software development organizations
need effective and usable design tools to support design work. In this thesis a tool, a user
interface design pattern library which captures knowledge of good UI design and shares it
effectively in reusable format to the development organization, was developed for a
Finnish middle-sized IT organization called eCraft.

The theoretical part of this research starts with presenting different kinds of design
languages on the domain, where two main concepts are identified; usability guidelines and
UI design patterns. The different characteristics of these concepts are introduced, and their
strengths and weaknesses are being discussed. The primary conclusion of this research is
that UI design patterns is the best concept to document design solutions. Then, the current
way to design and develop user interfaces at the case company is analyzed in the empirical
part. The study showed that problems in UI design exist, and usability is not really taken
into account in daily development work. However, the company employees were willing
to develop their UI design skills, but they didn’t know how.

After the needs of the organization were recognized and design language for the company
was selected, literature review continues by researching different kinds of tools for
managing and sharing patterns. In addition, some interesting related concepts are being
surveyed. Based on these results, a solution for a UI design pattern library is developed
using some fresh ideas on this domain. The tool makes possible a living design pattern
language, whose structure and content gets modified and updated collaboratively by its
users.

The pattern language is integrated into company’s work processes and introduced for trial
use in few software development projects. Users’ experiences and attitudes of its usage are
collected after one and a half months usage period and also partly during it. The results
showed that the library is considered useful by its user and it makes UI design easier and
more efficient, bringing several benefits to the case company.

More UI patterns and a tool for building a design pattern library: http://patternry.com

More info:

Published by: Janne Lammi on Mar 30, 2010
Copyright:Traditional Copyright: All rights reserved

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/09/2013

pdf

text

original

The final chapter of this thesis summarizes the work done so far and includes
discussion and conclusions of the study. Also theoretical and practical significance of
the work and future directions are discussed.

In the beginning of this research project, the case company wanted to have some kind
of design language for UI design and development, and a tool for distributing it to
their software teams. The first task was to find out what kind of documented design
knowledge the company needs. To give an answer to this, first a literature review was
carried through to discover what knowledge and ideas have been established on the
topic. Based on the literature, there are several different types of concepts to
document design knowledge, which all have their pros and cons. Two main concepts
were identified in chapter three, usability guidelines and UI design patterns, of which
the latter was chosen to form a design language for the case organization. One of the
key benefits of design patterns over usability guidelines was the emphasis on the
context of use. Based on the literature, the main characteristics which made up a good
pattern were visual examples of its usage and writing the pattern content using a
language that everyone, regardless of his or her background, can understand.

To create design patterns that are really useful for the organization, feedback from the
users of the patterns is needed; patterns should be developed in co-operation with
everyone who is somehow involved in UI design and development. Therefore, a
comprehensive field study in the case organization was performed to get insights into
the state of affairs, find out who will be the users of the design patterns, and what are
their needs. The results of this study in chapter 5 showed that problems in UI design
and development process exists, but introducing design patterns into the development
work can overcome at least part of the problems identified. The study of the
organizational environment also gave an understanding of what kind of elements each
pattern should contain, and provided a basis for selecting suitable patterns from
existing pattern libraries to be further processed and localized for the company.

Patterns always work together to solve design problems. This kind of collection of
related patterns is called a pattern language. A study of existing pattern languages on
the domain was conducted and it showed that they have several limitations and
weaknesses, leaving room for improvements. None of the current pattern collections
formed a comprehensive pattern language, although it is the biggest goal in pattern
research. During some further literature review, the initial idea of a tool, which in
addition to disseminating and managing patterns, allows collaborative development of
a pattern language, was born on the basis of the needs of the organization.

The pattern library tool was created using WordPress, an open source CMS. It consist
of two web-based tools; a pattern library which is used for organizing and distributing
the pattern language in the company, and a pattern ideas forum, where users can
suggest new patterns and vote on other people’s suggestions. Together they allow
collaborative creation of pattern language, which is one of the key benefits of the tool.

70

The development process of this tool, the pattern library, can be seen to include the
following phases:

• Getting familiar with related literature, the development organization, and UI
design process.
• Development for selecting and processing the initial pattern set, which
contained review of applications developed by the case company, and review
of existing pattern collections.
• Brainstorming and building an application for managing and sharing patterns.
• Integrating pattern activities into software development process to support the
usage of design patterns.
• Creating a workflow for developing pattern language further.
• Introducing pattern library to the development teams.
• Evaluating the effect of using pattern library in design and development work.

The construction was tested in the case organization, and the effect of using it was
evaluated. Based on the results, it can be concluded that most of the goals of the
thesis, stated in chapter 1, were achieved. Using the pattern library in UI design and
development provided several benefits, including helping the designers and
developers to solve UI design problems faster, bringing the people with different
backgrounds on the same page, and it most probably improves consistency and
usability of user interfaces. Furthermore, the company management noticed some
other positive effects it had on the organization. For instance, the company employees
become more interested in usability issues, and some project managers used patterns
as “tools” for starting a discussion about importance of usability with customers.

Implementing a pattern library took time and money, but at least in this research
project, the value it brought to the organization was worth it. But it is also important
to keep in mind the fact that design patterns alone are not a silver bullet that would
solve all the problems in UI design and development. A systematic process to support
design and development with UCD methods and tools such as usage scenarios and
personas is still needed, because the designer still needs to have information about the
user’s environment and tasks.

In the case company, the development of the pattern library will continue. The set of
patterns created in this thesis are only a beginning towards a more comprehensive
pattern language. To get there, more user involvement is needed. Only few of the
users were active in pattern language development, but still most of them didn’t
contribute at all. However, this was quite expected. Integrating pattern activities to
part of every designers’ and developers’ daily routine is a long term project and it just
couldn’t be accomplished in the time scale of this project. In the future, offering more
training, support, and information on library usage will most possibly improve the
current level of user contribution and usage of the patterns.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->