2. www.dclab.com
Valuable Content Transformed
• Document Digitization
• XML and HTML Conversion
• eBook Production
• Hosted Solutions
• Big Data Automation
• Conversion Management
• Editorial Services
• Harmonizer
3. www.dclab.com
Experience the DCL Difference
DCL blends years of conversion experience with cutting-edge technology and the
infrastructure to make the process easy and efficient.
• World-Class Services
• Leading-Edge Technology
• Unparalleled Infrastructure
• US-Based Management
• Complex-Content Expertise
• 24/7 Online Project Tracking
• Automated Quality Control
• Global Capabilities
5. www.dclab.com
. . . Spanning All Industries
• Aerospace
• Associations
• Defense
• Distribution
• Education
• Financial
• Government
• Libraries
• Life Sciences
• Manufacturing
• Medical
• Museums
• Periodicals
• Professional
• Publishing
• Reference
• Research
• Societies
• Software
• STM
• Technology
• Telecommunications
• Universities
• Utilities
6. How DITA got her groove back:
Going Mapless
(a.k.a.LessonsfromTheSchoolofPracticalExperience)
Don Day
Learning by Wrote
7. Don Day
Twitter: @donrday
Web site: http://learningbywrote.com
25 years in Information Development at IBM
Founding Chair, OASIS DITA Technical Committee 2004-2013
Passion: DITA as Intelligent Content for the Web
#DCLWebinar for Twitter karma
8. Motivations: Myths and Moments
To dispel some popular myths:
“DITA is mainly for Tech Comm”
“DITA is defined by Concept, Task, and Reference”
“DITA is too complex/has too many tags”
“DITA requires a CMS”
To new moments for DITA’s uptake:
Lightweight knowledge capture
Collections based on local metadata (by author, by category, etc.)
Single typed or semantic components (recipes, collectibles, terms)
Defer customization from build time (preselection by author) to
search time (selection by reader)
Direct-to-Web publishing as Page One articles
Based on explorations with ongoing expeDITA project
10. Polynesianstick chart
(a.k.a. wayfinder)
A Wayfinder represents the contexts that can influence your
content journey
Not a map or guided tour of destinations
As in “Where to go”
But knowledge about the options along your path
As in “Ways to go”
Dead reckoning
Serendipitous foraging
11. But where am I?
Image source: http://www.eurosail.ro/forum/viewtopic.php?f=30&t=387
12. Compass, sextant and
chronometer
Sextant for latitude (degrees north or south of equator)
Chronometer for longitude (relative to Prime Meridian)
Compass for direction (relative to magnetic North)
Determines “Where am I” (literally, GPS coordinates)
My relationship to points of interest
Trip planning
Geocaching
Astronomy (ground path for satellites)
In effect, the URLs of our lives
14. Per User Centered Design:
Contextis everything.
“We mustground our work in a rich understandingof
thecontextof use, or else we run therisk of creating
wellmeaningrubbish.”
Iain Barker, http://www.simplerisbetter.wordpress.com
15. Per BusinessProcess:
‘Context’ defined:
“Background, environment,framework, setting,or
situation
surrounding
an event or occurrence.”
http://www.businessdictionary.com/definition/context.html
Let’s look at thestructure…
16. Dissectingthe definition
“Background, environment,
framework, setting, or situation
A context has unique
characteristics or properties
(people, event, season, etc.)
surrounding Implies temporal and spatial
cues (sequence, location)
an event or occurrence.” Signifies a triggering
condition (matching a rule)
17. Translated to daily life:
Context involves sensors providing data to a system
for determining an action.
In our experience:
Thermostats, toasters, flush valves (activity terminates upon
reaching a limit)
Responsive Web Design (page designs flow differently based
on device queries)
Any profile-based activity (define or limit the interactions you
want to receive)
18. Life has so much indirection
Everything we link to is some kind of key:
ToC is a list of linked keywords that represent endpoints
Search is a list of string matches found in endpoints
Faceted search is a list of focused terms that represent
endpoints
Resource ids in Context Sensitive Help are keys that
represent endpoints. The list is the program itself.
19. In DITA:
Contexts are element properties that can be acted upon by processing filters
The properties are generally attributes like audience= or product=
The filters are the <val> rules in “ditaval files” (if @audience=“managers” …)
These element properties can be modified:
By map context (topicmeta property cascade)
By branch filtering (changing how keys are resolved in different parts of the
map)
Elements with properties that match a rule can be:
Filtered (selectively exclude or include)
Flagged (selectively adorn stylistically)
Net: Conditional processing effectively removes some selection (ergo context)
for users.
This can lead to a problem for users who reach such content…
20. The “Fourthwall” dilemma
Outtake from “The Boxtrolls” applied to Maps:
“I think it throws out notions of freewill.”
The Boxtrolls: Time Lapse End Credits
22. Signs on each path:
The Compile path
Map is the context
Topic properties are
derived and mutable
Deliverables in multiple
versions to anticipate
multiple use cases
The Grab-and-go path
Environment is the context
Topic properties are
generally immutable
Resources rendered
according to RI, RP, RT
↑ This path is familiar to us… ↑ but what is on this path?
23. “Grab-and-Go” destinations
Microsites: content prepared specifically for one product or service or user
request
Specific car models; genres of music, movies, plays
Entertainment (often branded; cat videos OMG)
Calculators, comparators, configurators, troubleshooters
Consumer education and awareness of issues, candidates
Long form reading (blogs, magazines, news)
Sites for gamers, collectors, hobbyists, fans (collected lore)
Emergency preparedness playbooks (natural disasters, fires, accidents)
And Zombies! CDC and others
How-to sites (wikiHow, iFixit, about.com, etc.)
Wikis for SME knowledge capture, agile team collaboration
Common feature: most are aggregations of standalone topics
24. Methods for mapless contexts
A loosely coupled architecture:
Allows rich selection (greatest affordance of facets and content for
users)
Enables deep searchability (search is a way to pass live selection
filters to a set of content)
Applies context-modified views to the result (both map and topic)
(a.k.a. Adaptable Content)
Resolve in the browser (XML is available for JavaScript logic)
Resolve on the server (optimize use of bandwidth, caching)
State machines watch for actionable signals.
Wait… state what?
25. The state of conditional processing
A state machine uses inputs (context!) to determine when to
change states and call new behaviors
Conditional processing for DITA involves a state machine:
<prop att="product“ val="extendedprod“ action="exclude"/>
If (the value of the current element’s product attribute
is "extendedprod" )
then exclude the element.
With mobile devices, contextual data includes geolocation,
time, velocity, direction, image and biometric processing
Or user profile, bookmarks, browse history, contact lists…
Or responses to a form
26. Net on State Machines
#MaplessDITA is simply:
Moving state-based behaviors
From fixed views in a predefined map and build tools
Closer to the user’s encounter with the content
How?
27. Topics have internal contexts
Direct properties (metadata in a prolog)
Creation date
Author
Status
Indirect properties (ids or keywords that associate topic to
other collections)
Category
Resourceid
Publisher, Series, Source, etc.
28. Topics have context by proxy
The domain of use may suggest context-dependent intent
In software docs, italics nearly always signify variables
But in journal articles, may signify foreign phrases
Artifacts of user curation: bookmark files, known prior reuse
Principles of organization--historically known as LATCH:
Length
Alphabet
Time
Category
Hierarchy
29. Context by queries and parameters
A URL can refer to a more specific context by:
Additional segments in the URL (‘/size/large/color/blue’)
Parameter queries at the end (‘?size=large&color=blue’)
“Post” data from forms is another, less obvious, way to pass
query data to an application (login password)
The ? method is actually how many CMSs locate versioned
resources
as in ?ver={date}{time}{author}_{filename}.dita
In effect, URL parameters provide context that can apply to
stateful views of the resource
30. How to let a topic assert itself
Best practices
Fill in all appropriate metadata in prolog
If semantic markup is available, use it (<code> instead of <tt>)
Consider using indexing and keywords; these help improve search
even after publication
Use DITA’s searchtitle element to represent how search tools list
your topic when it shows up on search results. You want readers to
see and pick out your topic from a sea of candidate hits.
Net:
Select markup for what something is, not for how the markup
makes it appear.
31. A reviewof Mapless DITA
Mapless DITA is:
Topics that are self-descriptive or semantically rich
Contexts defined to represent the trigger events for selection
Processing that operates on the selected content
A philosophy of thinking of the environment as the map
32. Topics in Mapless DITA
A Topic does not need to rely on maps for their properties or
behaviors
Meaning that the topic can be used in map-based builds that
resolve properties
But the topic has no build-breaking dependencies on the map for
context
Many topics in current content repositories are already compliant for
this kind of use.
How:
Constrained content models
Allowed operations in authoring tools
Processing overrides as needed
33. Contexts in Mapless DITA
Contexts can take the place of maps for inferring:
Membership in a collection
query as shorthand for “list of links of a kind”
Dynamic relationship of a topic to its peers
Ranking by relevance
Likely targets for *-ref resolution (xref, conref, link)
How:
Depending on storage, build query functions that create arrays of
values-of-a-kind. Use “set membership” logic to retrieve records of
topics that match (effectively faceted search to generate a map of
already-matching candidate topics).
Likewise for properties or filtering conditions implied by context
(user preference data, for example)
34. Processing in Mapless DITA
Remember “State Machine?” This is logic based on values!
Processing for specific applications is generally lighter weight
Only delta processing with application expectations is
needed; should be an override to standard processing
templates
But even the library of “standard processing templates” can
shed the weight of processing that would be unused anyway.
35. Environmentin Mapless DITA:
Wordsof Ley Campoamor
“In this treacherous world
nothing is truth or lie;
everything depends on the color
of the glass through which one looks.”
Maps are context
Queries are context
User profiles are context
“Context is everything”
36. Reflections
Is this a case of building “Yet Another DITA Toolkit?”
No different from vendors bringing competitive features to
market. The content should process in any environment.
The question is,
Does Mapless DITA help solve a problem that perhaps only
you have?
If it does, get your groove on!
37. With this proviso:
“Make things as simple as necessary,
but not simpler.”
Einstein’s Razor, dulled by Day
38. Some “Mapless DITA” Efforts
TLoWiki collaboration site for XML Press “The Language of”
book series (using a tlotermtopic specialization that drives
form-based editing)
Dynamic DITA Document Display demo site for a browser-based
transformation engine that drives VMTurbo help.
LightWeight DITA, explained by Michael Priestley
41. A job for State Machines
Inputs are triggers to transition from one state to another
(such as temperature transitions in a thermostat)
A State Transition Table defines these context-based
behaviors:
Current State Input Next State Output
Read
“Edit”
Control
In-edit
Load file from storage
into editor session
In-edit
“Save as”
Control
In-edit
Save contents to new
storage location;
remain in In-edit state
“Save”
Conrol
Read
Save contents to
current storage
location; return to
Read state
Notas do Editor
“too many tags” – reference April webinar on DITA and HTML5 relationship