380 likes | 607 Views
User modeling in an information architecture with DITA. Ian Larner User Technologies, IBM Hursley Lab, England Ian_larner@uk.ibm.com. Why we are here. To discuss and try user modeling, biased …
E N D
User modeling in an information architecture with DITA Ian Larner User Technologies, IBM Hursley Lab, England Ian_larner@uk.ibm.com
Why we are here To discuss and try user modeling, biased … • … towards user modeling (manual or automatic) for IBM company use, to show our students real-life applications of user modeling. • … in such a way that they may get a hands-on experience … as part of the 4th year CS411 module, Dynamic Web-Based Systems. General theories of user modeling Use of user modeling in IBM User modeling tool (IAWB) DITA XML Delivery of user assistance (Eclipse help)
User modeling in IBM • Widespread use of user modeling in project teams • Modeling of software, systems, user interfaces, and information • Range of IBM modeling tools (IBM Rational family)
Why user modeling for information? • “An information [architecture] model is a resource that helps your team to deliver: • The right content • To the right people • At the right time” • [Give the user what they need when they need it … in part by enabling them to adjust what they see to suit them.] [From http://www.dcs.warwick.ac.uk/~acristea/courses/CS411/2008/UM.ppt] • pertinent information • Provide information that is pertinent to the context of the user and what they are doing • Provide pertinent links to other resources for the context • large amounts of information • Provide just enough information • Allow for “discovery”
What is a user model for information architecture? • User model for information = information architecture model • Two aspects: • 1. What user does with offering (user experience for offering) • What user does with offering (that the user needs information for) • Users, scenarios, goals, tasks, subjects, ... • Offering use vocabulary, presentation expectation, and continuum • Need for, organization, and consistent (development of) information content for use of the offering • 2. What user does with information (applying the user model) • User interactions with information in specific product contexts [use model] • User assistance categories, content classes, information types and content elements [information model] • Standardized entry points to information [access model] • DITA maps, topics, metadata, guidelines, … for consistent information development and delivery • … or really also 3? What content producers do with information • Writer expectations, skills, assistance • Component development and integration • Enabling for consistency and reuse • Building/serving needs and technology constraints
UI Help or local Information Center What information do users use? UI text & hover help 2a. Information Centers (Web) Information use 1. 2b. UI text & hover help Quick Start leaflet (Box) Product/artifact use
Defining the model … and more … with DITA • It’s generally acknowledged that content providers need to move to structured data to describe their content, and the structured data format of choice is XML. • DITA—the Darwin Information Typing Architecture—is an XML document technology that was developed by IBM and now owned as an OASIS standard and open source project.
User modelling with DITA Examples from IBM Information Architecture Workbench (IAWB) and raw DITA XML From usage scenarios to … DITA maps, user metadata, subject metadata, subject glossary, entities for reuse
DITA key ideas • Structured information based on XML. You follow a standard template for the information type (task, concept, reference, topic, mixed) or map. • Specialization - Declare more precise semantics, constrain content models • Generalization for interchange • Semantic tagging (adds meaning to the information) – <task> is a task and you can know what that implies. • Domains for vocabulary common to many topics (eg on next slide) • Metadata (audience, platform, otherprops…) for additional personalization. • Architected reuse - through DITA maps, content reference, conditional processing, automatic linking and link checking.
Example: DITA topic, domain vocabularies “task” information type <task id="amortizingloan"> <title>Amortizing the loan</title> ... <taskbody> <steps> <step><cmd>Choose the Amortizer menu item</cmd> <stepresult>The <wintitle>Amortizer</wintitle> window displays.</stepresult> </step> <step><cmd>Enter the <loanfactor>term</loanfactor>.</cmd> <info>You <b>must</b> choose one of the options.</info> </step> </steps> </taskbody> </task> UI domain Financial domain (possible future) Highlighting domain <task domains="(topic ui-d) (topic hi-d) ..." class="- topic/topic task/task "> the <wintitle class="+ topic/ph ui-d/ wintitle ">Amortizer</ wintitle > window,…
To Tg T C R T Welcome Example scenario for following discussion CSH CSH CSH CSH SelectBlend Selectadditives Summary& Serve 3 “I want a tea, English Breakfast, milk, & 2 sugars” Tea Maker / Coffee Maker 2 “I want a standard (default) coffee” 1 “I need to install the Tea Maker” 4
User modeling process with DITA • Construct a use model Identify user roles and the scenarios/use cases for their use of the system. Prototype UI & embedded/contextual information use. • Construct an information model Define user roles and other context metadata (ditaval files), identify information needs in user assistance categories, content types, and information types • UI Context UA. Work from UI context outward, to tasks and concepts (UI.UA ditamap) • Task-based UA. Work from user goal contexts, through tasks, to concepts and reference (IC ditamap) • Chunk and model content, select and type topics. • Prototype navigation. Generate topic stubs. • Model information to meet user needs in various delivery contexts. Prototype build & delivery. Model information center back to DITA source. • Model for component development, authoring, and reuse
1. Construct a use model • General process: Understand and model users and their tasks through research, user demographics • Model scenarios and use cases. For interactions, identify: • Roles • Use community definitions like Outside In Design (OID) Common Customer Roles • Goals • UI component contexts • Delivery contexts • General process using IAWB • Use Task modeling perspective (Note advisors at bottom, “Method Exponent”) • Import Samples > OID Common Customer Roles • Add Organization to collect model • Add Role from OID. Note range of roles, descriptions as node properties • As child, add general Goal and its tasks • Add Contexts for general UI components. Relate Roles to contexts • Add Contexts for specific delivery. As child, add Role and its specific Goal.
Slide for reference The Administrator is responsible for performing all operational processes and procedures, ensuring that all IT services and infrastructure meet operational targets and that all configuration items are appropriately recorded.
2. Construct an information model (1, UI context) • General process: Work from UI context outward, to tasks and concepts • Define general user roles and context metadata (ditaval) • Audience and product metadata • Define information needs in user assistance categories (ditamap) • Embedded assistance (strings), Contextual help • Identify information types for UI contexts (cshelp) • Define relationships for UI.UA topics (ditamap/reltable) • Related links to tasks and concepts • General process using IAWB: • Use DITA Modeling perspective (Note advisors at bottom, “Method Exponent”) • Create a new DITA map (standard DITA map) • Add a topic for embedded assistance strings • Add a topic to collect help topics for the UI component • Add a cshelp topic for each UI page • Add additional cshelp topics for other UI contexts • Optionally , add a relationship table, then drag and drop nodes into cells
Slide for reference General filtering metadata defined in a ditaval file
Slide for reference Embedded & Contextual UA defined in a ditamap file
3. Construct an information model (2, Task-based) • General process: Work from user goals and content types, through tasks • Define content types (IC ditamap) • Overview – Define a topic, and add child concepts • Goals (e.g. Configuring, Using, …) - Define task hierarchy • Reference - Define reference sets • Identify any special information types • Specialized types CShelp (reuse), … • Custom use of std types; e.g.Topic/@outputclass=“container-xxx” • Define relationships between topics (ditamap + reltable) • General process using IAWB: • Use DITA Modeling perspective • Create a new DITA map (standard DITA map) • Add a topic as the Welcome page for the information center component • Add a topic for each content type set (e.g. Overview, Configuring, Using, …) • For Overview, add child Concepts • For goal content types, add child tasks or other maps (e.g. for Reference) • Add a relationship table, drag and drop nodes into cells
Slide for reference • Task-based UA • defined in a ditamap file • Content type templates • Information types
Slide for reference Task-based UA, custom Information type defined in a dita topic file
4. Model information to meet user needs in various contexts • General process: Work from delivery contexts, … • Define use of metadata (ditaval) • Audience, product, etc • Define context-specific entities for reuse • Define topic sets for delivery contexts (ditamap) • Consider delivery technology (context help, information center, PDF, …) • Consider and exploit reuse of other information components • Define extra relationships for delivery context (ditamap + reltable) • General process using IAWB (for Eclipse help output): • Create a ditaval for the delivery context; adjust actions for context • Add key phrases and other entities for reuse to entities file • Use DITA Modeling perspective • Create a plugin DITA map • Add references to other maps to form the TOC for the topic set • Optionally, in IAWB create and use an Information Center model
Slide for reference UI help for Tea Maker • Include all user roles • Include teamaker • Exclude coffeemaker • Include ui-only content • Common entities file, section for teamaker
Slide for reference User information center for Tea Maker • Include user • Exclude administrator and business_customizer • Include teamaker • Exclude coffeemaker • Exclude ui-only content
Summary: User modeling process with DITA • Construct a use model Identify user roles and the scenarios/use cases for their use of the system. Prototype UI & embedded/contextual information use. • Construct an information model Define user roles and other context metadata (ditaval files), identify information needs in user assistance categories, content types, and information types • UI Context UA. Work from UI context outward, to tasks and concepts (UI.UA ditamap) • Task-based UA. Work from user goal contexts, through tasks, to concepts and reference (IC ditamap) • Model artifacts: • IAWB project files, including TMF • DITA maps, DITA topics , specialized or custom information types?, specialized vocabulary domains?, metadata use for conditional processing (DITAvals), …
Final thought - Use model for adaptable or dynamic information • What can we adapt to? • User role, user goal, activity, product, preferences, … • What input is available? • Content elements (semantics and structure), infocenter filter controls, linking relationships, inference from user action, … user input, let the user inspect and correct plans, user preferences(metadata) • What can we affect? • Topics in sequence – include/exclude/reorder • Content – include/exclude/adapt • Linking – include/exclude/redirect • Example: Threads • Navigation (include/exclude for user preference) • Content (include/exclude for thread and user preference) • Content (adapt for user preference values) • Linking (include/exclude for thread and user preference)
Thank you • Any questions or comments? [The remaining slides are some pointers to IBM information resources about user modeling, DITA, and Eclipse help]
Information resources Slides for reference
DITA resources • Publications: • DITA articles on developerWorks (http://dita-ot.sourceforge.net/SourceForgeFiles/doc/DITA-dWarticles.html) • DITA Cover Page (http://xml.coverpages.org) • Standards and tools: • OASIS DITA Technical Committee (http://www.oasis-open.org/committees/dita/) • DITA Open Toolkit (http://dita-ot.sourceforge.net/) • Community: • DITA Wiki (http://dita.xml.org) This site is being worked on at the moment, should be up and flourishing by April. • Yahoo! Group: dita-users (http://groups.yahoo.com/group/dita-users/)
Patterns: Model-Driven Development Using IBM Rational Software Architect (IBM Redbook)http://www.redbooks.ibm.com/abstracts/sg247105.html?Open
Modeling demystified (developerWorks article)http://www.ibm.com/developerworks/library/ar-usermod1/
The value of modeling (developerWorks article)http://www.ibm.com/developerworks/rational/library/6007.html
UML Resource Centerhttp://www-01.ibm.com/software/rational/uml/
Eclipse resources • Centralizing help in EclipseTake advantage of Eclipse's dynamic help and plug-in architecture: http://www.ibm.com/developerworks/opensource/library/os-eclipsehelp/ • Dynamic User Assistance in Eclipse Based ApplicationsThis article introduces you to Eclipse's powerful Dynamic Assistance framework and provides examples that illustrate how you can take full advantage of its capabilities. http://www.eclipse.org/resources/resource.php?id=435