Personalization and User Preferences

Introduction

What is personalization: Personalization involves tailoring aspects of the user experience to meet the preferences or needs of the user. Technology holds the promise of being extremely flexible and the design of many systems includes the expectation that users will be able to optimize their interaction experience according to their personal preferences or accessibility requirements (needs).

What are user preferences are settings that identify the specifics needs of the individual user. To be effective user preferences should be standardized so that multiple applications can tailor their content to the user needs without each requiring the user to specify preferences.

We need personalization because:

  1. Different user needs can conflict.
  2. Learning new design patterns (and widgets) can be confusing - we want to allow users to stick with what works for them.
  3. Extra support can be annoying to people who do not need it.
  4. Making content predictable is necessary for accessibility but can often be considered boring design.
  5. Ability to change levels of complexity (increase or decrease) - As the person's skills improve or decrease over time or context.
  6. Enable content providers to really meet the user needs.

For example, using a familiar design, terms and symbols is key to being able to use the web for people who cannot remember new symbols (such as some people with memory-related impairments like dementia. However, what is familiar for one user may be new for another. Personalization could include loading a set of symbols that is appropriate for the specific user, ensuring that all users find the design and icons simple and familiar.

(See Aging and Dementia [[COGA-1]] section 3.4.15.3 )

Metadata is another related topic. Metadata allows the user to find content that they can use and suits their personal needs and preferences. A lot of work has been done to define metadata that helps people with physical disabilities find versions of content that they can use. However, the semantics and terms do not provide specific support for the requirements of people with different cognitive disabilities.

This summary pulls together a few different issue papers and addresses them together. They are:

Full versions can be found from our wiki.

The following papers are also relevant to the delivery of personalization solutions:

Examples of what we may want personalization to do

We want to be able to add, remove or change content and features as well as address other issues where personalization can be beneficial. The following are some examples of what is needed.

Adding content and features

We need to be able to add content and feature such as:

  1. extra help;
  2. orientation information such as text that says what you just did (you just selected priority shipping);
  3. text to speech with highlighting;
  4. increase complexity as skills improve.

Removing content and features

We need to be able to remove or "hide" confusing elements, such as:

  1. extra or secondary features;
  2. "special offers";
  3. adverts;
  4. decrease complexity as skills improve.

Note that all the information can be behind a "more" button or "legal" link. This will mean that all the information is still available - just not overwhelming.

Changing content and features

We need to be able to change user interface components to ones that the user knows how to use such as:

  1. an “easy use” media player;
  2. standard dialogs, menus and widgets;
  3. standard icons for AAC users;
  4. standard text, buttons and icons.

Addressing key issues

We need to be able to address key issue such as:

  1. enabling usable security (see XXX);
  2. edding graded help that works with the needs of this user (see XXX ).

User preferences

Technology holds the promise of being extremely flexible and the design of many systems includes the expectation that users will be able to optimize their interaction experience according to their personal preferences or accessibility requirements. Typical configurable features include color, text and icon size, sounds and mouse double click speed. More comprehensive preferences include enabling different input methods such as speech recognition or assistive technology like screen readers. Other preferences such as language or regional conventions also affect the user's interactions.

Challenges of user preferences for people with cognitive disabilities

People with cognitive disabilities can be become daunted, or worse, completely unable to effectively use preferences to improve their experience on their own. Preference selection is often implemented by providing a range of forms with controls for enabling or choosing options for each preference. These forms can be complex in detail such audio configuration and in size given that some forms are extensive. A specific preference can be hard to locate in control panels with many options even when search and browsing are provided (e.g., Windows control Panel). As a result, some users in this group will be unable set their preferences without assistance.

There are also other potential difficulties after changes to preferences are made. Changes may not be implemented immediately or further action is required for this to happen. It may also be difficult to revert to a previous setting after trailing and rejecting a particular setting.

Templates for preferences

The use of custom templates of default preferences for particular groups of users is one method by which members of those groups can be immediately provided with potentially useful settings across a wide range of products and services as a starting point. The task for individual users would then be greatly reduced as they would only need to adjust those default settings that did not match their own personal preferences or needs. The ETSI work (see User Profile Management [[ETSI-1]]) suggests that organizations that represent such groups of users could develop and promote the use of such user profile templates to their client groups.

Selecting "Use typical settings" when installing a program is effectively using a template that defines a well-balanced set of preferences for a typical user. Clicking on one or more check boxes before selecting "Use typical settings" could allow one of two or three alternative templates to be applied. The [[ETSI-1]] and [[ETSI-2]] documents listed in the references describe mechanisms for creating, modifying and applying templates.

Inferring preferences

Commercial services frequently use inference algorithms to infer preferences from user behavior. Such inference methods can also be of value in non-commercial personalization schemes that are solely designed to benefit the user. However, inferred preferences will always be wrong, even if they only fail to capture minor individual quirks. It is therefore important for users that they are able to correct inaccurate inferences.

Managing user preferences

Another issue is that changes to settings may not take immediate effect, or if they do, it may be difficult to roll back from a setting that was tried out of curiosity but is unsuitable for the user. As a result, people with cognitive disabilities can be become daunted, or worse, completely unable to select their desired preferences. Indeed, depending on the individual and the technology being used, it may be impossible without a supporter's assistance. So specific problems for people with cognitive disabilities include:

  • too many settings and/or options for each;
  • not knowing what their preferences are in terms of the available technical solutions;
  • mot being aware of possible solutions.

In fact, many of these problems effect a wide range of users, not just those with cognitive disabilities.

Another issue is Contextual personalization which includes optimizing the personalization of a product or service to ensure that the personalization is appropriate for the current context of use. For example, settings that will suit the user of a mobile phone in their office or home will not be well suited to that user when they are driving a car.

Potential solutions

Potential solutions for user preferences

Interoperable personalization schemes. Interoperable personalization schemes are where users want or need products and services to be personalized, they would prefer or need this to happen across the widest possible range of products or services. Personalization schemes that deliver this ideal will only succeed if they are standardized and if that standard is adopted by the widest range of product and service providers. However, there are many critical issues for any personalization scheme to resolve such as funding and adoption.

Current works in progress are GPII (see [[GPII-1]] which is compatible with ISO/IEC 24751) and ETSI (see User Profile Management [[ETSI-1]], Personalization of eHealth systems by using eHealth user profiles (eHealth) [[ETSI-3]], and Personalization and User Profile Management; Architectural Framework [[ETSI-4]] ).

Potential solutions for personalization

Ways that personalization is currently addressed

Personalization is currently addressed via many different ways such as:
  1. User plug ins and software such as a text to speak enabled browsers;
  2. Web services that enable text to speech;
  3. Browser options like auto-fill (which can get it wrong and add mistakes);
  4. Add-ons, toolbars or extensions will allow the user to make Stylistic changes;
  5. Extensions like Readability will remove adverts;
  6. Text simplification;
  7. Use of the mobile web version;
  8. Safeguarding and security is currently handled by having standard safety features available for all users - or external products like parental controls (note this is also a limitation because of personalized and advertised content can be confused with standard content);
  9. Haptic feedback (see UltraHaptics: Multi-Point Mid-Air Haptic Feedback for Touch Surfaces [[Carter-1]]);
  10. Live Chat help (can be intrusive and bad for ADD);
  11. Speech input like Siri or Google Glass;
  12. Widgit's Point software allows users to point to a word and get to a symbol (see Widgit Symbols [[Widgit-1]];
  13. Symbol support for interoperability:
    1. The Noun Project (icons) (see The Noun Project [[Noun-Project-1]]);
    2. Max Lundälv (concept coding framework) (se AAC Vocabulary Standardisation and Harmonisatione [[Lundälv-1]];
    3. Arabic symbol dictionary (see Arab Symbol Dictionary for AAC [[ECS-1]];
    4. ARASAAC symbols;

Limitations of current personalization implementations

The above implementations do not address most what of what we need.

  1. None of the current implementations address all the use cases for people with learning and cognitive disabilities. For example using personalization so that a main stream website can alternative symbol that are familure to a user or group of users.
  2. No way to switch:
    1. to an “easy use” media player;
    2. standard dialogs, menus and widgets;
    3. standard text, buttons and icons;
  3. Many users forget to use their AT or browser options, and want as little complex installations as possible. There is a lack of additional help and support that is useful for Coga groups (allowing further support).
  4. Frames block add-ons from changing CSS via extensions.
  5. Semantic information is not used.
  6. Personalization should allow for user overrides, but author must be able to limit this.
  7. Live Chat help boxes can be intrusive and complicate the page, need role or other semantic term.

Adding to ways we can address personalization

  1. User CSS [[CSS-2017]] allowing an ARIA [[wai-aria]] role for extra help to be loaded However, user style sheets are being deprecated.
  2. RDF [[rdf-concepts]] and RDFA [[rdfa-core]] . Issues with these solutions include adaptability and whether typical authors will use them correctly and without errors.
  3. Create additional semantics such as mentioned in the issue paper Proposal for Additional Page Semantics. These semantics, as well as element names, landmarks, Indi UI and WAI-ARIA roles can be linked to user preference to enable the interface to be adapted. A demonstration can be found from our wiki.

If there is an output we will need data binding.

Strategies

  1. Promote and support advancements in technologies in these area. For example, our recommending for WCAG [[WCAG20]] will be along the lines of "Use semantics and standardized techniques that enable the content to be adapted to the user scenario and enable additional support".
  2. Enable compatibility with standards such as GPII but do not depend on them.
  3. Develop the semantics and terms to support the specific requirements of people with different cognitive disabilities.
  4. Enable simple solutions that are expendable - encouraging more complex solutions in the future, such as having preferences be easily cascaded to allow for contextual personalization and for portability in the future.

Further work for personalization

  1. Support in WCAG that encourages support the features of the operating system or standards that enable adaption, such as adding additional success criteria.
  2. Develop supporting techniques so authors know exactly what to do
  3. Encourage or develop the terms or ontology for support for cognitive disabilities so that projects like GPII [[GPII-1]] and ETSI [[ETSI-1]] can use them.
  4. Develop Semantics for the content so that personalization systems can know more about the content and enable adaptability of the content
  5. Encourage development of at least one end-to-end solution (critical mass) that makes it practical to develop additional solutions that address specific points in the process.
  6. Ensure any solutions architecture protects the user's privacy, such as client side adaptations and metadata that reflect functional requirements only. We also suggest an additional issue paper on related ethics.
  7. To make this truly interoperable the following needs to be standardized:
    1. User preferences that address the needs of people with cognitive and learning disabilities;
    2. Metadata for alternative versions;
    3. Additional semantics in the page.

End to end basic solution

We need standardized terms and supportive syntax that can be linked to associated symbols, terms, translations and explanations for the individual use, possibly via an aria attribute and personal preferences.

For example, assume an author can make it programmatically known that a button is used to send an email. At the user end, the button could be rendered with a symbol, term, and/or tooltips that are understandable for this particular user. It could automatically integrate with F1 help that explains the send function in simple terms. It could be identified with a keyboard short cut that will always be used for send. In addition, it could be identified as important and always rendered, or rendered as a large button.

Working examples of how this could be used in practice with user preferences are available Full versions can be found from our wiki. It demonstrates personalization for any use - including people with learning and memory issues

It is made of 4 parts:

  1. JSON files for user setting;
  2. Proposal for new syntax;
  3. An HTML page that uses some of the new aria syntax;
  4. Scripts that a web author can use or include that read the user settings in the JSON files and adapt the page for the user needs.

This is only one example way to use the semantics. Others may follow. It is also worth noting that the GPII [[GPII-1]] and ETSI [[ETSI-1]] is working on making user preferences portable which would also enhance this work.

Special case

Products for people who are non-verbal often use symbols to help users communicate. These symbols are in fact peoples' language. Unfortunately many of these symbols are both subject to copyright AND are not interoperable. That means end-users can only use one device, and cannot use apps or content from a different company. If we enabled mapping to open sets of symbol codes that, in turn, map to open or proprietary symbol sets, then they can be interoperable. At the user end, the user agent can load the symbols that the user knows. Symbol sets might still be proprietary but they would also be interoperable. That means the end user could use them across different devices, or any compatible content or applications. This is addressed further in the issue paper on symbols for people who are non-verbal.