5.2 Model Information for Advanced Usability and Accessibility Tool Support
5.2.2 Information About the Users
The model which contains information about the user of a web application is denoted by the metaclassUser. A model diagram such as the one in figure5.4 above can use an«instanceOf»
dependency or the«user» keyword to clarify that a user is being represented. Each user class stands for a group of users with common properties. It is associated with one or more contexts.
In contrast to UsiXML, it is not intended that a hierarchy of user groups can be associated with a context; one can only attach multiple user classes directly to a context. This approach was chosen because in general, it is unlikely that usability tool support would be able to make use of such fine-grained user modelling, and because of a general goal of keeping the model as simple as possible.
For the specification of users’ abilities, existing knowledge about a topic or their goals when they use the web application, the model uses string tags as described above. As an example, consider an automated usability check which looks at the main text content of a page, verifying whether the sentences are likely to be understood. This can also include an analysis of all words that are used – they can be looked up in a dictionary, and the developer alerted to any unknown words which might not be understood by the users (see section6.3). By default, the corresponding tool will react to some of the standard string tags described below. For instance, when the tag
science is present, it might include the Academic Word List [Coxhead00AWL] in its list of allowed words. But in addition to this, user-defined dictionaries should be possible, for example a dictionary which is associated with the company name and contains words which are commonly used within the company, but nowhere else. Going back to the model from figure 5.4, the tag “WebCompany, Inc” could be associated with such a dictionary. If a company-internal term is now used on theLoginPage, the tool can output a warning because the user groupGeneralPublic, which is associated with the page, will not understand the term.
The User metaclass has the attributes listed below (see also figure 5.5). In addition to the requirements of accessibility and usability tests mentioned in this thesis, they were inspired by the UsiXML model (section5.1) and the user model of SmexWeb (part of the UWE effort, sec- tion3.2.1). Apart from a few general properties like sex and age, the information about the user is divided into three parts – his knowledge, his goals and his physical abilities to interact with the system. This partitioning into three parts is common in the literature [Albrecht00SmexWeb] [Benyon93UserModeling].
id A developer-supplied name for the user group. Apart from helping the developer to organize user classes, tools can use the name to make error and warning messages clearer, e.g. “The usability of HTML page ‘X’ is problematic because of the properties of user ‘Y’.”
maleRatio, femaleRatio, unspecifiedSexRatio The ratio of male users, female users and users of unknown sex. While not directly related to any usability test, this basic demographic information can be used to later compare the actual ratio (e.g. from user-supplied data) with the expected one, or to estimate the probability of red-green blindness, which is more frequent for males.
age, ageDeviation The average age of the users, and the standard deviation of the age distri- bution, normally distributed. As a simplification, a tool may also assume the range of
age±2·ageDeviation. This interval includes 95% of a normally distributed population. For example, a tool which analyses text content on a page can use this simplification as follows: Due to the nature of a normal distribution, some (albeit possibly very small) part
User id : string maleRatio : int femaleRatio : int unspecifiedSexRatio : int age : float ageDeviation : float schoolYears : float schoolYearsDeviation : float interactionSpeed : int interactionSpeedDeviation : float patience : int patienceDeviation : float costWeight : int costWeightDeviation : float noKnowledge : string[0..*] partialKnowledge : string[0..*] goodKnowledge : string[0..*] noAbility : string[0..*] partialAbility : string[0..*] fullAbility : string[0..*] noGoal : string[0..*] secondaryGoal : string[0..*] primaryGoal : string[0..*]
Figure 5.5: The proposed user model relies on sets of string tags to specify the knowledge (e.g. “technology”), abilities (e.g. “input-text”) and goals (e.g. “buy”) of a user group.
of the audience willalwaysbe too young to read. The tool should only flag this as an error if the age at which children start reading lies within the rangeage±2·ageDeviation. schoolYears, schoolYearsDeviation The average number of years of school education, and its
standard deviation. Increasing values will shift the audience from illiterate persons to- wards people who went through higher education or university. If necessary, a program interpreting the model can combine this with the specified country (see below) for greater accuracy, e.g. if a learning application targets school children of a particular grade. Again, the deviation value can be simplified to a range as outlined above.
interactionSpeed, interactionSpeedDeviation How quickly the users can interact with the ap- plication. This includes both reading speed and speed when performing selections or more complicated operations. A value of 100 forinteractionSpeedis assumed to mean “average for users described by the other attributes of the model”. Higher values can be employed to describe expert users, low values can be used for an audience with a low reading speed, learning disabilities or other conditions which prevent quicker response times, e.g. “dis- tracted”. The deviation value can be simplified to a range as described above.
patience, patienceDeviation How patient the user is, again with a deviation as for the previ- ous attributes. A value of 100 should be interpreted as “average for web applications
and the users’ age”, which actually means “fairly impatient” in reality [NielsenAlertbox,
28 November 1999] [Krug06Dont, chapter 2]. Higher values imply that long waiting times
or detailed text paragraphs are less acceptable and that the probability of errors is higher. In contrast, lower values indicate that the audience may be at leisure, e.g. willing to playfully explore the interaction possibilities on a site.
costWeight, costWeightDeviation As specified in the NetworkPlatform model below, access- ing the web application may be associated with a monetary cost for the user. Similarly, the use of the web application itself (or some of its features) may not be for free. The willing- ness of user groups to spend money for online services differs. This value represents the users’ willingness to pay, in the form of a ratio of probabilities. Higher values denote that the user group is more likely to pay. For instance, if two user groups have the values 1 and 2, then out of the latter group, half as many users will be deterred by the cost associated with an action. The deviation value allows the developer to express his (un)certainty about the given value.
noKnowledge, partialKnowledge, goodKnowledge Presence or lack ofacquired knowledge or background for specific topics, indicated by sets of tags. ThenoKnowledgeset should be interpreted as “no or almost no knowledge” rather than no knowledge at all. The differ- ence of partial vs. full knowledge is left to a program interpreting the model – for instance, one possibility is to output warnings for partial knowledge and errors for no knowledge. The same tag may appear in more than one set to indicate that the user group is not ho- mogeneous in this respect. Possible values include general topics like “gardening”, more specific ones like “eBay auctions”, professions like “dentist” or educational achievements like “high school”. The tag has no relation to the web application that is being developed – so if e.g. the tag “shopping” is present, this means that the user has prior experience with online shopping, not necessarily that he is interested to buy something now. The following tags (mostly inspired by common use cases for web applications) are suggested:
technology General background in technology
web Experience with the world wide web in general
webapps Experience with web applications such as web-based email
search Searching for information, e.g. with detailed search forms
commerce Online shopping and payment experience
learning Experience with hypertext-based learning applications
participation Contributing to a service rather than just consuming/using it
science Scientific background
Furthermore, differences between different cultural backgrounds can be expressed. Below,
xxis a two-letter country code as specified by theISO 3166 standard:
country-xx Familiarity with the customs and culture of a country or region xx
(e.g.country-defor Germany)
lang-xx Ability to understand and express oneself in languagexx
noAbility, partialAbility, fullAbility The sets of abilities which are present, partially present or not present. They affect the users’ possibilities to perceive the website content and to operate the web application. Primarily, these sets specify theavailable human senses
and output channels. Because they describe the abilities naturally available to a human, they can serve to express disabilities. Additionally, they are suitable to express temporary restrictions, e.g. “while driving his car, the user cannot watch his device, only hear it”.
noAbilityalso includes very little ability. Tags which are likely to be frequent include:
see, see-colour Can see web content, or see it in full colour (partial ability: some difficulties reading, e.g. large font sizes or high contrast required)
hear Can hear spoken content or audible clues
see-movement Can consume moving content without problems
see-blinking Can consume blinking content without problems
tactile Can consume content using a braille display, vibration alarm or simi-
lar
input-text Can input text characters (partial ability: only slow typing possible, e.g. gaze-tracking keyboard or speech-to-text interface)
select Can navigate pages, select links or choose between given alternatives
point Can move and click a mouse or other pointing device on visually ren-
dered web pages (partial ability: reduced fine motor skills)
noGoal, secondaryGoal, primaryGoal The current goals and interests of the users, i.e. the aims which cause them to use the web application. The tags for these sets are comparable to what “information scent” algorithms (section2.3.5) would produce for existing log data: A number of keywords, similar to search engine queries, describing either the general topic(s) of interest, e.g. “music”, or the immediate goals such as “buy a CD”. The model is not suitable if the granularity of goals or sub-goals gets too fine – in general, the goals should be applicable to an entire use case. A few goals are general and common:
information The goal is to retrieve information only
transaction The goal is to update a database or to otherwise change state
education Special case ofinformation: Looking for detailed explanations
entertainment Passive or interactive entertainment, e.g. video content or games
collaboration The users want to work together with others
help Special case of information: Looking for instructions on how to achieve goals with the web application
buy Special case oftransaction: Buying an item online
register Special case oftransaction: Registering for a service