UbuntuWiki:UsabilityInPractice
文章出处: |
{{#if: | {{{2}}} | https://wiki.ubuntu.com/UsabilityInPractice }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/af | • {{#if: UbuntuWiki:UsabilityInPractice|Afrikaans| [[::UbuntuWiki:UsabilityInPractice/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ar | • {{#if: UbuntuWiki:UsabilityInPractice|العربية| [[::UbuntuWiki:UsabilityInPractice/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/az | • {{#if: UbuntuWiki:UsabilityInPractice|azərbaycanca| [[::UbuntuWiki:UsabilityInPractice/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/bcc | • {{#if: UbuntuWiki:UsabilityInPractice|جهلسری بلوچی| [[::UbuntuWiki:UsabilityInPractice/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/bg | • {{#if: UbuntuWiki:UsabilityInPractice|български| [[::UbuntuWiki:UsabilityInPractice/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/br | • {{#if: UbuntuWiki:UsabilityInPractice|brezhoneg| [[::UbuntuWiki:UsabilityInPractice/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ca | • {{#if: UbuntuWiki:UsabilityInPractice|català| [[::UbuntuWiki:UsabilityInPractice/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/cs | • {{#if: UbuntuWiki:UsabilityInPractice|čeština| [[::UbuntuWiki:UsabilityInPractice/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/de | • {{#if: UbuntuWiki:UsabilityInPractice|Deutsch| [[::UbuntuWiki:UsabilityInPractice/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/el | • {{#if: UbuntuWiki:UsabilityInPractice|Ελληνικά| [[::UbuntuWiki:UsabilityInPractice/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/es | • {{#if: UbuntuWiki:UsabilityInPractice|español| [[::UbuntuWiki:UsabilityInPractice/es|español]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/fa | • {{#if: UbuntuWiki:UsabilityInPractice|فارسی| [[::UbuntuWiki:UsabilityInPractice/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/fi | • {{#if: UbuntuWiki:UsabilityInPractice|suomi| [[::UbuntuWiki:UsabilityInPractice/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/fr | • {{#if: UbuntuWiki:UsabilityInPractice|français| [[::UbuntuWiki:UsabilityInPractice/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/gu | • {{#if: UbuntuWiki:UsabilityInPractice|ગુજરાતી| [[::UbuntuWiki:UsabilityInPractice/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/he | • {{#if: UbuntuWiki:UsabilityInPractice|עברית| [[::UbuntuWiki:UsabilityInPractice/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/hu | • {{#if: UbuntuWiki:UsabilityInPractice|magyar| [[::UbuntuWiki:UsabilityInPractice/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/id | • {{#if: UbuntuWiki:UsabilityInPractice|Bahasa Indonesia| [[::UbuntuWiki:UsabilityInPractice/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/it | • {{#if: UbuntuWiki:UsabilityInPractice|italiano| [[::UbuntuWiki:UsabilityInPractice/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ja | • {{#if: UbuntuWiki:UsabilityInPractice|日本語| [[::UbuntuWiki:UsabilityInPractice/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ko | • {{#if: UbuntuWiki:UsabilityInPractice|한국어| [[::UbuntuWiki:UsabilityInPractice/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ksh | • {{#if: UbuntuWiki:UsabilityInPractice|Ripoarisch| [[::UbuntuWiki:UsabilityInPractice/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/mr | • {{#if: UbuntuWiki:UsabilityInPractice|मराठी| [[::UbuntuWiki:UsabilityInPractice/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ms | • {{#if: UbuntuWiki:UsabilityInPractice|Bahasa Melayu| [[::UbuntuWiki:UsabilityInPractice/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/nl | • {{#if: UbuntuWiki:UsabilityInPractice|Nederlands| [[::UbuntuWiki:UsabilityInPractice/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/no | • {{#if: UbuntuWiki:UsabilityInPractice|norsk| [[::UbuntuWiki:UsabilityInPractice/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/oc | • {{#if: UbuntuWiki:UsabilityInPractice|occitan| [[::UbuntuWiki:UsabilityInPractice/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/pl | • {{#if: UbuntuWiki:UsabilityInPractice|polski| [[::UbuntuWiki:UsabilityInPractice/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/pt | • {{#if: UbuntuWiki:UsabilityInPractice|português| [[::UbuntuWiki:UsabilityInPractice/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ro | • {{#if: UbuntuWiki:UsabilityInPractice|română| [[::UbuntuWiki:UsabilityInPractice/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/ru | • {{#if: UbuntuWiki:UsabilityInPractice|русский| [[::UbuntuWiki:UsabilityInPractice/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/si | • {{#if: UbuntuWiki:UsabilityInPractice|සිංහල| [[::UbuntuWiki:UsabilityInPractice/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/sq | • {{#if: UbuntuWiki:UsabilityInPractice|shqip| [[::UbuntuWiki:UsabilityInPractice/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/sr | • {{#if: UbuntuWiki:UsabilityInPractice|српски / srpski| [[::UbuntuWiki:UsabilityInPractice/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/sv | • {{#if: UbuntuWiki:UsabilityInPractice|svenska| [[::UbuntuWiki:UsabilityInPractice/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/th | • {{#if: UbuntuWiki:UsabilityInPractice|ไทย| [[::UbuntuWiki:UsabilityInPractice/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/tr | • {{#if: UbuntuWiki:UsabilityInPractice|Türkçe| [[::UbuntuWiki:UsabilityInPractice/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/vi | • {{#if: UbuntuWiki:UsabilityInPractice|Tiếng Việt| [[::UbuntuWiki:UsabilityInPractice/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/yue | • {{#if: UbuntuWiki:UsabilityInPractice|粵語| [[::UbuntuWiki:UsabilityInPractice/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/zh | • {{#if: UbuntuWiki:UsabilityInPractice|中文| [[::UbuntuWiki:UsabilityInPractice/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/zh-hans | • {{#if: UbuntuWiki:UsabilityInPractice|中文(简体)| [[::UbuntuWiki:UsabilityInPractice/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuWiki:UsabilityInPractice | UbuntuWiki:UsabilityInPractice | {{#if: | :}}UbuntuWiki:UsabilityInPractice}}/zh-hant | • {{#if: UbuntuWiki:UsabilityInPractice|中文(繁體)| [[::UbuntuWiki:UsabilityInPractice/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuWiki:UsabilityInPractice|:UbuntuWiki:UsabilityInPractice|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :UbuntuWiki:UsabilityInPractice/zh | | {{#ifexist: UbuntuWiki:UsabilityInPractice/zh | | {{#ifeq: {{#titleparts:UbuntuWiki:UsabilityInPractice|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:UbuntuWiki:UsabilityInPractice|1|-1|}} | zh | | }}
Most of this page is a taken from a swedish book called Usability in Practice. (Berndtsson & Ottersten, 2002) As such it isn't really adapted to special nature of open source projects. It's my expectation that this text will evolve into something more open source friendly as more experience with usability activities in an open source setting (hmm, that sounds like a good title for a dissertation...) is gained. Whether to adapt it to Ubuntu specific work flows, or create a new page for that, is open for debate.
I haven't put too much effort into translating names ans such, so don't hesitate to replace them.
Usability in practice
When designing for usability it's important to know a lot about the users, their goals, the context in which the the product is to be used, the goals of other stakeholders and probably a lot of other things I've missed. The keyword is know, any attempt at guessing will probably result in failure.
Thus a major part in design process is analysis and evaluation. Analysis of the situation, and evaluation of the results.
To ensure that this work gets done, and done right, it might be useful to divide the work and responsibilities among a few roles. Note that a role isn't limited to a single person, and a single person or group can have many roles.
Roles
Users
The users are identified in the target group analysis. Representative users from each target group are participants in usage testing and are members of reference groups.
Reference groups should be involved in design discussions and generally be consulted whenever the need arises, they are the experts on the context in which the product will be used.
It's probably a bad idea to rely too heavily on reference groups for evaluation of design though. Usage testing and target group analysis should be performed with users not involved in the development process.
Client
The client represents the desired and expected effects of the product and its use.
It is the client who is responsible for decisions regarding the goals, ambitions and resources of the project.
Usability architect
The responsibility for securing the usability of the product falls on the usability architect. This means declaring and defining the usability activities needed to meet the clients expectations, planning and coordinating those activities and managing the reference groups.
The usability architect needs to be part of the projects core team and work in close collaboration with the client, project manager, system architect and interaction designer amongst others.
Mapper/Requirements collector
The mapper executes interviews, leads workshops and executes target group analyses with the purpose of identifying and describing the users, their goals and the context in which the product will be used; determine the expected effects; identifying opportunities and threats; and prioritize among these.
It is the responsibility of the mapper to communicate the resulting knowledge to the rest of the team.
Interaction designer
The actual design to meet the assembled usability requirements is the responsibility of the interaction designer. All design decisions regarding the interaction between user and product belongs to the interaction designer.
The interaction designer should also educate developers, and other members of the team, so that they may correctly spot bugs in the interaction design, and identify them as such.
Graphics designer
The graphics designer translates the interaction design into a functional and aesthetically pleasing interface.
Test leader
The test leader designs, executes and analyzes usage tests.
Role distribution
The interaction designer should not be the same person as the mapper. The mapper usually gets an idea of a solution at an early stage that might make it hard to think of new and alternative designs when the time comes.
The interaction designer should not lead any usability testing as the bias towards the design might interfere when leading the user.
The interaction designer should not be responsible for the actual implementation of the design. As an implementer the bias toward simpleness is at high risk in interfering with the need for functionality.
The project manager should not be the usability architect as these two roles are naturally in conflict. The project manager is responsible for keeping the project on schedule, while the usability architect is responsible for identifying new demands and negotiate with the project manager for changes in the plan to meet the new requirements.
Usability activities
Requirements
Mapping of ideas
Through interviews and workshops the mapper collects the ideas and expectations on the effects and functions of the future product for different target groups.
At the end of this activity it should be known what the expected utility of the product is, who the target groups are, which effects usage of the product should have and other general requirements.
Target groups analysis
Users are grouped by their expectations and differentiating requirements. When the target groups have been identified they should be carefully analyzed and described so that future design decisions can be well founded, and high quality tests can be conducted.
The analysis can consist of interviews, questionnaires, observations, diaries and other activities. A big risk with interviews is that the user describes an ideal work flow instead of the actual work flow, it's simply impossible for humans to be consciously aware of all the important aspects of the usage scenario. Observations of the actual situation is thus essential. It's also important that the collected data isn't just hard facts about the user and the situation but that also soft values are captured.
When the analysis is complete the result may be presented as personas; one for each target group. The purpose of a persona is to describe a group of users as a single person, because it's much easier to design for a single user than a group of users. The description should be sufficiently detailed and complete, including name and photo, so that it's a believable person that the project team can get to know and get an empathetical connection to.
Select a primary persona such that a design satisfying this user will automatically satisfy the others. If this is impossible there might be a need for more than one product...
Use cases
A use case is a description of an interaction with the product. Use cases should first be described in an implementation neutral manner and later refined to contain implementation details as design decisions are made.
Expert evaluation
An expert evaluation is simply an analysis of an existing design to find usability problems using only theoretical models of the human system and scientific theories. See UsabilityTheories.
Usage test
Usage testing is a very simple method of validating designs. The test is conducted by asking users to perform some realistic tasks with a prototype while thinking "aloud". This kind of testing can be performed on paper drawings or other quick mock-ups, which makes it available early in the project and thus very cheap.