Categories
Agility

Adaptive Content: Three Approaches

Adaptive content may be the most exciting, and most fuzzy, concept in content strategy at the moment.  Shapeshifting seems to define the concept: it promises great things — to make content adapt to user needs — but it can be vague on how that’s done. Adaptive content seems elusive because it isn’t a single coherent concept. Three different approaches can be involved with content adaptation, each with distinctive benefits and limitations.

The Phantom of Adaptive Content

The term adaptive content is open to various interpretations. Numerous content professionals are attracted to the possibility of creating content variations that match the needs of individuals, but have different expectations about how that happens and what specifically is accomplished. The topic has been muddled and watered-down by a familiar marketing ploy that emphasizes benefits instead of talking about features. Without knowing the features of the product, we are unclear what precisely the product can do.

People may talk about adaptive content in different ways: for example, as having something to do with mobile devices, or as some form of artificial intelligence. I prefer to consider adaptive content as a spectrum that involves different approaches, each of which delivers different kinds of results.  Broadly speaking, there are three approaches to adaptive content, which vary in terms of how specific and how immediately they can deliver adaptation.

Commentators may emphasize adaptive content as being:

  • Contextualized (where someone is),
  • Personalized (who someone is),
  • Device-specific (what device they are using).

All these factors are important to delivering customized content experiences tailored to the needs of an individual that reflect their circumstances.  Each, however, tends to emphasize a different point in the content delivery pipeline.

Delivery Pipelines

There are three distinct windows where content variants are configured or assembled:

  1. During the production of the content
  2. At the launch of a session delivering the content
  3. After the delivery of the content

Each window provides a different range of adaptation to user needs.   Identifying which window is delivering the adaptation also answers a key question: Who is in charge of the adaption?  Is it the creator of the content, the definer of business rules, or the user themself?  In the first case the content adapts according to a plan.  In the second case the content adapts according to a mix of priorities, determined algorithmically.  In the final case, the content adapts to the user’s changing priorities.

Content variations can occur at different stages
Content variations can occur at different stages

Content Variation Possibilities

Content designers must make decisions what content to include or exclude in different content variations.  Those decisions depend on how confident they are about what variations are needed:

  • Variants planned around known needs, such as different target segments
  • Variants triggered by anticipated needs reflecting situational factors
  • Variants generated by user actions such as queries that can’t be determined in advance

On one end of the spectrum, users expect customized content that reflects who they are based on long-established preferences, such as being a certain type of customer or the owner of an appliance. On the other end of the spectrum, users want content that immediately adapts to their shifting preferences as they interact with the content.

Situational factors may invoke contextual variation according to date or time of day, location, or proximity to a radio transmitter device. Location-based content services are the most common form of contextualized content.  Content variations can be linked to a session, where at the initiation of the session, specific content adapts to who is accessing it, and where they are — physically, or in terms of a time or stage.

Variations differ according to whether they focus on the structure of the content (such as including or excluding sections), or on the details (such as variables that can be modified readily).

Different point of content adaptation
Different forms of variation in content adaptation

Customization, Granularity and Agility

While many discussions of adaptive content consciously avoid talking about how content is adapted, it’s hard to hide from the topic altogether. There is plenty of discussion about approaches to create content variations, however.  On one side are XML-based approaches like DITA that focus on configuring sections of content, while on the other side are JSON-based approaches involving JavaScript that focus on manipulating individual variables in real-time.

Contrary to the wishes of those who want only to talk about the high concepts, the enabling technologies are not mere implementation details. They are fundamental to what can be achieved.

Adaptive content is realized through intelligence. The intelligence that enables content to adapt is distributed in several places:

  • The content structure (indicating how content is expected to be used),
  • Customer profile (the relationship history, providing known needs or preferences)
  • Situational information from current or past sessions (the reliability of which involves varying degrees of confidence).

What approach is used impacts how the content delivery system defines a “chunk” of content — the colloquial name for a content component or variable. This has significant implications for the detail that is presented, and the agility with which content can match specific needs.

Different approaches to delivering content variations are solving different problems.

The two main issues at play in adaptive content are:

  1. How significant is the content variation that is expected?
  2. How much lead time is needed to deliver that variation?

The more significant the variant in content that is required, the longer the lead time needed to provide it.  If we consider adaptive content in terms of scope and speed, this implies narrow adaptation offers fast adaptation, and that broad adaptation entails slow adaptation.  While it makes sense intuitively that global changes aren’t possible instantly, it’s worth understanding why that is in the context of today’s approaches to content variation.

First, consider the case of structural variation in content. Structure involves large chunks of content.  Adaptive content can change the structure of the content, making choices about what chunks of content to display.  This type of adaptation involves the configuration of content.  Let’s refer to large chunks of content as sections.  Configuration involves selecting sections to include in different scenarios, and which variant of a section to use.  Sections may have dependencies: if including  one section, related detailed sections will be included as well.  Sectional content can entail a lot of nesting.

Structural variation is often used to provide customized content to known segments.  XML is often used to describe the structure of content involving complex variations.  XML is quite capable when describing content sections, but it is hard to manipulate, due to the deeply nested structure involved.  XSLT is used to transform the structure into variations, but it is slow as molasses.  Many developers are impatient with XSLT, and few users would tolerate the latency involved with getting an adaptation on demand.  Structural adaptation tends to be used for planned variations that have a long lead time.

Next, consider the assembly of content when it is requested by the user — on the loading of a web page. This stage offers a different range of adaptive possibilities linked to the context associated with the session.    Session-based content adaptation can be based on IP, browser or cookie information.  Some of the variation may be global (language or region displayed) while other variations involve swapping out the content for a section (returning visitors see this message).    Some pseudo personalization is possible within content sections by providing targeted messages within larger chunks of static content.

Finally, adaptive content can happen in real-time.  The lead time has shrunk to zero, and the range of adaptation is more limited as well.  The motivation is to have content continuously refresh to reflect the desires of users.  Adaptation is fast, but narrow. Instead of changing the structure of content, real-time adaptation changes variables while keeping the structure fixed.

It is easier to swap out small chunks of text such as variables or finely structured data in real-time than it is to do quick iterative adaptations of large chunks such as sections.  JSON and Javascript are designed to manipulate discrete, easily identified objects quickly.  Large chunks of content may not parse easily in JavaScript, and can seem to jump around on the screen. Single page applications can avoid page refreshes because the content structure is stable: only the details change. They deliver a changing “payload” to a defined content region.  Data tables change easily in real time.  Single page applications can swap out elements that can be easily and quickly identified — without extensive computation.

Conclusion

Content adaptation can be a three stage process, involving different sets of technologies, and different levels of content.

The longer the lead time, the more elaborate the customization possible. When discussing adaptive content, it’s important to distinguish adaptation in terms of scope, and immediacy.

A longer-term challenge will be how to integrate different approaches to provide the customization and flexibility users seek in content.

— Michael Andrews

Categories
Content Experience

Humanizing Dates and Times

Content often relates to time in some way.  How to present time most effectively involves design decisions. Previously I discussed why content designers should think in terms of slices of time rather than specific dates.  In this post I want to elaborate on how audiences think about time, and how to humanize temporal information and present it in a way that fits everyday thinking.  Never mistake a deadline for the real goal.  Temporal information must support goals, rather than become the center of attention. It should be synchronized with our needs.

The Decline of Schedules

Twenty years ago many households had a VCR.  The only notable aspect of the VCR’s mundane appearance was its digital clock, which was often blinking after the electric power was interrupted, and no one could figure out how to reset the time. The blinking VCR clock, vainly calling for attention, became the butt of many commentaries about poor usability.  But why VCR clocks might go unset for so long went less remarked.  The VCR can tell us the time, but it didn’t tell us what we needed: when programs were being broadcast that we wanted to record.  Eventually interactive program guides provided the information users wanted, and they could choose the program, rather than the time.

Even today we have digital clocks that serve little purpose. Many microwaves have them. People have stopped wearing watches because time-displays are available on so many devices.  We synchronize our lives by pinging each other, rather than scheduling dates. We automate our calendars to pay our bills, and so doing worry less about today’s date.  For many activities,  audiences consider time as a choice to manage, rather than an obligation to fulfill.  People want the convenience of on-demand services, and scheduling is a barrier to that.  The more people fall out of the habit of scheduling, the harder the task of scheduling becomes.

Despite this big behavioral shift, content designers for the most part have not yet developed alternative paradigms to the clock- and calendar-centric expressions of temporal information.  Times and dates tend to be opaque: obstructing answers that audiences may be seeking.

Time as Information

How time can be used as a way to reveal options is an emerging challenge.  This weekend I was considering a visit to a storied landmark in Rome, the Castel Sant’Angelo. When I Googled to get details about an exhibit there, Google presented the following visual of times when the landmark was most busy.

Google search results displays popular times for visits to a tourist attraction.
Google search results displays popular times for visits to a tourist attraction.

The visual provided me with a rare moment of online delight.  I received useful information that I did not expect.  Tourist attractions in Rome can be busy on weekends, when budget airlines bring weekend visitors from across Europe.  Knowing when the landmark would be less busy is helpful.

The genius of the popular times display is that is answers a question that, while related to time, prioritizes the more important consideration: the experience associated with different times. It’s an example of the kind of temporal contextual information that will be increasingly common with the deployment of IoT sensors capturing time-stamped ambient information.

Dates as Proxies for Goals and Motivations

When people notice a date, they associate a meaning with that date.  If they fail to associate a meaning with the date, they will ignore the date entirely — it is just another abstract number.  An important question arises: Why does this date matter?  What’s significant about it?

Dates are often proxies for goals and motivations.  Does the date, or more specifically, the duration associated with the date, signify our ability to achieve a goal, or does it indicate a lack of progress?  It’s not the date per se that matters. It’s what it symbolizes to us. The date is just an ID number that we translate mentally into a signal of hope or despair.

range of goals and motivations according to time granularity
Range of goals and motivations according to time granularity

Some dates become symbols of us as individuals: they indicate where we are in the passage of time.  Other dates and times express the behavior of something we are interested in.  Dates embody events, which we evaluate with respect to a specific point in time. What that symbolizes to us will vary.

Events are bookmarked by a start and finish.  Those attributes shape four generic questions about events:

  • How long from beginning to end? (Duration)
  • How long since? (Relative time past)
  • How long until? (Relative time forward)
  • Is the event within a defined period? (Defined time period)
Goals associated with generic time-based events
Goals associated with generic time-based events

Embedded within a start date or an end date is a user goal. Users scan for information that would indicate how well they are meeting their goals.  The progress or deterioration of a situation is frequently a function of an event’s duration.  The urgency of the situation can be a function of how long it has been since something happened in the past.  The effort involved with a situation can be shaped by how far the end goal is in the future.  The length of time is a characteristic that can imply significant consequences to users.

The defined time period is a complex situation that arises surprisingly often.  Businesses, universities, and government departments all seem to love time-base eligibility requirements.  People want to know if they are eligible for a rebate, a scholarship, a tax credit or if their product warranty is still valid.  Instead of finding a simple answer, they are forced to compare how their activities comply with some arbitrary qualifying start and end dates.

Translating and Transforming Temporal Information

Focus on how audiences attach significance to time-related information. Provide it in a format that audiences will notice and use.

The presentation of temporal information needs to take advantage of intrinsic capabilities of digital formats — without making audiences focus on the arcane presentation native to those formats.  Content designers should translate temporal information into the language of the audience, and transform temporal data into answers that audiences care about.

Computer time and date formats are precise and granular — forcing audiences to think what the information means in everyday terms. Fortunately, software libraries are available to translate computer dates into more intelligible language.  Among the most useful is Moment.js, a JavaScript library.  Moment can translate time and date information between different locales (non-English as well as different English language variants).  It contains a function called “humanize” which translates numeric values into verbal phrases.  In instead of seeing “1 day” or “24 hours,” audiences can see “a day.”

Moment.js humanize function (via Moment.js)
Moment.js humanize function (via Moment.js)

Moment also reduces complexity by rounding times to whole units that audiences will be able to notice and grasp more readily.  Few people want to see that something happened 27 hours ago; they’d rather see it displayed as happening yesterday.

Moment.js value ranges (via Moment.js)
Moment.js value ranges (via Moment.js)

These capabilities come together to allow Moment to perform near-natural language calculations on dates.  Users can add two months to a date, without worrying about how many days the intervening months have.  They can subtract days from a date, and get an answer expressed as “Last Wednesday.”  The granularity of units can be adjusted, so that information can be rounded to whatever level of detail is most appropriate.  This capability is helpful when users need to know if two dates might fall in the same time period.  For example, if I delay doing something by 45 days, will the activity still be in the same year, or be pushed into the following year?

Moment recognizes concepts such as the beginning and end of the day.  It also has capabilities to parse natural language date inputs to convert them into computer-friendly date formats.  These capabilities will be increasingly important as people interact with computers through voice interfaces.  Calendars don’t work well with voice input and output. People need common language ways to transform temporal information.

Moment.js calendar and relative time options (via Moment.js)
Moment.js calendar and relative time options (via Moment.js)

Framing Time to Support Goals

Humans frame events according to periods that are significant to them.  Organizations sometimes insist on making their customers adapt to the organization’s schedule, resulting in maddening situations involving proration.  Instead of basing schedules linked to one’s own life events, people are expected to follow the schedule and calendar of the service provider.  A better approach comes (ironically) from the DMV [division of motor vehicles], who link driver’s license renewals to birthdays.

We can support audience goals and motivations when we synchronize time-related information around their perspective. People often define cultural artifacts in terms of their decade (e.g., music or TV shows from the 1980s).  Let’s imagine you and a friend both went to university together in the 1990s.  You are both film buffs, and enjoyed watching movies together.  You get in a debate about who was the best actor in the 1990s.  Many questions about superlatives involve time frames. We don’t care who won the most awards ever; we care about who won or was nominated for awards in the time period that’s most significant to us.

You and your friend remember Michael Caine and Tom Hanks were nominated for Bafta awards in 1998.  So which got more recognition during the entire decade?  A seemingly straightforward question, trying to identify the actor who got the most nominations, becomes an involved research project.  Googling the question doesn’t generate an answer: it only generates links that must be read and assessed.

Questions involving superlatives often involve needing to transform date-related values.
Questions involving superlatives often involve needing to transform date-related values.

Film trivia might seem like a pale example to illustrate how poorly content is structured to help people frame their time-related questions. While low in importance, it can be high in the motivation it elicits.  Some people want to know such details, and have trouble getting the answers.  But consider the opposite situation: something serious, but where motivation is low.  When does one need a twice-a-decade medical screening, that promises no fun?  This is the kind of issue that doesn’t align with a specific calendar date.  People need to see a realistic window in which they can schedule the event.  When they go beyond that window they need to receive an appropriately worded communication about how overdue the person is, and the significance of that delay.

Linking Events, Temporal Information, and Actions

When we need to do something is closely linked to what we will be doing and why we are doing it.  Event-related content is intimately linked to temporal information.   Temporal information can trigger user actions.  Temporal information is the glue tying together what’s significant to the audience, and what they may need to do.

When something happens should be secondary to what happens and why it happens.  Temporal information needs to be presented in the most motivating format possible.  It needs to reflect the context of the user, not the context of the clock or calendar.  It needs to be humanized, so people can understand the importance of the time mentioned.  That requires us to think like the audience: to know if they think about the topic in terms of minutes, hours, days, weeks, months, or years.  And it requires us to help them see what’s typical or should be expected.

—Michael Andrews