<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>UX on Smashing Magazine — For Web Designers And Developers</title><link>https://www.smashingmagazine.com/category/ux/index.xml</link><description>Recent content in UX on Smashing Magazine — For Web Designers And Developers</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 12 May 2026 15:41:59 +0000</lastBuildDate><item><author>Joas Pambou</author><title>Designing Stable Interfaces For Streaming Content</title><link>https://www.smashingmagazine.com/2026/05/designing-stable-interfaces-streaming-content/</link><pubDate>Fri, 01 May 2026 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/05/designing-stable-interfaces-streaming-content/</guid><description>Streaming UIs are an easy concept on the surface, but are quite complicated in practice. There are many considerations that need to be accounted for, from layout shifts and motion preferences to proper markup and various states, that may not be instantly obvious. What happens if the stream is interrupted? Can users tab through the UI on the keyboard as it shifts? What ARIA attributes might be needed? Those are the sorts of things we will tackle in this article.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/05/designing-stable-interfaces-streaming-content/" />
              <title>Designing Stable Interfaces For Streaming Content</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Designing Stable Interfaces For Streaming Content</h1>
                  
                    
                    <address>Joas Pambou</address>
                  
                  <time datetime="2026-05-01T08:00:00&#43;00:00" class="op-published">2026-05-01T08:00:00+00:00</time>
                  <time datetime="2026-05-01T08:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>More interfaces now render while the response is still being generated. The UI begins in one state, then updates as more data comes in. You see this in chat apps, logs, transcription tools, and other real-time systems.</p>

<p>The tricky part is that the <strong>interface is not in a fixed state</strong>; it keeps changing as new content comes in. It grows where lines become longer and new blocks appear. Something that was just below the screen can suddenly move, and the user’s scroll position becomes harder to manage. Parts of the UI might even be incomplete while the user is already interacting with it.</p>

<p>In this article, we’ll take a simple interface and make it handle this properly. We’ll look at how to keep things stable, manage scrolling, and render partial content without breaking the reading experience.</p>

<h2 id="what-does-a-streaming-ui-actually-look-like">What Does A Streaming UI Actually Look Like?</h2>

<p>I’ve built three demos that stream content in different ways: a chat bubble, a log feed, and a transcription view. They look different on the surface, but they all run into the same three problems.</p>

<p>The first is <strong>scroll</strong>. When content is streaming in, most interfaces keep the viewport pinned to the bottom. That works if you are just watching, but the moment you scroll up to read something, the page snaps back down. You did not ask for that. The interface decided for you, and now you’re fighting it instead of reading.</p>

<p>The second is <strong>layout shift</strong>. Streaming content means containers are constantly growing, and as they do, everything below shifts downward. A button you were about to click is no longer where it was. A line you were reading has moved. The page is not broken; it is just that nothing stays still long enough to interact with comfortably.</p>

<p>The third is <strong>render frequency</strong>. Browsers paint the screen around 60 times per second, but streams can arrive much faster than that. This means the DOM, which is the browser’s internal representation of everything on the page, ends up being updated for frames the user will never actually see. Each update still costs something, and that cost adds up quietly until performance starts to slip.</p>

<p>As you go through each demo, pay attention to where things start feeling off. That small moment of friction when the interface starts getting in your way. This is exactly what we are here to fix.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="example-1-streaming-ai-chat-responses">Example 1: Streaming AI Chat Responses</h2>

<p>This is the most familiar case. You click <strong>Stream</strong>, and the message starts growing token by token, just like a typical AI chat interface.</p>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/swmjpl?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="566"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png"
			
			sizes="100vw"
			alt="Streaming AI Chat Responses"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/swmjpl?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/1-streaming-ai-chat-responses.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Here’s what I want you to try:</p>

<ul>
<li>Click the <strong>Stream</strong> button.</li>
<li>Try scrolling upwards while the message is streaming.</li>
<li>Increase the speed (to something like 10ms).</li>
</ul>

<p>You will notice something subtle but important: the UI keeps trying to pull you back down. Basically, it is making a decision for you about where your attention should be.</p>

<p>That’s one example. Let’s look at another.</p>

<h2 id="example-2-live-processing-in-a-log-viewer">Example 2: Live Processing In A Log Viewer</h2>

<p>This example looks different on the surface, but the problem is actually very similar to the first example. Rather than a message that gets longer over time, new lines are appended continuously, like a terminal or a log stream.</p>

<p>The interesting part here is the tail toggle. It makes the trade-off between interaction and stable interfaces very clear:</p>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/cytscf?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="515"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png"
			
			sizes="100vw"
			alt="Live Processing In A Log Viewer"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/cytscf?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/2-live-processing-log-viewer.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Again, here is what I want you to try:</p>

<ul>
<li>Click the <strong>Start</strong> button.</li>
<li>Allow the logs to stream past the container’s height.</li>
<li>Scroll up to the beginning.</li>
<li>Stop the stream and disable the “tail” option.</li>
</ul>

<p>Notice that, when tail is enabled, the UI follows the new content. But you’re unable to scroll up and stay in place. Instead, you need to stop the stream or enable “tail” to explore the content.</p>

<h2 id="example-3-dashboard-displaying-real-time-metrics">Example 3: Dashboard Displaying Real-Time Metrics</h2>

<p>In this case, the UI updates in place:</p>

<ul>
<li>Numbers change,</li>
<li>Charts shift,</li>
<li>Values refresh continuously.</li>
</ul>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/8rtsrm?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="402"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png"
			
			sizes="100vw"
			alt="Dashboard Displaying Real-Time Metrics"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/8rtsrm?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/3-dashboard-display-real-time-metrics.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>There is no scroll tension this time, but a different issue shows up. That’s what we’ll get into next.</p>

<h2 id="why-the-ui-feels-unstable-and-how-to-fix-it">Why The UI Feels Unstable And How To Fix It</h2>

<p>If you tried the chat demo and scrolled upward while the responses were coming in, you may have spotted the first issue right away: the UI keeps pulling you back down to the latest streamed content as it updates. This takes you out of context and never allows you the time to fully digest the content once it has passed.</p>

<p>We see that exact same issue in the second example, the log viewer. Without the tail toggle, the streamed content overrides your scroll position.</p>

<p>These aren’t bugs in the traditional sense that they produce code errors; rather, they are accessibility issues that affect <em>all</em> users. That said, they can be fixed and prevented with careful UX considerations as you plan and test your work.</p>

<h3 id="ensure-predictable-scroll-behavior">Ensure Predictable Scroll Behavior</h3>

<p>This is the goal:</p>

<ul>
<li>Enable auto-scrolling when detecting that the user is at the bottom of the stream.</li>
<li>Stop auto-scrolling when the user has scrolled upwards.</li>
<li>Resume auto-scrolling if the user scrolls back to the bottom of the stream.</li>
</ul>

<p>To do that, we need to know whether the user has intentionally moved away from the bottom, which we can assume is true when the scroll position is manually changed. We can track that behavior with a flag.</p>

<pre><code class="language-javascript">let userScrolled = false;

chatEl.addEventListener('scroll', () =&gt; {
  const gap = chatEl.scrollHeight
            - chatEl.scrollTop
            - chatEl.clientHeight;

  userScrolled = gap &gt; 60;
});
</code></pre>

<p>That <code>60px</code> threshold matters. Without it, tiny layout changes (like a new line) would briefly create a gap and break auto-scroll, even if the user didn’t actually scroll.</p>

<p>Now let’s make sure that we enable auto-scrolling only when the user’s scroll position is equal to the stream’s scroll height, i.e., the user is at the bottom of the stream:</p>

<pre><code class="language-javascript">function autoScroll() {
  if (!userScrolled) {
    chatEl.scrollTop = chatEl.scrollHeight;
  }
}
</code></pre>

<p>One small thing that’s easy to miss: we need to reset <code>userScrolled</code> once a new stream begins. Otherwise, one scroll from a previous message can silently disable auto-scroll for the next one.</p>

<h3 id="solidify-layout-stability">Solidify Layout Stability</h3>

<p>We saw this in the first example as well. As new content streams in, the layout jumps, or shifts, taking you out of your current context. To be specific about what’s shifting: it’s not the page layout in a broad sense, it’s the content directly below the chat bubble.</p>

<p>There’s also a subtler artifact worth calling out before we look at the code: cursor flicker. Because we’re wiping <code>innerHTML</code> and recreating every element on every tick, the cursor is being destroyed and re-added constantly, up to 80 times per second at fast speeds.</p>

<p>At normal speed, it’s easy to miss, but slow the slider down to around 30ms, and you’ll see a faint but persistent flicker at the end of the text. Once we fix the rebuild pattern, the flicker disappears entirely.</p>


<figure class="video-embed-container break-out">
  <div class="video-embed-container--wrapper"
	
  >
    <iframe class="video-embed-container--wrapper-iframe" src="https://player.vimeo.com/video/1187532028"
        frameborder="0"
        allow="autoplay; fullscreen; picture-in-picture"
        allowfullscreen>
    </iframe>
	</div>
	
</figure>

<p>That rebuild pattern is right here; this is what runs on every single incoming character:</p>

<pre><code class="language-javascript">bubble.innerHTML = '';

fullText.split('\n').forEach(line =&gt; {
  const p = document.createElement('p');
  p.textContent = line || '\u00A0';
  bubble.appendChild(p);
});

bubble.appendChild(cursorEl);
</code></pre>

<p>This works, but it’s expensive. Every update wipes the DOM and rebuilds it, forcing layout recalculation each time.</p>

<p>Now we write directly into a live node:</p>

<pre><code class="language-javascript">let currentP = null;

function initBubble(bubble, cursor) {
  currentP = document.createElement('p');
  currentP.appendChild(document.createTextNode(''));
  bubble.insertBefore(currentP, cursor);
}
</code></pre>

<p>What we can do next is to create one paragraph with an empty text node and insert it before the cursor. That gives us a live node we can write into directly.</p>

<p>Then, for each character that arrives:</p>

<pre><code class="language-javascript">function appendChar(char, bubble, cursor) {
  if (char === '\n') {
    currentP = document.createElement('p');
    currentP.appendChild(document.createTextNode(''));
    bubble.insertBefore(currentP, cursor);
  } else {
    currentP.firstChild.textContent += char;
  }
}
</code></pre>

<p>For a regular character, we extend the text node by one character. The browser doesn’t need to recalculate the layout for that; the text grew, but nothing moved. For a newline, we create a fresh paragraph and move <code>currentP</code> forward. Layout recalculates once for that new paragraph, and that’s it.</p>

<div class="partners__lead-place"></div>

<h3 id="render-frequency">Render Frequency</h3>

<p>This one is most visible in the first example, the chat UI. Even with scrolling and a layout fixed, we’re still writing to the DOM on every single incoming character.</p>

<p>When the stream is moving fast, you end up hammering the DOM with updates that don’t actually matter. The fix is straightforward: hold the incoming text in a buffer instead of writing it out immediately. Once you’ve collected enough, write it all to the DOM in one go; that’s what a <strong>flush</strong> is.</p>

<p>To pull this off, we keep a simple buffer and make sure we only schedule a single update at a time. When it fires, <code>requestAnimationFrame</code> takes everything that has built up and writes it to the DOM in one shot.</p>

<pre><code class="language-javascript">let pending   = '';
let rafQueued = false;
</code></pre>

<p>When a new character streams in, we then add it to the buffer. If no flush is scheduled yet, we queue one:</p>

<pre><code class="language-javascript">function onChar(char) {
  pending += char;

  if (!rafQueued) {
    rafQueued = true;
    requestAnimationFrame(flush);
  }
}
</code></pre>

<p>The <code>rafQueued</code> flag is important. Without it, every character would schedule its own frame, and you’d end up with dozens of unnecessary flushes.</p>

<p>When the flush fires, it drains the entire buffer in one pass:</p>

<pre><code class="language-javascript">function flush() {
  for (const char of pending) {
    appendChar(char);
  }
  pending   = '';
  rafQueued = false;
  autoScroll();
}
</code></pre>

<p>All the characters that arrive after the last frame are then rendered together, right before the browser paints them. Then we clear the buffer, reset the flag, and run auto-scroll once.</p>

<pre><code class="language-javascript">let userScrolled = false;

chatEl.addEventListener('scroll', () =&gt; {
  const gap = chatEl.scrollHeight
            - chatEl.scrollTop
            - chatEl.clientHeight;

  userScrolled = gap &gt; 60;
});

function autoScroll() {
  if (!userScrolled) {
    chatEl.scrollTop = chatEl.scrollHeight;
  }
}
</code></pre>

<p>If the gap is small, we keep auto-scrolling. If it grows, we assume the user scrolled up, and we stop. That small threshold helps avoid jitter when new lines slightly change the height. Also, remember to reset <code>userScrolled</code> when a new stream starts.</p>

<p>Once scrolling is under control, another issue becomes obvious. As the message grows, it keeps shifting:</p>

<ul>
<li>It starts as one line,</li>
<li>It expands, then</li>
<li>It pushes everything below it.</li>
</ul>

<p>Nothing is technically broken, but it doesn’t feel stable. A common approach is to rebuild the whole message on every update:</p>

<pre><code class="language-javascript">bubble.innerHTML = '';

fullText.split('\n').forEach(line =&gt; {
  const p = document.createElement('p');
  p.textContent = line || '\u00A0';
  bubble.appendChild(p);
});

bubble.appendChild(cursorEl);
</code></pre>

<p>This works, but it is doing too much work. Every update destroys and rebuilds the DOM, forcing layout recalculation each time. That’s why everything keeps shifting. The idea is to write into the current paragraph and only create a new one when we actually hit a line break.</p>

<pre><code class="language-javascript">let currentP = null;

function initBubble(bubble, cursor) {
  currentP = document.createElement('p');
  currentP.appendChild(document.createTextNode(''));
  bubble.insertBefore(currentP, cursor);
}
</code></pre>

<p>And then update it character by character:</p>

<pre><code class="language-javascript">function appendChar(char, bubble, cursor) {
  if (char === '\n') {
    currentP = document.createElement('p');
    currentP.appendChild(document.createTextNode(''));
    bubble.insertBefore(currentP, cursor);
  } else {
    currentP.firstChild.textContent += char;
  }
}
</code></pre>

<p>Now we’re no longer rebuilding everything. Most updates just extend a text node, which is cheap and doesn’t trigger large layout shifts. It also fixes the small cursor flicker you might have noticed earlier, since we’re no longer removing and re-adding it.</p>

<p>At this point, the UI already feels better, but there is still something subtle going on. We are still updating the DOM on every character. At higher speeds, that becomes a lot of small updates, many of which you never actually see.</p>

<p>Instead of rendering immediately, we can buffer the incoming characters and apply them once per frame.</p>

<pre><code class="language-javascript">let pending = '';
let rafQueued = false;

function onChar(char) {
  pending += char;

  if (!rafQueued) {
    rafQueued = true;
    requestAnimationFrame(flush);
  }
}
</code></pre>

<p>At this point, we’re not touching the DOM yet, but only collecting characters as they arrive. Then, right before the next frame is painted, we flush everything at once:</p>

<pre><code class="language-javascript">function flush() {
  for (const char of pending) {
    appendChar(char);
  }

  pending = '';
  rafQueued = false;

  autoScroll();
}
</code></pre>

<p>These separate two things that were previously tied together:</p>

<ol>
<li>How fast data arrives, and</li>
<li>When the UI updates.</li>
</ol>

<p>The result looks the same, but the browser does less work, resulting in the UI feeling smoother, especially when the stream is set to a faster speed.</p>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/pk7tk5?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="566"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png"
			
			sizes="100vw"
			alt="Broken vs. fixed"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/pk7tk5?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/4-broken-vs-fixed.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>None of these changes is a big effort on its own. But once they are in place, the interface stops reacting blindly to every update. It becomes easier to read, easier to control, and a lot less distracting, even though the content is still coming in continuously.</p>

<p>There are even more considerations to take into account for ensuring a stable, predictable, and good user experience. For example, what happens if the stream is canceled mid-flow? And what can we do to ensure that user preferences are respected for things like reduced motion, keyboard navigation, and screen reader accessibility? Let’s get into those next.</p>

<h2 id="handling-interrupted-streams">Handling Interrupted Streams</h2>

<p>Most streaming interfaces include a way to stop or cancel the stream. We saw that in the demos. But stopping often leaves the UI in an awkward state. The cursor might keep blinking, buttons don’t update, and the message just freezes mid-stream with no clear indication that it didn’t finish.</p>

<p>The problem is that the stop is usually wired to do one thing: cancel the timer. That’s not enough. You also need to (1) clear the pending buffer, (2) remove the cursor, (3) mark the response as incomplete, and (4) reset the buttons. Here’s how we accomplish those.</p>

<h3 id="1-stop-the-stream-cleanly">1. Stop The Stream Cleanly</h3>

<p>Here’s what <code>stopStream</code> needs to do, in order:</p>

<ol>
<li>Cancel the timer and flip the <code>isStreaming</code> flag so no more ticks run.</li>
<li>Clear the <code>requestAnimationFrame</code> (RAF) buffer so nothing still queued gets written on the next frame.</li>
</ol>

<pre><code class="language-javascript">function stopStream() {
  clearTimeout(streamTimer);
  isStreaming = false;
  pending     = '';
  rafQueued   = false;
}
</code></pre>

<p>Clearing the <code>pending</code> property matters because there might be characters buffered from the last stream instance that haven’t been flushed yet. If you don’t clear it, the next <code>requestAnimationFrame</code> fires, drains the buffer, and writes those characters to the DOM after the stream has officially stopped.</p>

<p>Now we move on to removing the cursor by calling <code>markStopped</code> on the bubble:</p>

<pre><code class="language-javascript">if (cursorEl && cursorEl.parentNode) cursorEl.remove();
  markStopped(aiBubble);

  stopBtn.style.display  = 'none';
  retryBtn.style.display = '';
  playBtn.style.display  = '';
  setStatus('Stopped', 'stopped');
  chat.removeEventListener('scroll', onScroll);
}
</code></pre>

<p>The <code>cursorEl.parentNode</code> check is there because <code>stopStream</code> is also called internally when a new message fires mid-stream, at which point the cursor might already be gone. Calling <code>remove()</code> on a detached node throws, so we check first.</p>

<p><code>markStopped</code> appends a small label to the bottom of the bubble so the user knows the response didn’t finish:</p>

<pre><code class="language-javascript">function markStopped(bubble) {
  if (!bubble) return;
  bubble.classList.add('stopped');

  const label = document.createElement('span');
  label.className = 'stopped-label';
  label.textContent = 'response stopped';
  bubble.appendChild(label);
}
</code></pre>

<p>The null check on <code>bubble</code> handles the edge case where stop fires before the AI message element has been initialized, which can happen if the user clicks stop during the 300ms delay before the bubble appears.</p>

<h3 id="provide-a-retry-option">Provide A Retry Option</h3>

<p>If the stream simply stops &mdash; perhaps due to a network issue or some other unexpected error &mdash; we ought to provide the user with a path to re-attempt the stream. What that basically means is preventing the UI from doing the expensive work needed to scroll back up to the top, re-read the prompt, and retype it. With a retry option, the user only needs to click a button, and the stream restarts from the current position.</p>

<p>To make that work, we need to hold onto the question when the stream starts:</p>

<pre><code class="language-javascript">let lastQuestion = '';

function startStream(question, answer) {
  lastQuestion = question;
  // rest of setup...
}
</code></pre>

<p>Then, when the retry attempt runs, we reset everything and start fresh:</p>

<pre><code class="language-javascript">function retryStream() {
  if (currentMsgEl && currentMsgEl.parentNode) {
    currentMsgEl.remove();
  }

  charIndex    = 0;
  userScrolled = false;
  pending      = '';
  rafQueued    = false;
  isStreaming  = true;

  retryBtn.style.display = 'none';
  stopBtn.style.display  = '';
  setStatus('Streaming...', 'streaming');

  chat.addEventListener('scroll', onScroll, { passive: true });

  setTimeout(() =&gt; {
    initAIMsg();
    tick(lastAnswer);
  }, 200);
}
</code></pre>

<p>The reset is critical. Every piece of state needs to go back to its initial value, just like a brand new stream.</p>

<p><strong>Note:</strong> We remove the entire message row (<code>currentMsgEl</code>), not just the bubble. If only the bubble is removed, the layout wrapper and avatar remain persistent and break the structure.</p>

<h3 id="send-a-new-message-mid-stream">Send A New Message Mid-Stream</h3>

<p>There’s one more edge case that’s easy to miss. If the user sends a new message while a stream is still running, you end up with two loops writing to the DOM at the same time. The result is messy, and characters from different responses get mixed together.</p>

<p>Here’s what to do: stop the current stream before starting a new one.</p>

<pre><code class="language-javascript">function startStream(question, answer) {
  if (isStreaming) {
    clearTimeout(streamTimer);
    isStreaming = false;
    pending     = '';
    rafQueued   = false;
    if (cursorEl && cursorEl.parentNode) cursorEl.remove();
    chat.removeEventListener('scroll', onScroll);
  }

  // now reset and start fresh
  charIndex    = 0;
  userScrolled = false;
  isStreaming  = true;
  lastQuestion = question;
  // ...
}
</code></pre>

<p>Here, we inline the cleanup rather than calling <code>stopStream</code> directly because <code>stopStream</code> also calls <code>markStopped</code> and resets the buttons. The next demo has all three behaviors wired up. You can start a stream, hit “Stop” mid-stream, and the cursor disappears, the “response stopped” label appears, and a “Retry” buttons displayed.</p>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/9cfy92?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="505"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png"
			
			sizes="100vw"
			alt="Interruptible stream"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/9cfy92?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/5-interruptible-stream.png'>Large preview</a>)
    </figcaption>
  
</figure>

<div class="partners__lead-place"></div>

<h2 id="accessibility">Accessibility</h2>

<p>Streaming interfaces are often built and tested with a mouse, so they may feel just fine in a browser, but break down in other situations that may not have been considered, like whether a screen reader announces new content at all. Or navigating with a keyboard might get stuck or lose focus as things update. And, of course, moving text can be uncomfortable &mdash; or even disabling &mdash; for <a href="https://www.smashingmagazine.com/2021/10/respecting-users-motion-preferences/">those with motion sensitivities</a>.</p>

<p>The good part is that you do not need to rebuild everything to accommodate these things; they can be fixed with solutions that sit on top of what is already there.</p>

<h3 id="accommodating-assistive-technology-with-live-regions">Accommodating Assistive Technology With Live Regions</h3>

<p>Screen readers don’t automatically announce content that shows up on its own. They usually read things when the user moves to them. So, in a streaming UI, where text builds up over time, nothing gets announced. The content is there, but the user doesn’t hear anything.</p>

<p>The fix is <a href="https://w3c.github.io/aria/#aria-live"><code>aria-live</code></a>. It tells the browser to watch a container and announce updates as they happen, without the user needing to move focus.</p>

<pre><code class="language-html">&lt;div
  id="chat"
  role="log"
  aria-live="polite"
  aria-atomic="false"
  aria-label="Chat messages"
&gt;&lt;/div&gt;
</code></pre>

<ul>
<li><code>role=&quot;log&quot;</code> tells assistive tech this is a stream of updates, like a running transcript. Some tools handle this automatically, but it’s safer to be explicit so behavior stays consistent.</li>
<li><code>aria-atomic=&quot;false&quot;</code> makes sure only the new content is announced. Without it, some screen readers try to read the whole message again on every update, which quickly becomes unusable.</li>
<li><code>aria-live=&quot;polite&quot;</code> queues updates instead of interrupting. Use <code>assertive</code> only for things that really need immediate attention, like errors.</li>
</ul>

<h3 id="handling-incomplete-states">Handling Incomplete States</h3>

<p>Earlier, we inserted a “Response Stopped” label to the message when the stream stops mid-stream. Visually, that’s enough. But for a screen reader, that change needs to be announced.</p>

<p>Since the message is inside a live region with <code>aria-live=&quot;polite&quot;</code>, the label will be automatically announced as new content when it’s added to the DOM. The live region already handles the announcement, so no additional ARIA is needed on the label itself.</p>

<p>The <strong>Retry</strong> button that appears next also needs context. If a screen reader simply says “Retry, button,” it’s not clear what action that refers to. You can fix that by adding an <code>aria-label</code> that includes the original question:</p>

<pre><code class="language-javascript">retryBtn.setAttribute(
  'aria-label',
  `Retry: ${lastQuestion.slice(0, 60)}`
);
</code></pre>

<p>What you can do here is to set this label when the button appears, not on page load:</p>

<pre><code class="language-javascript">retryBtn.style.display = 'inline-block';
retryBtn.setAttribute(
  'aria-label',
  `Retry: ${lastQuestion.slice(0, 60)}`
);
</code></pre>

<p>We also call <code>retryBtn.focus()</code> after stopping. That way, keyboard users don’t have to <code>Tab</code> around with the keyboard to find the next action.</p>

<p><strong>Testing with assistive technology:</strong> Don’t rely on assumptions about how screen readers announce this. Test with actual tools like NVDA (Windows), JAWS (Windows), or VoiceOver (Mac/iOS). Browser DevTools can show you what’s exposed in the accessibility tree, but they can’t tell you how the content <em>sounds</em>. A real screen reader will reveal whether the announcement is happening at the right time and in the right way.</p>

<h3 id="account-for-keyboard-navigation">Account For Keyboard Navigation</h3>

<p>The controls need to work with the keyboard while the UI is live, so the Stop button has to be reachable. For someone not using a mouse, <kbd>Tab</kbd> + <kbd>Enter</kbd> is the only way to cancel a running stream.</p>

<p>Using <code>display: none</code> is fine for hiding buttons; it removes them from the tab order. The problem is using things like <code>opacity: 0</code> or <code>visibility: hidden</code>. Those hide elements visually, but they can still receive focus, so users end up tabbing onto something they can’t see.</p>

<p>Use <code>:focus-visible</code> so the focus ring shows up for keyboard navigation, but not for mouse clicks:</p>

<pre><code class="language-css">btn:focus-visible {
  outline: 2px solid &#35;1d9e75;
  outline-offset: 2px;
}
</code></pre>

<p>The cursor inside the message should have <code>aria-hidden=&quot;true&quot;</code>. It’s just visual. Without that, some screen readers try to read it as text, which gets distracting.</p>

<h3 id="motion-sensitivity">Motion Sensitivity</h3>

<p>The typewriter effect we see in practically every AI interface produces constant motion. As we’ve already discussed, certain amounts of motion can be disabling. Thankfully, browsers expose <code>prefers-reduced-motion</code>, which detects a user’s motion preferences at the operating system level.</p>

<p>For streaming, the best approach is simple: skip the animation and render the full response at once. The content stays the same, only without the motion.</p>

<pre><code class="language-javascript">const reducedMotion = window.matchMedia(
  '(prefers-reduced-motion: reduce)'
).matches;
</code></pre>

<pre><code class="language-javascript">if (reducedMotion) {
  initAIMsg();
  for (const char of text) appendChar(char);
  if (cursorEl && cursorEl.parentNode) cursorEl.remove();
  done();
  return;
}
tick(text); // normal animation
</code></pre>

<p>In CSS, the cursor blink also needs to stop. Despite being a minor detail, a blinking cursor element counts as <a href="https://www.w3.org/WAI/WCAG21/Understanding/three-flashes-or-below-threshold.html">flashing content</a>.</p>

<pre><code class="language-css">@media (prefers-reduced-motion: reduce) {
  .cursor { animation: none; opacity: 1; }
}
</code></pre>

<p>There we go! The demo below puts everything from this article together, so you can see how these patterns work in practice. It also includes a reduced motion toggle, so you can test the instant render version easily.</p>














<figure class="
  
  
  ">
  
    <a href="https://codesandbox.io/embed/vd9mnk?view=preview">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="594"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png"
			
			sizes="100vw"
			alt="Accessible streaming"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Open in <a href='https://codesandbox.io/embed/vd9mnk?view=preview'>CodeSandbox</a>. (<a href='https://files.smashing.media/articles/designing-stable-interfaces-streaming-content/6-accessible-streaming.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="conclusion">Conclusion</h2>

<p>Streaming itself is mostly solved. Getting data from the server to the client is not the hard part anymore. What breaks is the UI on top of it.</p>

<p>When content updates continuously, small things start to matter, like scroll behavior, layout stability, render timing, and how the interface responds to user actions. If those aren’t handled well, the UI feels unstable and hard to use.</p>

<p>The patterns in this article fix that by:</p>

<ul>
<li>Keeping scroll position under the user’s control,</li>
<li>Updating only what has changed,</li>
<li>Batching renders per frame,</li>
<li>Handling stop and retry actions, and</li>
<li>Making the interface accessible.</li>
</ul>

<p>You don’t need all of these every time. But when streaming is involved, these are the places things usually go wrong.</p>

<h3 id="further-reading">Further Reading</h3>

<ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events">Using Server-Sent Events</a><br />
How to open a connection, handle events, and reconnect when needed. This is the transport layer, everything here builds on.</li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Streams_API">Streams API</a><br />
Streaming data directly from <code>fetch</code>. Useful when you need more control than SSE.</li>
<li><a href="https://developer.chrome.com/docs/devtools/performance">Chrome DevTools Performance panel</a><br />
Helps you see layout recalculations and paint costs, so you can verify performance improvements.</li>
<li>“<a href="https://web.dev/articles/dom-size-and-interactivity">How Large DOM Sizes Affect Interactivity, And What You Can Do About It</a>”, Jeremy Wagner<br />
Why large DOM trees slow things down, and how to keep them under control in long streaming sessions.</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Carrie Webster</author><title>The UX Designer’s Nightmare: When “Production-Ready” Becomes A Design Deliverable</title><link>https://www.smashingmagazine.com/2026/04/production-ready-becomes-design-deliverable-ux/</link><pubDate>Wed, 22 Apr 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/production-ready-becomes-design-deliverable-ux/</guid><description>In a rush to embrace AI, the industry is redefining what it means to be a UX designer, blurring the line between design and engineering. Carrie Webster explores what’s gained, what’s lost, and why designers need to remain the guardians of the user experience.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/production-ready-becomes-design-deliverable-ux/" />
              <title>The UX Designer’s Nightmare: When “Production-Ready” Becomes A Design Deliverable</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>The UX Designer’s Nightmare: When “Production-Ready” Becomes A Design Deliverable</h1>
                  
                    
                    <address>Carrie Webster</address>
                  
                  <time datetime="2026-04-22T10:00:00&#43;00:00" class="op-published">2026-04-22T10:00:00+00:00</time>
                  <time datetime="2026-04-22T10:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>In early 2026, I noticed that the UX designer’s toolkit seemed to shift overnight. The industry standard <em>“Should designers code?”</em> debate was abruptly settled by the market, not through a consensus of our craft, but through the brute force of job requirements. If you browse LinkedIn today, you’ll notice a stark change: UX roles increasingly demand <strong><a href="https://www.refontelearning.com/blog/ui-ux-designer-engineering-in-2026-crafting-future-ready-user-experiences">AI-augmented development</a></strong>, <strong>technical orchestration,</strong> and <strong>production-ready prototyping.</strong></p>

<p>For many, including myself, this is the ultimate design job nightmare. We are being asked to deliver both the “vibe” and the “code” simultaneously, using AI agents to bridge a technical gap that previously took years of computer science knowledge and coding experience to cross. But as the industry rushes to meet these new expectations, they are discovering that AI-generated functional code is not always <em>good</em> code.</p>

<h2 id="the-linkedin-pressure-cooker-role-creep-in-2026">The LinkedIn Pressure Cooker: Role Creep In 2026</h2>

<p>The job market is sending a clear signal. While traditional graphic design roles are expected to grow by only <strong>3%</strong> through 2034, UX, UI, and <a href="https://www.nobledesktop.com/careers/designer/job-outlook#:~:text=The%20projected%20future%20growth%20figures%20for%20Digital,job%20growth%20(which%20lies%20somewhere%20around%205%25).">Product Design roles</a> are projected to grow by <strong>16%</strong> over the same period.</p>

<p>However, this growth is increasingly tied to the rise of <strong>AI product development</strong>, where “design skills” have recently become the #1 most in-demand capability, even ahead of coding and cloud infrastructure. Companies building these platforms are no longer just looking for visual designers; they need professionals who can “<a href="https://humbldesign.io/blog-posts/will-ai-replace-designers-2026">translate technical capability into human-centered experiences</a>.”</p>

<p>This creates a high-stakes environment for the UX designer. We are no longer just responsible for the interface; we are expected to understand the technical logic well enough to ensure that complex AI capabilities feel intuitive, safe, and useful for the human on the other side of the screen. Designers are being pushed toward a <strong>“design engineer” model</strong>, where we must bridge the gap between abstract <a href="https://www.refontelearning.com/blog/ui-ux-designer-engineering-in-2026-crafting-future-ready-user-experiences#skills-and-competencies-for-the-2026-uiux-designer-3">AI logic and user-facing code</a>.</p>

<p>A <a href="https://www.lyssna.com/blog/ux-design-trends/">recent survey</a> found that <strong>73% of designers</strong> now view AI as a primary collaborator rather than just a tool. However, this “collaboration” often looks like “role creep.” Recruiters are often not just looking for someone who understands user empathy and information architecture &mdash; they want someone who can also prompt a React component into existence and push it to a repository!</p>

<p>This shift has created a <strong>competency gap</strong>.</p>

<blockquote>As an experienced senior designer who has spent decades mastering the nuances of cognitive load, accessibility standards, and ethnographic research, I am suddenly finding myself being judged on my ability to debug a CSS Flexbox issue or manage a Git branch.</blockquote>

<p>The nightmare isn’t the technology itself. It’s the <strong>reallocation of value</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aBusinesses%20are%20beginning%20to%20value%20the%20speed%20of%20output%20over%20the%20quality%20of%20the%20experience,%20fundamentally%20changing%20what%20it%20means%20to%20be%20a%20%e2%80%9csuccessful%e2%80%9d%20designer%20in%202026.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fproduction-ready-becomes-design-deliverable-ux%2f">
      
Businesses are beginning to value the speed of output over the quality of the experience, fundamentally changing what it means to be a “successful” designer in 2026.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg"
			
			sizes="100vw"
			alt="Figma to AI code ad"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Tools that allow designers to switch from design to code. (Image source: <a href='https://www.figma.com/community/plugin/1443774571835235184/figma-to-ai-code-by-designcode'>Figma</a>) (<a href='https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/1-figma.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="the-competence-trap-two-job-skill-sets-one-average-result">The Competence Trap: Two Job Skill Sets, One Average Result</h3>

<p>There is potentially a very dangerous myth circulating in boardrooms that AI makes a designer “equal” to an engineer. This narrative suggests that because an LLM can generate a functional JavaScript event handler, the person prompting it doesn’t need to understand the underlying logic. In reality, attempting to master two disparate, deep fields simultaneously will most likely lead to being <strong>averagely competent</strong> at both.</p>

<h3 id="the-averagely-competent-dilemma">The “Averagely Competent” Dilemma</h3>

<p>For a senior UX designer to become a senior-level coder is like asking a master chef to also be a master plumber because “they both work in the kitchen.” You might get the water running, but you won’t know why the pipes are rattling.</p>

<ul>
<li><strong>The “cognitive offloading” risk.</strong><br />
Research shows that while AI can speed up task completion, it often leads to a significant decrease in conceptual mastery. In a controlled study, participants using AI assistance scored <a href="https://www.psychologytoday.com/au/blog/the-asymmetric-brain/202602/cognitive-offloading-using-ai-reduces-new-skill-formation">17% lower</a> on comprehension tests than those who coded by hand.</li>
<li><strong>The debugging gap.</strong><br />
The largest performance gap between AI-reliant users and hand-coders is in <a href="https://www.anthropic.com/research/AI-assistance-coding-skills">debugging</a>. When a designer uses AI to write code they don’t fully understand, they don’t have the ability to identify <em>when</em> and <em>why</em> it fails.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="451"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png"
			
			sizes="100vw"
			alt="A chart showing how AI assistance impacts coding speed and skill formation "
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Using AI tools impedes coding skill formation. (Image source: <a href='https://www.anthropic.com/research/AI-assistance-coding-skills'>Anthropic</a>) (<a href='https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/2-ai-assistance-coding-skills-speed.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>So, if a designer ships an AI-generated component that breaks during a high-traffic event and cannot manually trace the logic, they are no longer an expert. They are now a liability.</p>

<h3 id="the-high-cost-of-unoptimised-code">The High Cost Of Unoptimised Code</h3>

<p>Any experienced code engineer will tell you that creating code with AI without the right prompt leads to a lot of rework. Because most designers lack the technical foundation to audit the code the AI gives them, they are inadvertently shipping massive amounts of <a href="https://gocrossbridge.com/blog/ai-generated-code/">“Quality Debt”</a>.</p>

<h2 id="common-issues-in-designer-generated-ai-code">Common Issues In Designer-Generated AI Code</h2>

<ul>
<li><strong>The security flaw</strong><br />
Recent reports indicate that up to <a href="https://www.sherlockforensics.com/pages/ai-code-security-report-2026.html">92% of AI-generated codebases</a> contain at least one critical vulnerability. A designer might see a functioning login form, unaware that it has an 86% failure rate in XSS defense, which are the security measures aimed at preventing attackers from injecting malicious scripts into trusted websites.</li>
<li><strong>The accessibility illusion</strong><br />
AI often generates “functional” applications that lack semantic integrity. A designer might prompt a “beautiful and functional toggle switch,” but the AI may provide a non-semantic <code>&lt;div&gt;</code> that lacks keyboard focus and screen-reader compatibility, creating <a href="https://www.levelaccess.com/blog/accessibility-debt-in-software-development-and-how-to-engineer-it-out/">Accessibility Debt</a> that is expensive to fix later.</li>
<li><strong>The performance penalty</strong><br />
AI-generated code tends to be verbose. AI is linked to <a href="https://www.netcorpsoftwaredevelopment.com/blog/ai-generated-code-statistics">4x more code duplication</a> than human-written code. This verbosity slows down page loads, creates massive CSS files, and negatively impacts SEO. To a business, the task looks “done.” To a user with a slow connection or a screen reader, the site is a nightmare.</li>
</ul>

<h2 id="creating-more-work-not-less">Creating More Work, Not Less</h2>

<p>The promise of AI was that designers could ship features without bothering the engineers. The reality has been the birth of a <strong>“Rework Tax”</strong> that is draining engineering resources across the industry.</p>

<ul>
<li><strong>Cleaning up</strong><br />
Organisations are finding that while velocity increases, incidents per Pull Request are also rising by <a href="https://blog.exceeds.ai/ai-code-analysis-benchmark-reports/">23.5%</a>. Some engineering teams now spend a significant portion of their week cleaning up “AI slop” delivered by design teams who skipped a rigorous review process.</li>
<li><strong>The communication gap</strong><br />
Only <a href="https://www.lyssna.com/blog/ux-design-trends/">69% of designers</a> feel AI improves the quality of their work, compared to <strong>82% of developers</strong>. This gap exists because “code that compiles” is not the same as “code that is maintainable.”</li>
</ul>

<p>When a designer hands off AI-generated code that ignores a company’s internal naming conventions or management patterns, they aren’t helping the engineer; they are creating a puzzle that someone else has to solve later.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="600"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg"
			
			sizes="100vw"
			alt="Typical issues that developers face with AI-generated code"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Typical issues that developers face with AI-generated code. (Image source: <a href='https://www.netcorpsoftwaredevelopment.com/blog/ai-generated-code-statistics'>Netcorp</a>) (<a href='https://files.smashing.media/articles/ux-designer-nightmare-production-ready-becomes-design-deliverable/3-issues-developers-face-ai-generated-code.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="the-solution">The Solution</h3>

<p>We need to move away from the nightmare of the “<strong>Solo Full-Stack Designer</strong>” and toward a model of <strong>designer/coder collaboration</strong>.</p>

<p><strong>The ideal reality:</strong></p>

<ul>
<li><strong>The Partnership</strong><br />
Instead of designers trying to be mediocre coders, they should work in a <strong>human-AI-human loop</strong>. A senior UX designer should work <em>with</em> an engineer to use AI; the designer creates prompts for <strong>intent, accessibility, and user flow</strong>, while the engineer creates prompts for <strong>architecture and performance</strong>.</li>
<li><strong>Design systems as guardrails</strong><br />
To prevent accessibility debt from spreading at scale, <a href="https://webaim.org/projects/million/">accessible components must be the default</a> in your design system. AI should be used to feed these tokens into your UI, ensuring that even generated code stays within the “source of truth.”</li>
</ul>

<h2 id="beyond-the-prompt">Beyond The Prompt</h2>

<p>The industry is currently in a state of “AI Infatuation,” but the pendulum will eventually swing back toward quality.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20UX%20designer%e2%80%99s%20nightmare%20ends%20when%20we%20stop%20trying%20to%20compete%20with%20AI%20tools%20at%20what%20they%20do%20best%20%28generating%20syntax%29%20and%20keep%20our%20focus%20on%20what%20they%20cannot%20do%20%28understanding%20human%20complexity%29.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fproduction-ready-becomes-design-deliverable-ux%2f">
      
The UX designer’s nightmare ends when we stop trying to compete with AI tools at what they do best (generating syntax) and keep our focus on what they cannot do (understanding human complexity).

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>Businesses that prioritise “designer-shipped code” without engineering oversight will eventually face a reckoning of technical debt, security breaches, and accessibility lawsuits. The designers who thrive in 2026 and beyond will be those who refuse to be “prompt operators” and instead position themselves as the <strong>guardians of the user experience</strong>. This is the perfect outcome for experienced designers and for the industry.</p>

<p>Our value has always been our ability to advocate for the human on the other side of the screen. We must use AI to augment our design thinking, allowing us to test more ideas and iterate faster, but we must never let it replace the specialised engineering expertise that ensures our designs technically <em>work</em> for everyone.</p>

<h3 id="summary-checklist-for-ux-designers">Summary Checklist for UX Designers</h3>

<ul>
<li><strong>Work Together.</strong><br />
Use AI-made code as a starting point to talk with your developers. Don’t use it as a shortcut to avoid working with them. Ask them to help you with prompts for code creation for the best outcomes.</li>
<li><strong>Understand the “Why”.</strong><br />
Never submit code you don’t understand. If you can’t explain how the AI-generated logic works, don’t include it in your work.</li>
<li><strong>Build for Everyone.</strong><br />
Good design is more than just looks. Use AI to check if your code works for people using screen readers or keyboards, not just to make things look pretty.</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Eleanor Hecks</author><title>Session Timeouts: The Overlooked Accessibility Barrier In Authentication Design</title><link>https://www.smashingmagazine.com/2026/04/session-timeouts-accessibility-barrier-authentication-design/</link><pubDate>Mon, 20 Apr 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/session-timeouts-accessibility-barrier-authentication-design/</guid><description>Poorly handled session timeouts are more than a technical inconvenience. They can become serious accessibility barriers that interrupt essential online tasks, especially for people with disabilities. Here is how to implement thoughtful session management that improves usability, reduces frustration, and helps create a more accessible and respectful web.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/session-timeouts-accessibility-barrier-authentication-design/" />
              <title>Session Timeouts: The Overlooked Accessibility Barrier In Authentication Design</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Session Timeouts: The Overlooked Accessibility Barrier In Authentication Design</h1>
                  
                    
                    <address>Eleanor Hecks</address>
                  
                  <time datetime="2026-04-20T13:00:00&#43;00:00" class="op-published">2026-04-20T13:00:00+00:00</time>
                  <time datetime="2026-04-20T13:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>For web professionals, session management is a balancing act between user experience, cybersecurity, and resource usage. For people with disabilities, it is more than that &mdash; it is a barrier to buying digital tickets, scrolling on social media, or applying for a loan online. <strong>Session timeout accessibility</strong> can be the difference between a bad day and a good day for those with disabilities.</p>

<p>For many, getting halfway through an important form only to be unceremoniously kicked back to the login screen is a common experience. Such incidents can lead to exasperation and even abandonment of the website entirely. With some backend work, web professionals can ensure no one has to experience this frustration.</p>

<h2 id="why-session-timeouts-disproportionately-affect-users-with-disabilities">Why Session Timeouts Disproportionately Affect Users With Disabilities</h2>

<p>A considerable portion of the global population has cognitive, motor, or vision impairments. Worldwide, <a href="https://designerly.com/mobile-app-accessibility-checklist/">around 1.3 billion people</a> have significant disabilities. Whether they possess motor, cognitive, or visual impairments, their disabilities affect their ability to interact with technology easily. They can all be disproportionately affected by session timeouts, making session timeout accessibility a critical issue.</p>

<p>Session timeouts are inaccessible for a large percentage of the population. An <a href="https://www.hanoversearch.com/blog/inclusive-recruitment-a-focus-on-neurodiverse-talent/.">estimated 20% of people are</a> neurodivergent, meaning timeout barriers don’t just affect a small subset of users &mdash; they impact a <strong>substantial portion of any website’s audience</strong>. As a result, some users may look inactive when they are not. <strong>Strict timeouts create undue pressure.</strong></p>

<h3 id="motor-impairments-and-slower-input-speeds">Motor Impairments and Slower Input Speeds</h3>

<p>For instance, someone with cerebral palsy tries to purchase tickets online for an upcoming concert. Due to coordination difficulties and muscle stiffness, they may enter their information more slowly than a non-disabled person would. They select the date, choose their seats, and fill out personal information. Before they can enter their credit card details, a timeout pop-up appears. They have been logged out due to “inactivity” and must restart the entire process.</p>

<p>This situation is not entirely hypothetical. Matthew Kayne is a disability rights advocate, broadcaster, and contributor to The European magazine. He describes the effort required to navigate websites as someone with cerebral palsy. He explains how the user interface <a href="https://the-european.eu/story-53902/this-one-digital-glitch-is-pushing-disabled-people-to-breaking-point.html">is often poorly designed</a> for adaptive devices, and he worries his equipment won’t respond correctly. After carefully navigating each page, he is suddenly logged out. In a moment, one timed form can erase hours of work, and it’s not just a matter of inconvenience. A single failed attempt can delay support or cause him to miss appointments.</p>

<p>Motor impairments can <strong>slow input speed</strong>, making it appear the user is not at their computer. As such, people who experience stiffness, hand tremors, coordination challenges, involuntary movements, or muscle weakness are disproportionately affected by session timeouts. According to the DWP Accessibility Manual, it <a href="https://accessibility-manual.dwp.gov.uk/tools-and-resources/basic-accessibility-checks/10-session-timeouts-impact-on-users">can take multiple attempts</a> for adaptive technology to register input, slowing users down considerably. Even if they receive a warning, they may not be able to act fast enough to prove they are still active.</p>

<h3 id="cognitive-impairments-and-processing-time">Cognitive Impairments and Processing Time</h3>

<p>Session timeouts can also create accessibility barriers for those with various types of cognitive differences. Strict timeouts can create undue pressure that assumes everyone processes information at the same speed. Users may appear inactive when they are actually reading, thinking, or processing.</p>

<p>Cognitive differences encompass a wide range of experiences, including neurodivergences like autism and ADHD, developmental disabilities like Down syndrome, and learning disabilities like dyslexia. Many people are born with cognitive differences. In fact, an <a href="https://www.hanoversearch.com/blog/inclusive-recruitment-a-focus-on-neurodiverse-talent/.">estimated 20% of people are</a> neurodivergent, making up a large portion of any website’s audience. Others acquire cognitive disabilities later in life through traumatic brain injury or conditions like dementia.</p>

<p>People with cognitive disabilities often need more time to complete online tasks &mdash; not because of any deficit, but because they process information differently. Design choices that work well for neurotypical users can create unnecessary obstacles for people with ADHD, dyslexia, autism, or memory-related conditions.</p>

<p>Invisible session timeouts are particularly problematic for people who experience memory loss, language processing differences, or <strong>time blindness</strong>. For example, neurodivergent technology leader Kate Carruthers says ADHD <a href="https://katecarruthers.com/life-with-adhd-time-blindness-or-why-i-lose-hours-not-just-my-keys/">has affected her perception</a> of time. She has time blindness and can’t reliably track how much time has passed, making estimates unhelpful.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aWhen%20websites%20depend%20on%20users%20estimating%20remaining%20time%20before%20a%20session%20expires,%20they%20quietly%20exclude%20people%20%e2%80%94%20not%20just%20those%20with%20formal%20ADHD%20diagnoses,%20but%20anyone%20who%20experiences%20time%20differently%20or%20processes%20information%20at%20a%20different%20pace.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fsession-timeouts-accessibility-barrier-authentication-design%2f">
      
When websites depend on users estimating remaining time before a session expires, they quietly exclude people — not just those with formal ADHD diagnoses, but anyone who experiences time differently or processes information at a different pace.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h3 id="vision-impairments-and-screen-reader-navigation-overhead">Vision Impairments and Screen Reader Navigation Overhead</h3>

<p>Since blind or low-vision users cannot visually scan a page to find what they need, they must listen to links, headings, and form fields, which is inherently <strong>more time-consuming</strong>. More than <a href="https://int.livhospital.com/complete-top-5-reasons-for-vision-loss-worldwide/">43 million people worldwide</a> are affected by blindness, while 295 million have moderate to severe vision impairment, which makes this a significant accessibility concern for any global-facing website.</p>

<p>As a result, these users’ sessions may expire even if they are active. <strong>Live timers and 30-second warnings do little to help</strong>, as they are not built with screen readers in mind.</p>

<p>Bogdan Cerovac, a web developer passionate about digital accessibility, experienced this firsthand. The countdown timer informed him how long he had left before being logged out due to inactivity. By all accounts, it worked fine. However, he describes the <a href="https://cerovac.com/a11y/2025/07/countdowns-and-timers-forgotten-detail-that-can-make-your-users-really-hate-your-product/">screen reader experience as horrible</a>, as it notified him of the remaining time every single second. He couldn’t navigate the page because he was spammed by constant status messages.</p>

<h2 id="common-timeout-patterns-that-fail-accessibility-requirements">Common Timeout Patterns That Fail Accessibility Requirements</h2>

<p>According to the National Institute of Standards and Technology, <a href="https://pages.nist.gov/800-63-4/sp800-63b/session/">session management is preferable</a> to continually preserving credentials, which would incentivize users to create authentication workarounds that could threaten security. However, several common timeout patterns fail to meet modern standards for session timeout accessibility.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="480"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png"
			
			sizes="100vw"
			alt="A session expired window with a “Back to main page” button."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://github.com/alfio-event/alf.io/issues/903'>princekwame</a>. (<a href='https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/1-timeout-pattern-fail-accessibility.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="silent-timeouts-and-insufficient-warnings">Silent Timeouts and Insufficient Warnings</h3>

<p>Many websites either provide no warning before logging users out, or they display a brief, seconds-long pop-up that appears too late to be actionable. For users who navigate via screen reader, these warnings may not be announced in time. For those with motor impairments, a 30-second countdown may not provide enough time to respond.</p>

<p>Let’s consider the Consular Electronic Application Center’s DS-260 page, which is used to apply for or renew U.S. nonimmigrant visas. If an application <a href="https://travel.state.gov/content/travel/en/us-visas/visa-information-resources/forms/online-immigrant-visa-forms/ds-260-faqs.html">is idle for around 20 minutes</a>, it will log the user off without warning. The FAQ page only provides an approximate time estimate. Someone’s work only saves when they complete the page, so they may lose significant progress.</p>

<h3 id="nonextendable-sessions">Nonextendable Sessions</h3>

<p>An abrupt “session expired” message is frustrating even for individuals without disabilities. If there is no option to continue, users are forced to log back in and restart their work, wasting time and energy.</p>

<h3 id="form-data-loss-on-expiration">Form Data Loss on Expiration</h3>

<p>Unless the website automatically saves progress, visitors will lose everything when the session expires. For someone with disabilities, this does not simply waste time. It can make their day immeasurably harder. Imagine spending an hour on a service request, job application, or purchase order only for all progress to be completely erased with little to no warning.</p>

<h2 id="design-patterns-that-balance-security-and-accessibility">Design Patterns That Balance Security and Accessibility</h2>

<p>Inconsistent timeout periods and a lack of warnings lead to the sudden, unexpected loss of all unsaved work. For long, complex forms, like the DS-260, a poor user experience is extremely frustrating. In comparison, the United Kingdom’s application for pension credit is highly accessible. It warns users <a href="https://design-system.dwp.gov.uk/patterns/manage-a-session-timeout">at least two minutes</a> in advance and allows them to extend the session. It meets level AA of the WCAG 2.2 success criteria, indicating its accessibility.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png"
			
			sizes="100vw"
			alt="A tab session expired window with a refresh button."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://experienceleaguecommunities.adobe.com/adobe-workfront-23/pop-up-message-saying-session-has-expired-129862'>Experience League</a>. (<a href='https://files.smashing.media/articles/session-timeouts-accessibility-barrier-authentication-design/2-timeout-pattern-accessibility.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>People with disabilities are disproportionately affected by the unintended consequences of poor session management. Thankfully, session timeouts’ inaccessibility is not a matter of fact. With a few small changes, web professionals can significantly improve their website’s accessibility.</p>

<h3 id="advance-warning-systems-and-extend-functionality">Advance Warning Systems and Extend Functionality</h3>

<p>Websites should clearly state the time limit’s existence and duration before the session starts. For instance, if someone is filling out a bank form, the first page should exist solely to inform them that it has a 60-minute time limit. A live counter that updates regularly can help them track how much time remains. Also, users should be told whether they can adjust the session timeout length.</p>

<h3 id="activity-based-vs-absolute-timeouts">Activity-Based vs. Absolute Timeouts</h3>

<p>An activity-based timeout logs users out due to inactivity, while an absolute timeout logs them out regardless of activity. For an office, a 24-hour absolute timer might make sense, since workers only need to log in when they get to work. As long as users know when their session will expire, the latter is more accessible than the former.</p>

<h3 id="auto-save-and-progress-preservation">Auto-Save and Progress Preservation</h3>

<p>Cookies, localStorage, and sessionStorage are temporary, client-side storage mechanisms that allow web applications to store data for the duration of a single browser session. They are powerful, lightweight tools. Web developers can use them to automatically save users’ progress at frequent intervals, ensuring data is restored upon reauthentication.</p>

<p>This way, even if someone’s session expires by accident, they are not penalized. Once they log back in, they can finish filling out their credit card details or pick up where they left off with an online form.</p>

<h2 id="testing-and-wcag-compliance-considerations">Testing and WCAG Compliance Considerations</h2>

<p>The Web Content Accessibility Guidelines (WCAG) is a collection of internationally accepted internet accessibility standards published by the W3C. It acts as the arbiter of session timeout accessibility. Web developers should pay special attention to <strong>Guideline 2.9.2</strong>, <a href="https://www.w3.org/TR/wcag-3.0/#adequate-time">which outlines best practices for adequate</a> time.</p>

<p>The <strong>timeout adjustable mechanism</strong> should extend the time limit before the session expires or allow it to be turned off completely. For the former option, a dialog box should appear asking users if they need more time, allowing them to continue with one click. The WC3 notes that exceptions exist.</p>

<p>For example, when a website conducts a live ticket sale, users can only hold tickets in their carts for 10 minutes to give others a chance to purchase limited inventory. Alternatively, session timeouts may be necessary on shared computers. If librarians allowed everyone to stay logged in instead of automatically signing them out overnight, they would risk security issues.</p>

<p>Some processes should not have time limits at all. When browsing social media, reading a news article, or searching for items on an e-commerce site, there is no reason a session should expire within an arbitrary time frame. Meanwhile, in a timed exam, it may be necessary. However, in this case, administrators can extend time limits for students with disabilities.</p>

<p>When web developers make session management accessible, they are not catering to a small group. Pew Research Center data shows <a href="https://www.pewresearch.org/short-reads/2021/09/10/americans-with-disabilities-less-likely-than-those-without-to-own-some-digital-devices/">62% of adults with disabilities</a> own a computer. 72% have high-speed home internet. These figures do not differ statistically from the percentage of non-disabled adults who say the same.</p>

<h2 id="overcoming-the-session-timeout-accessibility-barrier">Overcoming the Session Timeout Accessibility Barrier</h2>

<p>The WCAG provides additional resources that web developers can review to understand session management accessibility better:</p>

<ul>
<li><a href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-required-behaviors.html">WCAG SC 2.2.1 Timing Adjustable</a></li>
<li><a href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-server-timeout.html">WCAG SC 2.2.5 Re-authenticating</a></li>
<li><a href="https://www.w3.org/WAI/WCAG22/Understanding/timeouts.html">WCAG SC 2.2.6 Timeouts</a></li>
</ul>

<p>In addition to following these guidelines, there is a wealth of information from leading educational institutions, authorities on open web technologies, and government agencies. They provide a great starting place for those with intermediate web development knowledge.</p>

<p>Web professionals should consider the following resources to learn more about tools and techniques they can use to make session management more accessible:</p>

<ul>
<li><a href="https://accessibility.huit.harvard.edu/technique-session-extension">Harvard University’s Session Extension Technique</a></li>
<li><a href="https://accessibility-manual.dwp.gov.uk/tools-and-resources/basic-accessibility-checks/10-session-timeouts-how-to-test">DWP Accessibility Manual: How to test session timeouts</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage">Window: sessionStorage property</a></li>
</ul>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aSession%20timeout%20accessibility%20is%20not%20only%20an%20industry%20best%20practice%20but%20an%20ethical%20web%20development%20standard.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fsession-timeouts-accessibility-barrier-authentication-design%2f">
      
Session timeout accessibility is not only an industry best practice but an ethical web development standard.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>Those who prioritize it will appeal to a wider audience, <strong>improve usability</strong>, and attract more website visitors and longer sessions.</p>

<p>The main takeaway is that a website with inaccessible session timeouts sends a clear message that it doesn’t value the user’s time or effort, a problem that creates significant barriers for people with disabilities. However, this is a solvable issue. With a few simple changes, such as providing session extension warnings and auto-saving progress, web developers can build a more considerate, accessible, and respectful internet for everyone.</p>

<h3 id="further-reading-on-smashingmag">Further Reading On SmashingMag</h3>

<ul>
<li>“<a href="https://www.smashingmagazine.com/2025/04/what-mean-site-be-keyboard-navigable/">What Does It Really Mean For A Site To Be Keyboard Navigable</a>”, Eleanor Hecks</li>
<li>“<a href="https://www.smashingmagazine.com/2025/06/designing-for-neurodiversity/">Designing For Neurodiversity</a>”, Vitaly Friedman</li>
<li>“<a href="https://www.smashingmagazine.com/2025/06/what-i-wish-someone-told-me-aria/">What I Wish Someone Told Me When I Was Getting Into ARIA</a>”, Eric Bailey</li>
<li>“<a href="https://www.smashingmagazine.com/2024/02/web-designer-accessibility-advocacy-toolkit/">A Designer’s Accessibility Advocacy Toolkit</a>”, Yichan Wang</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Vitaly Friedman</author><title>How To Improve UX In Legacy Systems</title><link>https://www.smashingmagazine.com/2026/04/legacy-systems/</link><pubDate>Fri, 10 Apr 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/legacy-systems/</guid><description>Practical guidelines for driving UX impact in organizations with legacy systems and broken processes. Brought to you by &lt;a href="https://measure-ux.com/">Measuring UX Impact&lt;/a>, &lt;strong>friendly video course on UX&lt;/strong> and design patterns by Vitaly.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/legacy-systems/" />
              <title>How To Improve UX In Legacy Systems</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>How To Improve UX In Legacy Systems</h1>
                  
                    
                    <address>Vitaly Friedman</address>
                  
                  <time datetime="2026-04-10T13:00:00&#43;00:00" class="op-published">2026-04-10T13:00:00+00:00</time>
                  <time datetime="2026-04-10T13:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Imagine that you need to improve the <strong>UX of a legacy system</strong>. A system that has been silently working in the background for almost a decade. It’s slow, half-broken, unreliable, and severely outdated &mdash; a sort of “black box” that everyone relies upon, but nobody really knows what’s happening under the hood.</p>

<p><strong>Where would you even start?</strong> Legacy stories are often daunting, adventurous, and utterly confusing. They represent a mixture of fast-paced decisions, quick fixes, and accumulating UX debt.</p>

<p>There is no one-fits-all solution to tackle them, but there are ways to make progress, albeit slowly, while respecting the <strong>needs and concerns</strong> of users and stakeholders. Now, let’s see how we can do just that.</p>

<h2 id="the-actual-challenges-of-legacy-ux">The Actual Challenges Of Legacy UX</h2>

<p>It might feel that legacy products are waiting to be deprecated at any moment. But in reality, they are often <strong>critical for daily operations</strong>. Many legacy systems are heavily customized for the needs of the organization, often built externally by a supplier and often without rigorous usability testing.</p>

<p>It’s common for enterprises to spend <strong>40–60% of their time</strong> managing, maintaining, and fine-tuning legacy systems. They are essential, critical &mdash; but also very expensive to keep alive.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="500"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg"
			
			sizes="100vw"
			alt="A detailed electronic medical record (EMR) screen for an ophthalmology patient, displaying their visit summary including chief complaint, past medical history, medications, and optical test results."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Cash registers are frequently designed once and rarely touched again. Replacing them across 1000s of stores is remarkably expensive. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/1-cash-register.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="1-legacy-must-co-exist-with-products-built-around-them">1. Legacy Must Co-Exist With Products Built Around Them</h3>

<p>Running in a <strong>broken, decade-old ecosystem</strong>, legacy still works, yet nobody knows exactly how and why it still does. People who have set it up originally probably have left the company years ago, leaving a lot of unknowns and poorly documented work behind.</p>

<p>With them come <strong>fragmented and inconsistent design choices</strong>, stuck in old versions of old design tools that have long been discontinued.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg"
			
			sizes="100vw"
			alt="A detailed electronic medical record (EMR) screen for an ophthalmology patient, displaying their visit summary including chief complaint, past medical history, medications, and optical test results."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      One of many: a legacy system used by EMR systems in healthcare. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/2-legacy-system-healthcare.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Still, legacy systems must neatly <strong>co-exist within modern digital products</strong> built around them. In many ways, the end result resembles a Frankenstein &mdash; many bits and pieces glued together, often a mixture of modern UIs and painfully slow and barely usable fragments here and there &mdash; especially when it comes to validation, error messages, or processing data.</p>

<h3 id="2-legacy-systems-make-or-break-ux">2. Legacy Systems Make or Break UX</h3>

<p>Once you sprinkle a little bit of quick bugfixing, unresolved business logic issues, and unresponsive layouts, you have a <strong>truly frustrating experience</strong>, despite the enormous effort put into the rest of the application.</p>

<p>If one single step in a complex user flow feels <strong>utterly broken and confusing</strong>, then the entire product appears to be broken as well, despite the incredible efforts the design teams have put together in the rest of the product.</p>

<p>Well, eventually, you’ll have to tackle legacy. And that’s where we need to consider available options for your <strong>UX roadmap</strong>.</p>

<h2 id="ux-roadmap-for-tackling-legacy-projects">UX Roadmap For Tackling Legacy Projects</h2>

<h3 id="don-t-dismiss-legacy-build-on-existing-knowledge">Don’t Dismiss Legacy: Build on Existing Knowledge</h3>

<p>Because legacy systems are often big unknowns that cause a lot of frustration to everyone, from stakeholders to designers to engineers to users. The initial thought might be to remove it entirely and <strong>redesign it from scratch</strong>, but in practice, that’s not always feasible. Big-bang-redesign is a <strong>remarkably expensive</strong> and very time-consuming endeavor.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="467"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png"
			
			sizes="100vw"
			alt="An overview of questions to ask key stakeholders to understand the legacy system, its key features, workflows, and priorities."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      First things first: map legacy features, workflows, and priorities as a part of discovery. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/3-questions-ask-legacy-system.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Legacy systems <strong>hold valuable knowledge</strong> about the business practice, and they do work &mdash; and a new system must perfectly match years of knowledge and customization done behind the scenes. That’s why stakeholders and users (in B2B) are typically <strong>heavily attached to legacy systems</strong>, despite all their well-known drawbacks and pains.</p>

<p>To most people, because such systems are at the very heart of the business, operating on them seems to be extremely risky and will require a significant amount of <strong>caution and preparation</strong>. Corporate users don’t want big risks. So instead of dismissing legacy entirely, we might start by gathering existing knowledge first.</p>

<h3 id="map-existing-workflows-and-dependencies">Map Existing Workflows and Dependencies</h3>

<p>The best place to start is to understand how and where exactly legacy systems are in use. You might discover that some bits of the legacy systems are used all over the place &mdash; not only in your product, but also in business dashboards, by external agencies, and by other companies that integrate your product into their services.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://creative.navy/case-studies/ux-ui-design-technical-software-users">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="464"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg"
			
			sizes="100vw"
			alt="An overview of users’ behavior, frequency of use for features, and the complexity of the flow."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Testing sessions to understand where users struggle, and how difficult tasks are to complete for them. From a fantastic case study by <a href='https://creative.navy/case-studies/ux-ui-design-technical-software-users'>CreativeNavy</a>. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/4-testing-session.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Very often, legacy systems have dependencies on their own, integrating other legacy systems that might be much older and in a much worse state. Chances are high that you might not even consider them in the big-bang redesign &mdash; mostly because you don’t know just <strong>how many black boxes</strong> are in there.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://creative.navy/case-studies/ux-ui-design-technical-software-users">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg"
			
			sizes="100vw"
			alt="An overview of users’ behavior, frequency of use for features, and the complexity of the flow."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Map existing workflows by tracking user behavior, frequency, desired outcome, complexity, patterns, and user needs. From a fantastic case study by <a href='https://creative.navy/case-studies/ux-ui-design-technical-software-users'>CreativeNavy</a>. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/5-map-workflows-user-behavior.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Set up a board to <a href="https://www.linkedin.com/pulse/breaking-down-complexity-task-analysis-ux-vitaly-friedman-sjt4f/">document current workflows and dependencies</a> to get a better idea of how everything works together. Include stakeholders, and <strong>involve heavy users in the conversation</strong>. You won’t be able to open the black box, but you can still shed some light on it from the perspectives of different people who may be relying on legacy for their work.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="375"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png"
			
			sizes="100vw"
			alt="Prioritizing migrated features and features by impact and urgency."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Priorities matter. You won’t need to migrate everything, but you need to discover critical parts that must be migrated. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/6-prioritizing-migrated-features.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Once you’ve done that, set up a meeting to <strong>reflect to users and stakeholders</strong> what you have discovered. You will need to build confidence and trust that you aren’t missing anything important, and you need to visualize the dependencies that a legacy tool has to everyone involved.</p>

<p>Replacing a legacy system is <strong>never about legacy alone</strong>. It’s about the dependencies and workflows that rely on it, too.</p>

<h3 id="choose-your-ux-migration-strategy">Choose Your UX Migration Strategy</h3>

<p>Once you have a <strong>big picture</strong> in front of you, you need to decide on what to do next. Big-bang relaunch or a small upgrade? Which approach would work best? You might <strong>consider the following options</strong> before you decide on how to proceed:</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="804"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg"
			
			sizes="100vw"
			alt="A diagram titled ‘Legacy Migration Strategies’, showing five different approaches to migrating from an old system to a new system using arrows and descriptions."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The different legacy migration strategies. You never migrate just a system &mdash; you also migrate workflows, habits, processes, and ways of working. (<a href='https://files.smashing.media/articles/how-improve-ux-legacy-systems/7-legacy-migration-strategies.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<ul>
<li><strong>Big-bang relaunch</strong>.<br />
Sometimes the only available option, but it’s very risky, expensive, and can take years, without any improvements to the existing setup in the meantime.</li>
<li><strong>Incremental migration</strong>.<br />
Slowly retire pieces of legacy by replacing small bits with new designs. This offers quicker wins in a <code>Frankenstein</code> style but can make the system unstable.</li>
<li><strong>Parallel migration</strong>.<br />
Run a public beta of the replacement alongside the legacy system to involve users in shaping the new design. Retire the old system when the new one is stable, but be prepared for the cost of maintaining both.</li>
<li><strong>Incremental parallel migration</strong>.<br />
List all business requirements the legacy system fulfills, then build a new product to meet them reliably, matching the old system from day one. Test early with power users, possibly offering an option to switch systems until the old one is fully retired.</li>
<li><strong>Legacy UI upgrade + public beta</strong>.<br />
Perform low-risk fine-tuning on the legacy system to align UX, while incrementally building a new system with a public beta. This yields quicker and long-term wins, ideal for fast results.</li>
</ul>

<p>Replacing a system that has been carefully refined and heavily customized for a decade is a monolithic task. You can’t just rebuild something from scratch within a few weeks that others have been working on for years.</p>

<p>So whenever possible, try to <strong>increment gradually</strong>, involving users and stakeholders and engineers along the way &mdash; and with enough <strong>buffer time</strong> and <strong>continuous feedback loops</strong>.</p>

<h2 id="wrapping-up">Wrapping Up</h2>

<p>With legacy projects, failure is often not an option. You’re migrating not just components, but <strong>users and workflows</strong>. Because you operate on the <strong>very heart of the business</strong>, expect a lot of attention, skepticism, doubts, fears, and concerns. So build <strong>strong relationships</strong> with key stakeholders and key users and share ownership with them. You will need their support and their buy-in to bring your UX work in action.</p>

<p>Stakeholders will request old and new features. They will focus on <strong>edge cases, exceptions, and tiny tasks</strong>. They will question your decisions. They will send mixed signals and change their opinions. And they will expect the new system to run flawlessly from day one.</p>

<p>And the best thing you can do is to work with them throughout the entire design process, right from the very beginning. Run a successful pilot project to <strong>build trust</strong>. Report your progress repeatedly. And account for <strong>intense phases of rigorous testing</strong> with legacy users.</p>

<p>Revamping a legacy system is a tough challenge. But there is rarely any project that can have so much impact on such a scale. Roll up your sleeves and get through it successfully, and your team will be <strong>remembered, respected, and rewarded</strong> for years to come.</p>

<h2 id="meet-measure-ux-amp-design-impact">Meet “Measure UX &amp; Design Impact”</h2>

<p>Meet <a href="https://measure-ux.com"><strong>Measure UX &amp; Design Impact</strong></a>, Vitaly’s practical guide <strong>for designers and UX leads</strong> on how to track and visualize the incredible <strong>impact</strong> of your UX work on business &mdash; with a <a href="https://smashingconf.com/online-workshops/workshops/vitaly-friedman-impact-design/">live UX training</a> later this year. <a href="https://measure-ux.com/">Jump to details</a>.</p>

<figure class="break-out" style="margin-bottom:0;padding-bottom:0" class="article__image">
    <a href="https://measure-ux.com/" title="How To Measure UX and Design Impact, with Vitaly Friedman">
    <img width="900" height="466" style="border-radius: 11px" src="https://files.smashing.media/articles/ux-metrics-video-course-release/measure-ux-and-design-impact-course.png" alt="How to Measure UX and Design Impact, with Vitaly Friedman.">
    </a><figcaption class="op-vertical-bottom">Meet <a href="https://measure-ux.com/">Measure UX and Design Impact</a>, a practical video course for designers and UX leads.</figcaption>
</figure>

<div class="book-cta__inverted"><div class="book-cta" data-handler="ContentTabs" data-mq="(max-width: 480px)"><nav class="content-tabs content-tabs--books"><ul><li class="content-tab"><a href="#"><button class="btn btn--small btn--white btn--white--bordered">
Video + UX Training</button></a></li><li class="content-tab"><a href="#"><button class="btn btn--small btn--white btn--white--bordered">Video only</button></a></li></ul></nav><div class="book-cta__col book-cta__hardcover content-tab--content"><h3 class="book-cta__title"><span>Video + UX Training</span></h3><span class="book-cta__price"><span><span class=""><span class="currency-sign">$</span>&nbsp;<span>495<sup class="sup">.00</sup></span></span> <span class="book-cta__price--old"><span class="currency-sign">$</span>&nbsp;<span>799<sup class="sup">.00</sup></span></span></span></span>
<a href="https://smart-interface-design-patterns.thinkific.com/enroll/3081832?price_id=3951439" class="btn btn--full btn--medium btn--text-shadow">
Get Video + UX Training<div></div></a><p class="book-cta__desc">25 video lessons (8h) + <a href="https://smashingconf.com/online-workshops/workshops/vitaly-friedman-impact-design/">Live UX Training</a>.<br>100 days money-back-guarantee.</p></div><div class="book-cta__col book-cta__ebook content-tab--content"><h3 class="book-cta__title"><span>Video only</span></h3><div data-audience="anonymous free supporter" data-remove="true"><span class="book-cta__price" data-handler="PriceTag"><span><span class=""><span class="currency-sign">$</span>&nbsp;<span>250<sup class="sup">.00</sup></span></span><span class="book-cta__price--old"><span class="currency-sign">$</span>&nbsp;<span>350<sup class="sup">.00</sup></span></span></span></div>
<a href="https://smart-interface-design-patterns.thinkific.com/enroll/3081832?price_id=3950630" class="btn btn--full btn--medium btn--text-shadow">
Get the video course<div></div></a><p class="book-cta__desc" data-audience="anonymous free supporter" data-remove="true">25 video lessons (8h). Updated yearly.<br>Also available as a <a href="https://smart-interface-design-patterns.thinkific.com/enroll/3570306?price_id=4503439">UX Bundle with 3 video courses.</a></p></div><span></span></div></div>

<h2 id="useful-resources">Useful Resources</h2>

<ul>
<li><a href="https://blog.scottlogic.com/2021/07/16/UX-Migration-Strategy.html">UX Migration Strategy For Legacy Apps</a>, by Tamara Chehayeb Makarem</li>
<li><a href="https://uxdesign.cc/to-improve-legacy-systems-sometimes-you-need-to-take-a-restoration-mindset-d72f7b69442f?sk=v2%2F524df15a-3aca-48f6-adff-98588a64bda0">How To Improve Legacy Systems</a>, by Christopher Wong</li>
<li><a href="https://medium.com/enterprise-ux/designing-with-legacy-d0e4bef0d9ea">Designing With Legacy</a>, by Peter Zalman</li>
<li><a href="https://medium.com/design-bootcamp/redesigning-a-legacy-system-for-a-large-organisation-5089429f7e2e">Redesigning A Large Legacy System</a>, by Pawel Halicki</li>
<li><a href="https://understandlegacycode.com">How To Manage Legacy Code</a>, by Nicolas Carlo</li>
<li><a href="https://www.koruux.com/blog/transforming-legacy-system/">How To Transform Legacy</a>, by Bansi Mehta</li>
<li><a href="https://www.debt.design/">Design Debt 101</a>, by Alicja Suska</li>
<li><a href="https://www.linkedin.com/posts/vitalyfriedman_ux-enterprise-activity-7128696386841120769-VcPD">Practical Guide To Enterprise UX</a>, by Yours Truly</li>
<li><a href="https://www.linkedin.com/posts/vitalyfriedman_ux-design-healthcare-activity-7124347175395815424-Q8Xn">Healthcare UX Design Playbook</a>, by Yours Truly</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</title><link>https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/</link><pubDate>Tue, 07 Apr 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/</guid><description>Designing for agentic AI requires attention to both the system’s behavior and the transparency of its actions. Between the black box and the data dump lies a more thoughtful approach. Victor Yocco explores how to map decision points and reveal the right moments to build trust through clarity, not noise.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/" />
              <title>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-04-07T10:00:00&#43;00:00" class="op-published">2026-04-07T10:00:00+00:00</time>
                  <time datetime="2026-04-07T10:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Designing for autonomous agents presents a unique frustration. We hand a complex task to an AI, it vanishes for 30 seconds (or 30 minutes), and then it returns with a result. We stare at the screen. Did it work? Did it hallucinate? Did it check the compliance database or skip that step?</p>

<p>We typically respond to this anxiety with one of two extremes. We either keep the system a <strong>Black Box</strong>, hiding everything to maintain simplicity, or we panic and provide a <strong>Data Dump</strong>, streaming every log line and API call to the user.</p>

<p>Neither approach directly addresses the nuance needed to provide users with the ideal level of transparency.</p>

<p>The <em>Black Box</em> leaves users feeling powerless. The <em>Data Dump</em> creates notification blindness, destroying the efficiency the agent promised to provide. Users ignore the constant stream of information until something breaks, at which point they lack the context to fix it.</p>

<p>We need an organized way to find the balance. In my previous article, “<a href="https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/">Designing For Agentic AI</a>”, we looked at interface elements that build trust, like showing the AI’s intended action beforehand (Intent Previews) and giving users control over how much the AI does on its own (Autonomy Dials). But knowing which elements to use is only part of the challenge. The harder question for designers is knowing when to use them.</p>

<p>How do you know which specific moment in a 30-second workflow requires an Intent Preview and which can be handled with a simple log entry?</p>

<p>This article provides a method to answer that question. We will walk through the <strong>Decision Node Audit</strong>. This process gets designers and engineers in the same room to map backend logic to the user interface. You will learn how to pinpoint the exact moments a user needs an update on what the AI is doing. We will also cover an <strong>Impact/Risk matrix</strong> that will help to prioritize which decision nodes to display and any associated design pattern to pair with that decision.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="transparency-moments-a-case-study-example">Transparency Moments: A Case Study Example</h2>

<p>Consider Meridian (not real name), an insurance company that uses an agentic AI to process initial accident claims. The user uploads photos of vehicle damage and the police report. The agent then disappears for a minute before returning with a risk assessment and a proposed payout range.</p>

<p>Initially, Meridian’s interface simply showed Calculating Claim Status. Users grew frustrated. They had submitted several detailed documents and felt uncertain about whether the AI had even reviewed the police report, which contained mitigating circumstances. The Black Box created distrust.</p>

<p>To fix this, the design team conducted a Decision Node Audit. They found that the AI performed three distinct, probability-based steps, with numerous smaller steps embedded:</p>

<ul>
<li><strong>Image Analysis</strong><br />
The agent compared the damage photos against a database of typical car crash scenarios to estimate the repair cost. This involved a confidence score.</li>
<li><strong>Textual Review</strong><br />
It scanned the police report for keywords that affect liability (e.g., fault, weather conditions, sobriety). This involved a probability assessment of legal standing.</li>
<li><strong>Policy Cross Reference</strong><br />
It matched the claim details against the user’s specific policy terms, searching for exceptions or coverage limits. This also involved probabilistic matching.</li>
</ul>

<p>The team turned these steps into transparency moments. The interface sequence was updated to:</p>

<ul>
<li><strong>Assessing Damage Photos</strong>: Comparing against 500 vehicle impact profiles.</li>
<li><strong>Reviewing Police Report</strong>: Analyzing liability keywords and legal precedent.</li>
<li><strong>Verifying Policy Coverage</strong>: Checking for specific exclusions in your plan.</li>
</ul>

<p>The system still took the same amount of time, but the explicit communication about the agent’s internal workings restored user confidence. Users understood that the AI was performing the complex task it was designed for, and they knew exactly where to focus their attention if the final assessment seemed inaccurate. This design choice transformed a moment of anxiety into a moment of connection with the user.</p>

<h3 id="applying-the-impact-risk-matrix-what-we-chose-to-hide">Applying the Impact/Risk Matrix: What We Chose to Hide</h3>

<p>Most AI experiences have no shortage of events and decision nodes that could potentially be displayed during processing. One of the most critical outcomes of the audit was to decide what to keep invisible. In the Meridian example, the backend logs generated 50+ events per claim. We could have defaulted to displaying each event as they were processed as part of the UI. Instead, we applied the risk matrix to prune them:</p>

<ul>
<li><em>Log Event:</em> Pinging Server West-2 for redundancy check.

<ul>
<li><em>Filter Verdict:</em> <strong>Hide.</strong> (Low Stakes, High Technicality).</li>
</ul></li>
<li><em>Log Event:</em> Comparing repair estimate to BlueBook value.

<ul>
<li><em>Filter Verdict:</em> <strong>Show.</strong> (High Stakes, impacts user’s payout).</li>
</ul></li>
</ul>

<p>By cutting out the unnecessary details, the important information &mdash; like the coverage verification &mdash; was more impactful. We created an open interface and designed an open <em>experience</em>.</p>

<p>This approach uses the idea that people feel better about a service when they can see the work being done. By showing the specific steps (Assessing, Reviewing, Verifying), we changed a 30-second wait from a time of worry (<em>“Is it broken?”</em>) to a time of feeling like something valuable is being created (<em>“It’s thinking”</em>).</p>

<p>Let’s now take a closer look at how we can review the decision-making process in our products to identify key moments that require clear information.</p>

<div class="partners__lead-place"></div>

<h2 id="the-decision-node-audit">The Decision Node Audit</h2>

<p>Transparency fails when we treat it as a style choice rather than a functional requirement. We have a tendency to ask, <em>“What should the UI look like?”</em> before we ask, <em>“What is the agent actually deciding?”</em></p>

<p>The Decision Node Audit is a straightforward way to make AI systems easier to understand. It works by carefully mapping out the system’s internal process. The main goal is to find and clearly define the exact moments where the system stops following its set rules and instead makes a choice based on chance or estimation. By mapping this structure, creators can show these points of uncertainty directly to the people using the system. This changes system updates from being vague statements to specific, reliable reports about how the AI reached its conclusion.</p>

<p>In addition to the insurance case study above, I recently worked with a team building a procurement agent. The system reviewed vendor contracts and flagged risks. Originally, the screen displayed a simple progress bar: <em>“Reviewing contracts.”</em> Users hated it. Our research indicated they felt anxious about the legal implications of a missing clause.</p>

<p>We fixed this by conducting a Decision Node Audit. I’ve included a step-by-step checklist for conducting this audit at the conclusion of this article.</p>

<p>We ran a session with the engineers and outlined how the system works. We identified “Decision Points” &mdash; moments where the AI had to choose between two good options.</p>

<p>In standard computer programs, the process is clear: if A happens, then B will always happen. In AI systems, the process is often based on chance. The AI thinks A is probably the best choice, but it might only be 65% certain.</p>

<p>In the contract system, we found a moment when the AI checked the liability terms against our company rules. It was rarely a perfect match. The AI had to decide if a 90% match was good enough. This was a key decision point.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png"
			
			sizes="100vw"
			alt="The diagram shows how to connect a hidden system decision based on probability (an Ambiguity Point) to a visible moment of explanation for the user (a Transparency Moment)."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 1:</strong> This diagram shows how to connect a hidden system decision based on probability (an Ambiguity Point) to a visible moment of explanation for the user (a Transparency Moment). (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Once we identified this node, we exposed it to the user. Instead of <em>“Reviewing contracts,”</em> the interface updated to say: <em>“Liability clause varies from standard template. Analyzing risk level.”</em></p>

<p>This specific update gave users confidence. They knew the agent checked the liability clause. They understood the reason for the delay and gained trust that the desired action was occurring on the back end. They also knew where to dig in deeper once the agent generated the contract.</p>

<p>To check how the AI makes decisions, you need to work closely with your engineers, product managers, business analysts, and key people who are making the choices (often hidden) that affect how the AI tool functions. Draw out the steps the tool takes. Mark every spot where the process changes direction because a probability is met. These are the places where you should focus on being more transparent.</p>

<p>As shown in Figure 2 below, the Decision Node Audit involves these steps:</p>

<ol>
<li><p><strong>Get the team together:</strong> Bring in the product owners, business analysts, designers, key decision-makers, and the engineers who built the AI. For example,</p>

<p>Think about a product team building an AI tool designed to review messy legal contracts. The team includes the UX designer, the product manager, the UX researcher, a practicing lawyer who acts as the subject-matter expert, and the backend engineer who wrote the text-analysis code.</p></li>

<li><p><strong>Draw the whole process:</strong> Document every step the AI takes, from the user’s first action to the final result.</p>

<p>The team stands at a whiteboard and sketches the entire sequence for a key workflow that involves the AI searching for a liability clause in a complex contract. The lawyer uploads a fifty-page PDF&nbsp;&rarr; The system converts the document into readable text.&nbsp;&rarr; The AI scans the pages for liability clauses.&nbsp;&rarr; The user waits.&nbsp;&rarr; Moments or minutes later, the tool highlights the found paragraphs in yellow on the user interface. They do this for many other workflows that the tool accommodates as well.</p></li>

<li><p><strong>Find where things are unclear:</strong> Look at the process map for any spot where the AI compares options or inputs that don’t have one perfect match.</p>

<p>The team looks at the whiteboard to spot the ambiguous steps. Converting an image to text follows strict rules. Finding a specific liability clause involves guesswork. Every firm writes these clauses differently, so the AI has to weigh multiple options and make a prediction instead of finding an exact word match.</p></li>

<li><p><strong>Identify the ‘best guess’ steps:</strong> For each unclear spot, check if the system uses a confidence score (for example, is it 85% sure?). These are the points where the AI makes a final choice.</p>

<p>The system has to guess (give a probability) which paragraph(s) closely resemble a standard liability clause. It assigns a confidence score to its best guess. That guess is a decision node. The interface needs to tell the lawyer it is highlighting a potential match, rather than stating it found the definitive clause.</p></li>

<li><p><strong>Examine the choice:</strong> For each choice point, figure out the specific internal math or comparison being done (e.g., matching a part of a contract to a policy or comparing a picture of a broken car to a library of damaged car photos).</p>

<p>The engineer explains that the system compares the various paragraphs against a database of standard liability clauses from past firm cases. It calculates a text similarity score to decide on a match based on probabilities.</p></li>

<li><p><strong>Write clear explanations:</strong> Create messages for the user that clearly describe the specific internal action happening when the AI makes a choice.</p>

<p>The content designer writes a specific message for this exact moment. The text reads: <em>Comparing document text to standard firm clauses to identify potential liability risks.</em></p></li>

<li><p><strong>Update the screen:</strong> Put these new, clear explanations into the user interface, replacing vague messages like <em>“Reviewing contracts.”</em></p>

<p>The design team removes the generic Processing PDF loading spinner. They insert the new explanation into a status bar located right above the document viewer while the AI thinks.</p></li>

<li><p><strong>Check for Trust:</strong> Make sure the new screen messages give users a simple reason for any wait time or result, which should make them feel more confident and trusting.</p></li>
</ol>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png"
			
			sizes="100vw"
			alt="Comic where a product team maps the decision nodes of an AI legal tool to design transparent interface messages."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 2:</strong> A product team maps the decision nodes of an AI legal tool to design transparent interface messages. (Comic generated using Google Gemini/Nano Banana) (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="the-impact-risk-matrix">The Impact/Risk Matrix</h3>

<p>Once you look closely at the AI’s process, you’ll likely find many points where it makes a choice. An AI might make dozens of small choices for a single complex task. Showing them all creates too much unnecessary information. You need to group these choices.</p>

<p>You can use an <strong>Impact/Risk Matrix</strong> to sort these choices based on the types of action(s) the AI is taking. Here are examples of impact/risk matrices:</p>

<p>First, look for low-stakes and low-impact decisions.</p>

<p><strong>Low Stakes / Low Impact</strong></p>

<ul>
<li><em>Example:</em> Organizing a file structure or renaming a document.</li>
<li><em>Transparency Need:</em> Minimal. A subtle toast notification or a log entry suffices. Users can undo these actions easily.</li>
</ul>

<p>Then identify the high-stakes and high-impact decisions.</p>

<p><strong>High Stakes / High Impact</strong></p>

<ul>
<li><em>Example:</em> Rejecting a loan application or executing a stock trade.</li>
<li><em>Transparency Need:</em> High. These actions require Proof of Work. The system must demonstrate the rationale before or immediately as it acts.</li>
</ul>

<p>Consider a financial trading bot that treats all buy/sell orders the same. It executes a $5 trade with the same opacity as a $50,000 trade. Users might question whether the tool recognizes the potential impact of transparency on trading on a large dollar amount. They need the system to pause and show its work for the high-stakes trades. The solution is to  introduce a Reviewing Logic state for any transaction exceeding a specific dollar amount, allowing the user to see the factors driving the decision before execution.</p>

<h3 id="mapping-nodes-to-patterns-a-design-pattern-selection-rubric">Mapping Nodes to Patterns: A Design Pattern Selection Rubric</h3>

<p>Once you have identified your experience&rsquo;s key decision nodes, you must decide which UI pattern applies to each one you’ll display. In Designing For Agentic AI, we introduced patterns like the Intent Preview (for high-stakes control) and the Action Audit (for retrospective safety). The decisive factor in choosing between them is reversibility.</p>

<p>We filter every decision node through the impact matrix in order to assign the correct pattern:</p>

<p><strong>High Stakes &amp; Irreversible:</strong> These nodes require an Intent Preview. Because the user cannot easily undo the action (e.g., permanently deleting a database), the transparency moment must happen before execution. The system must pause, explain its intent, and require confirmation.</p>

<p><strong>High Stakes &amp; Reversible:</strong> These nodes can rely on the Action Audit &amp; Undo pattern. If the AI-powered sales agent moves a lead to a different pipeline, it can do so autonomously as long as it notifies the user and offers an immediate Undo button.</p>

<p>By strictly categorizing nodes this way, we avoid “alert fatigue.” We reserve the high-friction Intent Preview only for the truly irreversible moments, while relying on the Action Audit to maintain speed for everything else.</p>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th></th>
            <th>Reversible</th>
      <th>Irreversible</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Low Impact</strong></td>
            <td><strong>Type</strong>: Auto-Execute<br /><strong>UI</strong>: Passive Toast / Log<br /><em>Ex: Renaming a file</em></td>
      <td><strong>Type</strong>: Confirm<br /><strong>UI</strong>: Simple Undo option<br /><em>Ex: Archiving an email</em></td>
        </tr>
        <tr>
            <td><strong>High Impact</strong></td>
            <td><strong>Type</strong>: Review<br /><strong>UI</strong>: Notification + Review Trail<br /><em>Ex: Sending a draft to a client</em></td>
      <td><strong>Type</strong>: Intent preview<br /><strong>UI</strong>: Modal / Explicit Permission<br /><em>Ex: Deleting a server</em></td>
        </tr>
    </tbody>
</table>

<p><strong><em>Table 1:</em></strong> <em>The impact and reversibility matrix can then be used to map your moments of transparency to design patterns.</em></p>

<h3 id="qualitative-validation-the-wait-why-test">Qualitative Validation: “The Wait, Why?” Test</h3>

<p>You can identify potential nodes on a whiteboard, but you must validate them with human behavior. You need to verify whether your map matches the user’s mental model. I use a protocol called  the <strong>“Wait, Why?” Test</strong>.</p>

<p>Ask a user to watch the agent complete a task. Instruct them to speak aloud. Whenever they ask a question, <em>“Wait, why did it do that?”</em> or <em>“Is it stuck?”</em> or <em>“Did it hear me?”</em> &mdash; you mark a timestamp.</p>

<p>These questions signal user confusion. The user feels their control slipping away. For example, in a study for a healthcare scheduling assistant, users watched the agent book an appointment. The screen sat static for four seconds. Participants consistently asked, <em>“Is it checking my calendar or the doctor’s?”</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png"
			
			sizes="100vw"
			alt="The Wait, Why? Protocol. A timeline illustrating how silence creates anxiety. By mapping the specific moment users ask ‘Is it stuck?’, designers can insert transparency exactly when it is needed."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 3:</strong> The Wait, Why? Protocol. A timeline illustrating how silence creates anxiety. By mapping the specific moment users ask ‘Is it stuck?’, designers can insert transparency exactly when it is needed. (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>That question revealed a missing <strong>Transparency Moment</strong>. The system needed to split that four-second wait into two distinct steps: <em>“Checking your availability”</em> followed by <em>“Syncing with provider schedule.”</em></p>

<p>This small change reduced users’ expressed levels of anxiety.</p>

<p>Transparency fails when it only describes a system action. The interface must connect the technical process to the user’s specific goal. A screen displaying <em>“Checking your availability”</em> falls flat because it lacks context. The user understands that the AI is looking at a calendar, but they do not know why.</p>

<p>We must pair the action with the outcome. The system needs to split that four-second wait into two distinct steps. First, the interface displays <em>“Checking your calendar to find open times.”</em> Then it updates to <em>“Syncing with the provider’s schedule to secure your appointment.”</em> This grounds the technical process in the user’s actual life.</p>

<p>Consider an AI managing inventory for a local cafe. The system encounters a supply shortage. An interface reading “contacting vendor” or “reviewing options” creates anxiety. The manager wonders if the system is canceling the order or buying an expensive alternative. A better approach is to explain the intended result: <em>“Evaluating alternative suppliers to maintain your Friday delivery schedule.”</em> This tells the user exactly what the AI is trying to achieve.</p>

<div class="partners__lead-place"></div>

<h2 id="operationalizing-the-audit">Operationalizing the Audit</h2>

<p>You have completed the Decision Node Audit and filtered your list through the Impact and Risk Matrix. You now have a list of essential moments for being transparent. Next, you need to create them in the UI. This step requires teamwork across different departments. You can’t design transparency by yourself using a design tool. You need to understand how the system works behind the scenes.</p>

<p>Start with a <strong>Logic Review</strong>. Meet with your lead system designer. Bring your map of decision nodes. You need to confirm that the system can actually share these states. I often find that the technical system doesn’t reveal the exact state I want to show. The engineer might say the system just returns a general “working” status. You must push for a detailed update. You need the system to send a specific notice when it switches from reading text to checking rules. Without that technical connection, your design is impossible to build.</p>

<p>Next, involve the Content Design team. You have the technical reason for the AI’s action, but you need a clear, human-friendly explanation. Engineers provide the underlying process, but content designers provide the way it’s communicated. Do not write these messages alone. A developer might write <em>“Executing function 402,”</em> which is technically correct but meaningless to the user. A designer might write <em>“Thinking,”</em> which is friendly but too vague. A content strategist finds the right middle ground. They create specific phrases, such as <em>“Scanning for liability risks”</em>, that show the AI is working without confusing the user.</p>

<p>Finally, test the transparency of your messages. Don’t wait until the final product is built to see if the text works. I conduct comparison tests on simple prototypes where the only thing that changes is the status message. For example, I show one group (Group A) a message that says <em>“Verifying identity”</em> and another group (Group B) a message that says <em>“Checking government databases”</em> (these are made-up examples, but you understand the point). Then I ask them which AI feels safer. You’ll often discover that certain words cause worry, while others build trust. You must treat the wording as something you need to test and prove effective.</p>

<h3 id="how-this-changes-the-design-process">How This Changes the Design Process</h3>

<p>Conducting these audits has the potential to strengthen how a team works together. We stop handing off polished design files. We start using messy prototypes and shared spreadsheets. The core tool becomes a <strong>transparency matrix</strong>. Engineers and the content designers edit this spreadsheet together. They map the exact technical codes to the words the user will read.</p>

<p>Teams will experience friction during the logic review. Imagine a designer asking the engineer how the AI decides to decline a transaction submitted on an expense report. The engineer might say the backend only outputs a generic status code like <em>“Error: Missing Data”.</em> The designer states that this isn’t actionable information on the screen. The designer negotiates with the engineer to create a specific technical hook. The engineer writes a new rule so the system reports exactly what is missing, such as a missing receipt image.</p>

<p>Content designers act as translators during this phase. A developer might write a technically accurate string like <em>“Calculating confidence threshold for vendor matching.”</em> A content designer translates that string into a phrase that builds trust for a specific outcome. The strategist rewrites it as <em>“Comparing local vendor prices to secure your Friday delivery.”</em> The user understands the action and the result.</p>

<p>The entire cross-functional team sits in on user testing sessions. They watch a real person react to different status messages. Seeing a user panic because the screen says <em>“Executing trade”</em> forces the team to rethink their approach. The engineers and designers align on better wording. They change the text to <em>“Verifying sufficient funds”</em> before buying stock. Testing together guarantees the final interface serves both the system logic and the user’s peace of mind.</p>

<p>It does require time to incorporate these additional activities into the team’s calendar. However, the end result should be a team that communicates more openly, and users who have a better understanding of what their AI-powered tools are doing on their behalf (and why). This <strong>integrated approach</strong> is a cornerstone of designing truly trustworthy AI experiences.</p>

<h2 id="trust-is-a-design-choice">Trust Is A Design Choice</h2>

<p>We often view trust as an emotional byproduct of a good user experience. It is easier to view trust as a mechanical result of predictable communication.</p>

<p>We build trust by showing the right information at the right time. We destroy it by overwhelming the user or hiding the machinery completely.</p>

<p>Start with the Decision Node Audit, particularly for agentic AI tools and products. Find the moments where the system makes a judgment call. Map those moments to the Risk Matrix. If the stakes are high, open the box. Show the work.</p>

<p>In the next article, we will look at how to design these moments: how to write the copy, structure the UI, and handle the inevitable errors when the agent gets it wrong.</p>

<h2 id="appendix-the-decision-node-audit-checklist">Appendix: The Decision Node Audit Checklist</h2>

<p><strong>Phase 1: Setup and Mapping</strong></p>

<p><strong>✅ Get the team together:</strong> Bring in the product owners, business analysts, designers, key decision-makers, and the engineers who built the AI.</p>

<p><em>Hint:</em> You need the engineers to explain the actual backend logic. Do not attempt this step alone.</p>

<p><strong>✅ Draw the whole process:</strong> Document every step the AI takes, from the user’s first action to the final result.</p>

<p><em>Hint:</em> A physical whiteboard session often works best for drawing out these initial steps.</p>

<p><strong>Phase 2: Locating the Hidden Logic</strong></p>

<p><strong>✅ Find where things are unclear:</strong> Look at the process map for any spot where the AI compares options or inputs that do not have one perfect match.</p>

<p><strong>✅ Identify the best guess steps:</strong> For each unclear spot, check if the system uses a confidence score. For example, ask if the system is 85 percent sure. These are the points where the AI makes a final choice.</p>

<p><strong>✅ Examine the choice:</strong> For each choice point, figure out the specific internal math or comparison being done. An example is matching a part of a contract to a policy. Another example involves comparing a picture of a broken car to a library of damaged car photos.</p>

<p><strong>Phase 3: Creating the User Experience</strong></p>

<p><strong>✅ Write clear explanations:</strong> Create messages for the user that clearly describe the specific internal action happening when the AI makes a choice.</p>

<p><em>Hint:</em> Ground your messages in concrete reality. If an AI books a meeting with a client at a local cafe, tell the user the system is checking the cafe reservation system.</p>

<p><strong>✅ Update the screen:</strong> Put these new, clear explanations into the user interface. Replace vague messages like Reviewing contracts with your specific explanations.</p>

<p><strong>✅ Check for Trust:</strong> Make sure the new screen messages give users a simple reason for any wait time or result. This should make them feel confident and trusting.</p>

<p><em>Hint:</em> Test these messages with actual users to verify they understand the specific outcome being achieved.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Vitaly Friedman</author><title>A Practical Guide To Design Principles</title><link>https://www.smashingmagazine.com/2026/04/practical-guide-design-principles/</link><pubDate>Wed, 01 Apr 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/practical-guide-design-principles/</guid><description>Design principles with references, examples, and methods for quick look-up. Brought to you by &lt;a href="https://ai-design-patterns.com">Design Patterns For AI Interfaces&lt;/a>, &lt;strong>friendly video courses on UX&lt;/strong> and design patterns by Vitaly.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/practical-guide-design-principles/" />
              <title>A Practical Guide To Design Principles</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>A Practical Guide To Design Principles</h1>
                  
                    
                    <address>Vitaly Friedman</address>
                  
                  <time datetime="2026-04-01T10:00:00&#43;00:00" class="op-published">2026-04-01T10:00:00+00:00</time>
                  <time datetime="2026-04-01T10:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>We often see design principles as rigid guidelines that dictate design decisions. But actually, they are an incredible tool to <strong>rally the team around a shared purpose</strong> and document the values and beliefs that an organization embodies.</p>

<p>They align teams and inform decision-making. They also keep us afloat amidst all the hype, big assumptions, desire for faster delivery, and AI workslop. But how do we choose the right ones, and how do we get started? Let’s find out.</p>

<h2 id="real-world-design-principles">Real-World Design Principles</h2>

<p>In times when we can generate any passable design and code within minutes, we need to decide better <strong>what’s worth designing and building</strong> &mdash; and what values we want our products to embody.</p>

<p>It’s similar to voice and tone. You might not design it intentionally, but then end users will define it for you. And so, without principles, many company initiatives are <strong>random, sporadic, ad-hoc</strong> &mdash; and feel vague, inconsistent, or simply dull to the outside world.</p>

<p><strong>Design principles</strong> are guidelines and design considerations that <a href="https://ixdf.org/literature/topics/design-principles">designers apply with discretion</a> &mdash; by default, without debating or discussing what has already been agreed upon.</p>

<p>One fantastic resource that I keep coming back to after all these years is Ben Brignell’s <a href="https://principles.design">Principles.design</a>. It has <strong>230 pointers for design principles and methods</strong>, searchable and tagged, covering everything from language and infrastructure to hardware and organizations.</p>

<h2 id="10-principles-of-good-design">10 Principles Of Good Design</h2>

<p>There is no shortage of principles out there. But the good ones are more than just being <em>visionary</em> &mdash; they <strong>have a point of view</strong>, and they explain what we <em>don’t do</em> as much as what we do. They also explain what <strong>we stand for</strong> in the world &mdash; beyond profits, stock prices, and all the hype and noise around us.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://www.vitsoe.com/gb/about/good-design#good-design-is-innovative">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="559"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg"
			
			sizes="100vw"
			alt="10 legendary principles for good design"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      10 legendary principles for good design, by <a href='https://www.vitsoe.com/gb/about/good-design#good-design-is-innovative'>Dieter Rams</a>. Still relevant, after all these years. (<a href='https://files.smashing.media/articles/stop-endless-debates-design-principles/1-principles-good-design.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Many years ago, I encountered <a href="https://www.vitsoe.com/gb/about/good-design#good-design-is-innovative">Dieter Rams’ 10 principles of good design</a> (see above), a very <strong>humble, practical and tangible</strong> overview of principles that were informing, shaping, and guarding his design work at Braun.</p>

<p>There are <strong>no visionary claims</strong>, and no big bold statements: just a clear overview of what we do, and where our ambition and care lie for the products we are designing. It’s honest, sincere, and in many ways beautifully <strong>humane</strong>.</p>

<h3 id="examples-of-design-principles">Examples Of Design Principles</h3>

<p>There are plenty of <strong>wonderful examples</strong> that I keep close:</p>

<ul>
<li><a href="https://www.anthropic.com/constitution">Anthropic’s Constitution</a></li>
<li><a href="https://principles.design/examples/principles-of-product-design">Principles of Product Design</a>, by Joshua Porter</li>
<li><a href="https://principles.design/examples/20-guiding-principles-for-experience-design">Guiding Principles for Experience Design</a>, by Whitney Hess, PCC</li>
<li><a href="https://github.com/Heydon/principles-of-web-accessibility">Principles of Web Accessibility</a>, by Heydon Pickering</li>
<li><a href="https://humanebydesign.com">Humane by Design</a>, by Jon Yablonski</li>
<li><a href="https://principles.design/examples/designing-for-voice-interfaces">Designing Voice UX Principles</a>, by Brian Colcord</li>
<li><a href="https://linear.app/developers/aig">Agentic Design Principles</a>, by Linear</li>
<li><a href="https://www.intercom.com/blog/principles-bot-design/">AI Chatbot Design Principles</a>, by Emmet Connolly</li>
<li><a href="https://voiceprinciples.com">Voice UX Principles</a>, by Ben Sauer</li>
</ul>

<h3 id="design-principles-in-design-systems">Design Principles In Design Systems</h3>

<ul>
<li><a href="https://guides.18f.org/">18F</a></li>
<li><a href="https://styleguide.audi.com/document/2440#/-/experience-principles">Audi</a></li>
<li><a href="https://www.ibm.com/design/language/philosophy/principles/">Carbon (IBM)</a></li>
<li><a href="https://acorn.firefox.com/latest/get-started/firefox-design-principles-5ezPvNdo">Firefox</a></li>
<li><a href="https://www.gov.uk/guidance/government-design-principles">Gov.uk</a></li>
<li><a href="https://contentdesign.intuit.com/style-and-usage/our-principles/">Intuit</a></li>
<li><a href="https://service-manual.nhs.uk/design-system/design-principles">NHS</a></li>
<li><a href="https://nordhealth.design/principles/">Nordhealth</a></li>
<li><a href="https://base.uber.com/6d2425e9f/p/434f39-principles">Uber</a></li>
</ul>

<h2 id="how-to-establish-design-principles">How To Establish Design Principles</h2>

<p>Design principles can be personal, but usually they are committed to and shaped by the <strong>entire product team</strong>. Design principles <strong>aren’t just for designers</strong>. User’s experience is <em>everything</em> from performance to support to customer service, and ideally, participants would cover these areas as well.</p>

<p>In practice, though, establishing principles might feel incredibly challenging. They are abstract and fluffy and often ambiguous, and often very difficult to agree upon.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://www.figma.com/community/file/1051212964426062558">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="461"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png"
			
			sizes="100vw"
			alt="Workshop kit for a design principles workshop"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <a href='https://www.figma.com/community/file/1051212964426062558'>One of many workshop kits</a> for a design principles workshop. (<a href='https://files.smashing.media/articles/stop-endless-debates-design-principles/2-design-principles-workshop.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>You can get started with a <strong>simple 8-step workshop</strong> (inspired by <a href="https://medium.com/@marcintreder/design-system-sprint-4-design-principles-8efb22d8a208">Marcin Treder</a>, <a href="https://medium.com/design-bootcamp/design-principles-workshop-a-template-15c7c90458f2">Maria Meireles</a> and <a href="https://www.better.care/blog-en/establishing-design-principles-for-a-design-system-and-what-it-taught-us/">Better</a>):</p>

<ol>
<li><strong>Pre-session Research</strong><br />
Study how users speak about the products, what they appreciate, and the words they use.</li>
<li><strong>Get Into Principles Mode</strong><br />
Invite 6–8 participants, ask them to choose their favorite object, and describe it in 3 words.</li>
<li><strong>Product Analogies</strong><br />
Compare product to tangible items (e.g., ‘A Porsche 911’ or ‘a Braun audio system’).</li>
<li><strong>Extract Attributes</strong><br />
Individually, in silence, everyone writes 3–5 initial principles, which are then grouped by theme for review.</li>
<li><strong>Link Attributes To Research</strong><br />
Link attributes to actual user pain points or desires, to make sure they are grounded in reality.</li>
<li><strong>Value Statements</strong><br />
We write <em>‘We want X because of Y’</em> sentences that express the rationale behind our thinking.</li>
<li><strong>Move to Principles</strong><br />
Remove analogies to create enduring rules that will guide our design process.</li>
<li><strong>Reality Check</strong><br />
Search for both positive and negative examples in our products to see where principles are being met or ignored.</li>
</ol>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://www.better.care/blog-en/establishing-design-principles-for-a-design-system-and-what-it-taught-us/">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="492"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg"
			
			sizes="100vw"
			alt="Variants of sentences for establishing design principles"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Voting for the most relevant sentences in keyword groups. From <a href='https://www.better.care/blog-en/establishing-design-principles-for-a-design-system-and-what-it-taught-us/'>Better</a>. (<a href='https://files.smashing.media/articles/stop-endless-debates-design-principles/3-design-principles.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="useful-starter-kits-for-principles-workshops">Useful Starter Kits For Principles Workshops</h3>

<ul>
<li><a href="https://medium.com/design-bootcamp/design-principles-workshop-a-template-15c7c90458f2">Design Principles Workshop (Figma Template)</a>, by Maria Meireles</li>
<li><a href="https://www.figma.com/community/file/1051212964426062558">Design Principles Workshop (FigJam Template)</a>, by Richard Picot</li>
<li><a href="https://miro.com/templates/design-principles-workshop/">How to Create Design Principles (Miro Workshop Template)</a>, by NanoGiants</li>
</ul>

<h2 id="wrapping-up">Wrapping Up</h2>

<p>Creating principles is only a small portion of the work; most work is about <strong>effectively sharing and embedding them</strong>. It’s difficult to get anywhere without finding ways to <strong>make design principles a default</strong> &mdash; by revisiting settings, templates, naming conventions, and output.</p>

<p>Principles help <strong>avoid endless discussions</strong> that often stem from personal preferences or taste. But design should not be a matter of taste; it must be guided by our goals and values. Design principles can help with just that.</p>

<h2 id="meet-design-patterns-for-ai-interfaces">Meet “Design Patterns For AI Interfaces”</h2>

<p>Meet <a href="https://ai-design-patterns.com/"><strong>Design Patterns For AI Interfaces</strong></a>, Vitaly’s new <strong>video course</strong> with 100s of real-life examples and UX guidelines to design AI features that people actually use &mdash; with a <a href="https://smashingconf.com/online-workshops/workshops/ai-interfaces-vitaly-friedman/">live UX training</a> later this year. <a href="https://www.youtube.com/watch?v=jhZ3el3n-u0">Jump to a free preview</a>.</p>

<p><figure class="article__image" style="margin-bottom: 0"><a href="https://ai-design-patterns.com/"><img style="border-radius:11px" loading="lazy" decoding="async" fetchpriority="low" width="800" height="414" srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png 400w,
https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png 800w,
https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png 1200w,
https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png 1600w,
https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png 2000w" src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/product-designer-career-paths/design-patterns-ai-interfaces.png" sizes="100vw" alt="Design Patterns For AI Interfaces promo picture"></a><figcaption class="op-vertical-bottom">Meet <a href="https://ai-design-patterns.com/">Design Patterns For AI Interfaces</a>, Vitaly’s video course on interface design &amp; UX.</figcaption></figure>
<div class="book-cta__inverted"><div class="book-cta" data-handler="ContentTabs" data-mq="(max-width: 480px)"><nav class="content-tabs content-tabs--books"><ul><li class="content-tab"><a href="#"><button class="btn btn--small btn--white btn--white--bordered">
Video + UX Training</button></a></li><li class="content-tab"><a href="#"><button class="btn btn--small btn--white btn--white--bordered">Video only</button></a></li></ul></nav><div class="book-cta__col book-cta__hardcover content-tab--content"><h3 class="book-cta__title"><span>Video + UX Training</span></h3><span class="book-cta__price"><span><span class=""><span class="currency-sign">$</span>&nbsp;<span>450<sup class="sup">.00</sup></span></span> <span class="book-cta__price--old"><span class="currency-sign">$</span>&nbsp;<span>799<sup class="sup">.00</sup></span></span></span></span>
<a href="https://smart-interface-design-patterns.thinkific.com/enroll/3476562?price_id=4401578" class="btn btn--full btn--medium btn--text-shadow">
Get Video + UX Training<div></div></a><p class="book-cta__desc">30 video lessons (10h) + <a href="https://smashingconf.com/online-workshops/workshops/ai-interfaces-vitaly-friedman/">Live UX Training</a>.<br>100 days money-back-guarantee.</p></div><div class="book-cta__col book-cta__ebook content-tab--content"><h3 class="book-cta__title"><span>Video only</span></h3><div data-audience="anonymous free supporter" data-remove="true"><span class="book-cta__price" data-handler="PriceTag"><span><span class=""><span class="currency-sign">$</span>&nbsp;<span>275<sup class="sup">.00</sup></span></span><span class="book-cta__price--old"><span class="currency-sign">$</span>&nbsp;<span>395<sup class="sup">.00</sup></span></span></span></div>
<a href="https://smart-interface-design-patterns.thinkific.com/enroll/3476562?price_id=4397456" class="btn btn--full btn--medium btn--text-shadow">
Get the video course<div></div></a><p class="book-cta__desc" data-audience="anonymous free supporter" data-remove="true">30 video lessons (10h). Updated yearly.<br>Also available as a <a href="https://smart-interface-design-patterns.thinkific.com/enroll/3570306?price_id=4503439">UX Bundle with 3 video courses.</a></p></div><span></span></div></div></p>

<h2 id="useful-resources">Useful Resources</h2>

<ul>
<li><a href="https://principles.design">Design Principles Collection</a>, by Ben Brignell</li>
<li>“<a href="https://medium.com/@marcintreder/design-system-sprint-4-design-principles-8efb22d8a208">How To Establish Design Principles</a>”, by Marcin Treder</li>
<li>“<a href="https://www.better.care/blog-en/establishing-design-principles-for-a-design-system-and-what-it-taught-us/">Establishing Design Principles for a Design System and What It Taught Us</a>”, by Better Design Team</li>
<li><a href="https://principles.adactio.com">Design Principles</a>, by Jeremy Keith</li>
<li><a href="https://www.designprinciplesftw.com">Design Principles Collection</a>, by Gabriel Svennerberg</li>
<li><a href="https://medium.com/design-bootcamp/design-principles-workshop-a-template-15c7c90458f2">Design Principles Workshop (Figma Template)</a>, by Maria Meireles</li>
<li><a href="https://www.figma.com/community/file/1051212964426062558">Design Principles Workshop (FigJam Template)</a>, by Richard Picot</li>
<li><a href="https://miro.com/templates/design-principles-workshop/">How to Create Design Principles (Miro Workshop Template)</a>, by NanoGiants</li>
<li><a href="https://designsystems.surf/components/modal">Modals in Design Systems</a></li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Carrie Webster</author><title>The Site-Search Paradox: Why The Big Box Always Wins</title><link>https://www.smashingmagazine.com/2026/03/site-search-paradox-why-big-box-always-wins/</link><pubDate>Thu, 26 Mar 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/site-search-paradox-why-big-box-always-wins/</guid><description>Success in modern UX isn’t about having the most content. It’s about having the most findable content. Yet even with more data and better tools than ever, internal search often fails, leaving users to rely on global search engines to find a single page on a local site. Why does the “Big Box” still win, and how can we bring users back?</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/site-search-paradox-why-big-box-always-wins/" />
              <title>The Site-Search Paradox: Why The Big Box Always Wins</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>The Site-Search Paradox: Why The Big Box Always Wins</h1>
                  
                    
                    <address>Carrie Webster</address>
                  
                  <time datetime="2026-03-26T10:00:00&#43;00:00" class="op-published">2026-03-26T10:00:00+00:00</time>
                  <time datetime="2026-03-26T10:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>In the early days of the web, the search bar was a luxury, added to a site once it became “too big” to navigate by clicking. We treated it like an index at the back of a book: a literal, alphabetical list of words that pointed to specific pages. If you typed the exact word the author used, you found what you needed. If you didn’t, you were met with a “0 Results Found” screen that felt like a digital dead end.</p>

<p>Twenty-five years later, we are still building search bars that act like 1990s index cards, even though the humans using them have been fundamentally rewired. Today, when a user lands on your site and can’t find what they need in the global navigation within seconds, they don’t try to learn your taxonomy. They head for the search box. But if that box fails them, and demands they use <em>your</em> specific brand vocabulary, or punishes them for a typo, they do something that should keep every UX designer awake at night. They leave your site, go to Google, and type <strong>site:yourwebsite.com [query]</strong>. Or, worse still, they just type in their query and end up on a competitor’s website. I personally use Google over a site’s search nearly every time.</p>

<p>This is the <strong>Site-Search Paradox</strong>. In an era where we have more data and better tools than ever, our internal search experiences are often so poor that users prefer to use a trillion-dollar global search engine to find a single page on a local site. As Information Architects and UX designers, we have to ask, why does the “Big Box” win, and how can we take our users back?</p>

<h2 id="the-syntax-tax-and-the-death-of-exact-match">The “Syntax Tax” And The Death Of Exact Match</h2>

<p>The primary reason site search fails is what I call the <strong>Syntax Tax</strong>. This is the cognitive load we place on users when we require them to guess the exact string of characters we’ve used in our database.</p>

<p>Research by <strong>Origin Growth</strong> on <a href="https://www.origingrowth.co.uk/blog/search-vs-navigate-how-people-behave-on-websites-do-they-search-or-do-they-navigate/"><strong>Search vs Navigate</strong></a> shows that roughly <strong>50% of users</strong> go straight to the search bar upon landing on a site. For example, when a user types “sofa” into a furniture site that has categorised everything under “couches,” and the site returns nothing, the user doesn’t think, <em>“Ah, I should try a synonym.”</em> They think, <em>“This site doesn’t have what I want.”</em></p>

<p>This is a failure of <strong>Information Architecture (IA)</strong>. We’ve built our systems to match <em>strings</em> (literal sequences of letters) rather than <em>things</em> (the concepts behind the words). When we force users to match our internal vocabulary, we are taxing their brainpower.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="1000"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg"
			
			sizes="100vw"
			alt="Keyword Search vs Semantic Search"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Keyword Search vs. Semantic Search. (Image source: <a href='https://www.linkedin.com/posts/gerrid-smith_seo-digitalmarketing-marketing-activity-7349860105007341568-ipM_/'>Gerrid Smith</a>) (<a href='https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/1-keyword-semantic-search.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="why-google-wins-it-s-not-power-it-s-context">Why Google Wins: It’s Not Power, It’s Context</h2>

<p>It is easy to throw our hands up and say, “We can’t compete with Google’s engineering.” But Google’s success isn’t just about raw power; it’s about <strong>contextual understanding</strong>. While we often treat search as a technical utility, Google treats it as an IA challenge.</p>

<p>Data from the <strong>Baymard Institute</strong> reveals that <a href="https://baymard.com/blog/ecommerce-search-query-types"><strong>41% of e-commerce sites</strong></a> fail to support even basic symbols or abbreviations, and this often leads to <strong>users</strong> abandoning a site after a single failed search attempt. Google wins because it uses <a href="https://www.ibm.com/think/topics/stemming-lemmatization#:~:text=How%20lemmatization%20works,syntactic%20function%20in%20the%20sentence."><strong>stemming and lemmatization</strong></a> &mdash; IA techniques that recognize “running” and “ran” are the same intent. Most internal searches are “blind” to this context, treating “Running Shoe” and “Running Shoes” as entirely different entities.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aIf%20your%20site%20search%20can%e2%80%99t%20handle%20a%20simple%20plural%20or%20a%20common%20misspelling,%20you%20are%20effectively%20charging%20your%20users%20a%20tax%20for%20being%20human.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fsite-search-paradox-why-big-box-always-wins%2f">
      
If your site search can’t handle a simple plural or a common misspelling, you are effectively charging your users a tax for being human.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="800"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg"
			
			sizes="100vw"
			alt="User Query Friction vs User Flow"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      User Query Friction vs. User Flow. (Image source: Created with Gemini) (<a href='https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/2-user-query-friction-user-flow.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="the-ux-of-maybe-designing-for-probabilistic-results">The UX Of “Maybe”: Designing For Probabilistic Results</h2>

<p>In traditional IA, we think in binaries: A page is either in a category, or it isn’t. A search result is either a match or it isn’t. Modern search, which users now expect, is <strong>probabilistic</strong>. It deals in “confidence levels.”</p>

<p>According to <strong>Forresters</strong>, users who use search are <a href="https://www.nosto.com/blog/ecommerce-site-search-statistics/#:~:text=Everyone’s%20searching%20for%20something%2C%20but,to%20convert%20and%20come%20back"><strong>2&ndash;3 times more likely to convert</strong></a> than those who don’t, <em>if</em> the search works. And <a href="https://www.nosto.com/blog/ecommerce-site-search-statistics/#:~:text=Everyone’s%20searching%20for%20something%2C%20but,to%20convert%20and%20come%20back"><strong>80% of users</strong></a> on e-commerce sites exit a site due to poor search results.</p>

<p>As designers, we rarely design for the middle ground. We design a “<strong>Results Found</strong>” page and a “<strong>No Results</strong>” page. We miss the most important state: <strong>The “Did You Mean?” State.</strong> A well-designed search interface should provide “Fuzzy” matches. Instead of a cold “0 Results Found” screen, we should be using our metadata to say, <em>“We didn’t find that in ‘Electronics,’ but we found 3 matches in ‘Accessories’.”</em> By designing for “Maybe,” we can keep the user in the flow.</p>

<h2 id="case-study-the-cost-of-invisible-content">Case Study: The Cost Of “Invisible” Content</h2>

<p>To understand why IA is the fuel for the search engine, we must look at how data is structured behind the scenes. In my 25 years of practice, I’ve seen that the “findability” of a page is directly tied to its structured metadata.</p>

<p>Consider a large-scale enterprise I worked with that had over 5,000 technical documents. Their internal search was returning irrelevant results because the “Title” tag of every document was the internal SKU number (e.g., “DOC-9928-X”) rather than the human-readable name.</p>

<p>By reviewing the search logs, we discovered that users were searching for “installation guide.” Because that phrase didn’t appear in the SKU-based title, the engine ignored the most relevant files. We implemented a <strong>Controlled Vocabulary</strong>, which was a set of standardised terms that mapped SKUs to human language. Within three months, the “Exit Rate” from the search page dropped by 40%. This wasn’t an algorithmic fix; it was an IA fix. It proves that a search engine is only as good as the map we give it.</p>

<div class="partners__lead-place"></div>

<h2 id="the-internal-language-gap">The Internal Language Gap</h2>

<p>Throughout my two decades in UX, I’ve noticed a recurring theme: internal teams often suffer from “The curse of knowledge.” We become so immersed in our own corporate vocabulary, or sometimes referred to as business jargon, that we forget the user doesn’t speak our language.</p>

<p>I once worked with a financial institution that was frustrated by high call volumes to their support centre. Users were complaining they couldn’t find “loan payoff” information on the site. When we looked at the search logs, “loan payoff” was the #1 searched term that resulted in zero hits.</p>

<p>Why? Because the institution’s IA team had labelled every relevant page under the formal term “Loan Release.” To the bank, a “payoff” was a process, but a “Loan Release” was the legal document that was the “thing” in the database. Because the search engine was looking for literal character strings, it refused to connect the user’s desperate need with the company’s official solution.</p>

<p>This is where the IA professional must act as a translator. By simply adding “loan payoff” as a hidden metadata keyword to the Loan Release pages, we solved a multi-million dollar support problem. We didn’t need a faster server; we needed <strong>a more empathetic taxonomy</strong>.</p>

<h2 id="the-4-step-site-search-audit-framework">The 4-step Site-search Audit Framework</h2>

<p>If you want to reclaim your search box from Google, you cannot simply “set it and forget it.” You must treat search as a living product. Here is the framework I use to audit and optimise search experiences:</p>

<h3 id="phase-1-the-zero-result-audit">Phase 1: The “Zero-result” Audit</h3>

<p>Pull your search logs from the last 90 days. Filter for all queries that returned zero results. Group these into three buckets:</p>

<ul>
<li><strong>True gaps</strong><br />
Content the user wants that you simply don’t have (a signal for your content strategy team).</li>
<li><strong>Synonym gaps</strong><br />
Content you have, but described in words the user doesn’t use (e.g., “Sofa” vs “Couch”).</li>
<li><strong>Format gaps</strong><br />
The user is looking for a “video” or “PDF,” but your search only indexes HTML text.</li>
</ul>

<h3 id="phase-2-query-intent-mapping">Phase 2: Query Intent Mapping</h3>

<p>Analyse the <em>top 50</em> most common queries. Are they <strong>Navigational</strong> (looking for a specific page), <strong>Informational</strong> (looking for “how to”), or <strong>Transactional</strong> (looking for a specific product)? Your search UI should look different for each. A navigational search should “Quick-Link” the user directly to the destination, bypassing the results page entirely.</p>

<h3 id="phase-3-the-fuzzy-matching-test">Phase 3: The “Fuzzy” Matching Test</h3>

<p>Intentionally mistype your top 10 products. Use plurals, common typos, and American vs. British English spellings (e.g., “Color” vs. “Colour”). If your search fails these tests, your engine lacks “stemming” support. This is a technical requirement you must advocate for to your engineering team.</p>

<h3 id="phase-4-scoping-and-filtering-ux">Phase 4: Scoping And Filtering UX</h3>

<p>Look at your results page. Does it offer filters that actually make sense? If a user searches for “shoes,&rdquo; they should see filters for <em>Size</em> and <em>Colour</em>. Generic filters can be as bad as no filters.</p>

<h2 id="reclaiming-the-search-box-a-strategy-for-ia-professionals">Reclaiming The Search Box: A Strategy For IA Professionals</h2>

<p>To stop the exodus to Google, we must move beyond the “Box” and look at the <strong>scaffolding</strong>.</p>

<p><strong>Step A: Implement semantic scaffolding.</strong><br />
Don’t just return a list of links. Use your IA to provide context. If a user searches for a product, show them the product, but also show them the <em>manual</em>, the <em>FAQs</em>, and the <em>related parts</em>. This “associative” search mimics how the human brain works and how Google operates.</p>

<p><strong>Step B: Stop being a librarian, start being a concierge.</strong><br />
A librarian tells you exactly where the book is on the shelf. A concierge listens to what you want to achieve and gives you a recommendation. Your search bar should use predictive text not just to complete words, but to <strong>suggest intentions</strong>.</p>

<h2 id="using-a-google-powered-search-bar">Using A Google-powered Search Bar</h2>

<p>Using a “Google-powered” search bar, as seen on the <strong>University of Chicago</strong> website, is essentially an admission that a site’s internal organisation has become too complex for its own navigation to handle. While it is a quick “fix” for massive institutions to ensure users find <em>something</em>, it is generally a poor choice for businesses with deep content.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="508"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png"
			
			sizes="100vw"
			alt="Example of a university website using Google-powered search."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Example of a university website using Google-powered search. (Source: <a href='https://www.uchicago.edu/en'>University of Chicago</a>) (<a href='https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/3-university-chicago-website.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>By delegating the search to Google, you surrender the user experience to an outside algorithm. You lose the ability to promote specific products, you expose your users to third-party ads, and you train your customers to leave your ecosystem the moment they need help. For a business, search should be a curated conversation that guides a customer toward a goal, not a generic list of links that pushes them back to the open web.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="817"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg"
			
			sizes="100vw"
			alt="Shows search results with useful options when there are no exact matches. Additional suggestions are provided, including a “Did you mean” feature to help connect users with similar items."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Shows search results with useful options when there are no exact matches. Additional suggestions are provided, including a “Did you mean” feature to help connect users with similar items. (Image source: <a href='https://www.crateandbarrel.com/'>Crate & Barrel</a>) (<a href='https://files.smashing.media/articles/site-search-paradox-why-big-box-always-wins/4-search-results.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<div class="partners__lead-place"></div>

<h2 id="the-simple-search-ux-checklist">The Simple Search UX Checklist</h2>

<p>Here is a final checklist for reference when you are building the search experience for your users. Work with your product team to ensure you are engaging with the right team members.</p>

<ul>
<li><strong>Kill the dead-end.</strong><br />
Never just say “<strong>No results found</strong>.” If an exact match isn’t there, suggest a similar category, a popular product, or a way to contact support.</li>
<li><strong>Fix “almost” matches.</strong><br />
Make sure the search can handle plurals (like “plant” vs. “plants”) and common typos. Users shouldn’t be punished for a slip of the thumb.</li>
<li><strong>Predict the user’s goal.</strong><br />
Use an “auto-suggest” menu to show helpful actions (like “Track my order”) or categories, not just a list of words.</li>
<li><strong>Talk like a human.</strong><br />
Look at your search logs to see the words people actually use. If they type “couch” and you call it “sofa,” create a bridge in the background so they find what they need anyway.</li>
<li><strong>Smart filtering.</strong><br />
Only show filters that matter. If someone searches for “shoes,” show them size and color filters, not a generic list that applies to the whole site.</li>
<li><strong>Show, don’t just list.</strong><br />
Use small thumbnails and clear labels in the search results so users can see the difference between a product, a blog post, and a help article at a glance.</li>
<li><strong>Speed is trust.</strong><br />
If the search takes more than a second, use a loading animation. If it’s too slow, people will immediately go back to Google.</li>
<li><strong>Check the “failure” logs.</strong><br />
Once a month, look at what people searched for that returned zero results. This is your “to-do list” for fixing your site’s navigation.</li>
</ul>

<h2 id="conclusion-the-search-bar-is-a-conversation">Conclusion: The Search Bar Is A Conversation</h2>

<p>The search box is the only place on your site where the user tells us exactly, in their own words, what they want. When we fail to understand those words, when we let the “Big Box” of Google do the work for us, we aren’t just losing a page view. We are losing the opportunity to prove that we <strong>understand</strong> our customers.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aSuccess%20in%20modern%20UX%20isn%e2%80%99t%20about%20having%20the%20most%20content;%20it%e2%80%99s%20about%20having%20the%20most%20findable%20content.%20It%e2%80%99s%20time%20to%20stop%20taxing%20users%20for%20their%20syntax%20and%20start%20designing%20for%20their%20intent.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fsite-search-paradox-why-big-box-always-wins%2f">
      
Success in modern UX isn’t about having the most content; it’s about having the most findable content. It’s time to stop taxing users for their syntax and start designing for their intent.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>By moving from literal string matching to semantic understanding, and by supporting our search engines with robust, human-centered Information Architecture, we can finally close the gap.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Alan Cohen</author><title>Anime vs. Marvel/DC: Designing Digital Products With Emotion In Flow</title><link>https://www.smashingmagazine.com/2026/03/anime-marvel-dc-designing-digital-products-emotion-flow/</link><pubDate>Tue, 17 Mar 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/anime-marvel-dc-designing-digital-products-emotion-flow/</guid><description>Design is about pacing and feelings as much as pixels and patterns. Alan Cohen explores Emotion in Flow and Emotion in Conflict, showing how anime like Dan Da Dan and superhero films like James Gunn’s Superman manage emotional shifts and translating those ideas into practical patterns for product design.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/anime-marvel-dc-designing-digital-products-emotion-flow/" />
              <title>Anime vs. Marvel/DC: Designing Digital Products With Emotion In Flow</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Anime vs. Marvel/DC: Designing Digital Products With Emotion In Flow</h1>
                  
                    
                    <address>Alan Cohen</address>
                  
                  <time datetime="2026-03-17T10:00:00&#43;00:00" class="op-published">2026-03-17T10:00:00+00:00</time>
                  <time datetime="2026-03-17T10:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Design isn’t only pixels and patterns. It’s pacing and feelings, too. Some products feel cinematic as they guide us through uncertainty, relief, confidence, and calm without yanking us around. That’s <strong>Emotion in Flow</strong>. Others undercut their own moments with a joke in the wrong place, a surprise pop-up, or a jumpy transition. That’s <strong>Emotion in Conflict</strong>.</p>

<p>These aren’t UX-only ideas. You can see them everywhere in entertainment. And the clearest way to feel the difference is to compare how <strong>anime</strong> handles emotional shifts versus how <strong>Marvel and DC films</strong> stumble. We’ll use two specific examples, one from <em>Dan da Dan</em> (anime series on Netflix) and one from James Gunn’s <em>Superman</em> movie, to define the two concepts, and then translate them into practical product design patterns you can apply right away.</p>

<p><strong>Note</strong>: <em>We’ll focus on</em> <strong><em>digital products</em></strong>, <em>including apps, SaaS, and web.</em></p>

<h2 id="emotion-in-flow-anime-dan-da-dan">Emotion In Flow (Anime: Dan da Dan)</h2>

<p>In <em>Dan da Dan</em>, the tonal range is wild, horror, comedy, tenderness, yet it <strong>flows</strong>.</p>

<p>Example: In one arc, the protagonists are on a bizarre, comedic quest involving the “golden genitals” of one of the main characters (yes, really), and in another, we’re drawn into a heartbreaking story of a mother whose child is kidnapped. On paper, that shift should be a car crash. On screen, it’s coherent and emotionally legible.</p>

<p>Why does this work on screen?</p>

<ul>
<li><strong>Continuity of stakes.</strong><br />
Even when a gag lands, the characters’ goals and danger stay intact. Humor releases tension after a mini‑resolution; it doesn’t deny the threat.</li>
<li><strong>Clear mood cues.</strong><br />
Music, framing, pacing, and character reactions telegraph the next feeling. You’re primed for the shift, so you ride it rather than getting yanked.</li>
<li><strong>One emotional anchor.</strong><br />
Relationships remain the North Star, so the scene’s heart doesn’t get lost when the tone moves.</li>
</ul>

<p><strong>How does this translate to UX?</strong></p>

<p>Good products do the same: <strong>prepare</strong>, <strong>transition</strong>, <strong>resolve</strong>, so users stay immersed as the emotional tone shifts.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="483"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg"
			
			sizes="100vw"
			alt="Dan da Dan from humor to empathy flawlessly."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Dan da Dan: from humor to empathy, flawlessly. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/1-dan-da-dan.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="emotion-in-conflict-marvel-dc-james-gunn-s-superman">Emotion In Conflict (Marvel/DC: James Gunn’s Superman)</h2>

<p>Lois &amp; Clark are having a heartfelt, intimate conversation, a slow, human moment, while in the background a running gag plays out (a monster getting clobbered with a giant baseball bat). The gag steals the focus right when the scene asks you to feel something real. The result is a tonal clash that punctures the emotion instead of releasing it.</p>

<p>Why does this fail on screen?</p>

<ul>
<li><strong>Increased cognitive load.</strong><br />
What’s happening here maps directly to cognitive load theory. When a scene (or interface) asks users to process two competing emotional signals at once, it introduces <em>extraneous cognitive load</em>, mental effort that has nothing to do with the task or moment itself. Instead of focusing on the emotional beat, attention is split between signals that don’t resolve each other. In products, this is what happens when humor, promotions, or unexpected UI changes intrude on high-stakes moments: users are forced to interpret tone and intent at the same time they’re trying to act, which slows comprehension and increases stress.</li>
<li><strong>Competing beats at the same time.</strong><br />
The joke overlaps the climax of a serious beat; the audience pays attention to the switch rather than the feeling.</li>
<li><strong>No tonal handoff.</strong><br />
There’s no transition that lands the intimacy before humor arrives, so the moment feels undercut rather than resolved.</li>
</ul>

<p><strong>How does this translate to UX?</strong></p>

<p>In products, this is the confetti-before-confirmation problem, the cheeky error in a money flow, or the promo modal that appears right in the middle of a critical task. This also spikes cognitive load: users must process the humor while trying to fix a problem, which slows them down and increases stress.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="409"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg"
			
			sizes="100vw"
			alt="Heartfelt conversation disrupted by background gag in James Gunn’s Superman."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Heartfelt conversation disrupted by background gag in James Gunn’s Superman. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/2-superman.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="quick-definitions">Quick Definitions</h2>

<blockquote><strong>Emotion in Flow</strong><br />Emotional shifts feel earned, telegraphed, and timed so they resolve prior beats. Immersion holds.<br /><br /><strong>Emotion in Conflict</strong><br />A jarring switch (or hard cut) that punctures a live emotional beat. Immersion breaks.</blockquote>

<p>Now that we’ve named it: how does this connect to UX?</p>

<h2 id="how-emotions-shape-product-memorability">How Emotions Shape Product Memorability</h2>

<p>People don’t remember the average of an experience; they remember peaks and the ending. If your flow’s peak is frustration, or your ending is messy, that’s what sticks. So design the emotional curve on purpose.</p>

<p>Emotions live across three layers (from <a href="https://www.academia.edu/27771503/Emotional_Design_Donald_Norman">Don Norman’s Emotional Design</a>), and your product needs to line them up:</p>

<ul>
<li><strong>Visceral (gut):</strong> First-impression signals: visuals, motion, haptics, sound.<br />
<em>Examples:</em> A steady skeleton loader calms more than a jittery spinner; a gentle success chime/haptic tap lets the win land without shouting; consistent easing/direction tells the eye what changed.</li>
<li><strong>Behavioral (doing):</strong> Can I complete my task smoothly? Friction here means stress.<br />
<em>Examples:</em> Three clear payment steps with predictable progress; error states that explain what happened and how to recover; inline validation instead of end-of-form explosions.</li>
<li><strong>Reflective (meaning):</strong> The story I tell myself after, <em>“Was that worth it? Do I trust this?”</em><br />
<em>Examples:</em> A tidy wrap-up screen (“Done. You’ll get X by Friday.”) gives closure; a small recap (“You saved €18 this year”) creates pride without fireworks.</li>
</ul>

<p><a href="https://www.nngroup.com/articles/microinteractions/#toc-what-are-microinteractions-1">Microinteractions</a> are the emotional glue. Each one has a trigger (I tap Pay), rules (what the system does), feedback (progress and a clear result), and loops or modes (what happens if the user tries again). Get these right, and your transitions bridge feelings. Get them wrong, and they break the flow.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="441"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg"
			
			sizes="100vw"
			alt="The beat sheet: uncertainty → clarity → anticipation → achievement → calm."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The beat sheet: uncertainty → clarity → anticipation → achievement → calm. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/3-emotional-beat-curve.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The emotional beat sheet maps cleanly onto Norman’s layers of experience:</p>

<ul>
<li><strong>Uncertainty</strong> lives in the <strong>visceral</strong> and early <strong>behavioral</strong> layers, where users rely on sensory cues (motion, clarity, feedback) to understand what’s happening.</li>
<li><strong>Clarity</strong> is firmly in the <strong>behavioral</strong> layer, the moment when the system’s intent and the user’s next action lock into place.</li>
<li><strong>Anticipation</strong> is a blend of <strong>behavioral</strong> (the user is doing something with purpose) and <strong>reflective</strong> (the user is already predicting the outcome and imagining what comes next).</li>
<li><strong>Achievement</strong> is a <strong>reflective peak</strong>, where the user evaluates success, trust, and whether the experience “felt right.”</li>
<li><strong>Calm/Closure</strong> is primarily <strong>reflective</strong>, helping users wrap up the meaning of the interaction and decide if the product is trustworthy and worth returning to.</li>
</ul>

<p>In real products, this sequence doesn’t disappear when things go wrong. Errors, latency, and degraded states are not exceptions to the emotional arc &mdash; they are part of it. Seen through a narrative lens, these moments are the obstacles in the hero’s journey. A well-designed recovery state acknowledges the setback, clarifies what happened, and guides the next step without introducing new emotional noise. When failure is treated as a beat instead of a rupture, emotional flow can be preserved even under stress.</p>

<div class="partners__lead-place"></div>

<h2 id="ux-examples-emotion-in-flow-vs-emotion-in-conflict">UX Examples: Emotion In Flow vs. Emotion In Conflict</h2>

<h3 id="emotion-in-flow">Emotion In Flow</h3>

<p>Checkout done right (Stripe/Apple Pay style): short steps, clear progress, and a crisp success state (a checkmark with an optional soft haptic). The peak (success) lands, and the end gives closure (receipt or next step).</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="483"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg"
			
			sizes="100vw"
			alt="Two screens: Review &amp; Pay → Payment Successful."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Two screens: Review & Pay → Payment Successful. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/4-emotion-in-flow.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Pickup status (ride‑hailing apps, e.g., Uber, Free Now, or Bolt): progressive updates maintain orientation and reduce anxiety (“Driver arriving”, “2 min away”, “Arrived”). Uncertainty turns into clarity, with gentle motion preparing each transition.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg"
			
			sizes="100vw"
			alt="Pickup status from the Uber app"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Pickup status from the Uber app. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/5-emotion-in-flow-uber.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="emotion-in-conflict">Emotion In Conflict</h3>

<p><strong>Note</strong>: <em>We’re not naming specific products here &mdash; we respect the work behind them. Instead, we’re showing the patterns that cause emotional conflict and exactly how to fix them.</em></p>

<ul>
<li><strong>Jokes in serious moments.</strong><br />
Cheeky copy-in-error states for money/health/security. Users are stressed; humor amplifies irritation.</li>
<li><strong>Celebration before resolution.</strong><br />
Confetti, fireworks, or loud sounds before confirmation. The party interrupts the climax.</li>
<li><strong>Hard state jumps.</strong><br />
Surprise modals/promos mid‑task, full‑screen takeovers without preparation. Feels like an abrupt cut during an emotional beat.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="483"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg"
			
			sizes="100vw"
			alt="Examples of Emotion in Conflict in product design"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Examples of Emotion in Conflict in product design: joking tone in a high-stakes error, premature celebration before confirmation, surprise promo takeover mid-checkout. All three break the emotional arc and disrupt user trust. (<a href='https://files.smashing.media/articles/anime-marvel-dc-designing-digital-products-emotion-flow/6-emotion-in-conflict.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="what-you-can-do-to-ensure-emotion-in-flow">What You Can Do To Ensure Emotion in Flow</h2>

<p>Here’s a Notion page with the full template you can duplicate:</p>

<ul>
<li><a href="https://ludicrous-maraca-88d.notion.site/Emotional-Beat-Sheet-Template-2b9b9dbc8bf080dc8c63c77c42c66242?source=copy_link">Emotional beat sheet template</a>.</li>
</ul>

<h3 id="1-write-the-emotional-beat-sheet-first">1. Write The Emotional Beat Sheet First</h3>

<p>For each core flow (onboarding, payment, recovery), map the feelings per step: uncertainty → clarity → anticipation → achievement → calm. Attach copy, motion, and microinteractions to each beat. (Who carries the emotion where?)</p>

<h3 id="2-align-tone-with-task-risk">2. Align Tone With Task Risk</h3>

<p>Create a tone matrix (risk level × state). In high‑risk errors, be calm, plain, and solution‑oriented. Save playfulness for low‑risk contexts.</p>

<p>Template snippets:</p>

<ul>
<li><strong>High‑risk error</strong>: “We couldn’t verify your ID. Try again or contact support.”</li>
<li><strong>Low‑risk empty state</strong>: “Nothing here yet. Want to start with a sample?”</li>
</ul>

<p>This is where many mature products quietly drift into emotional conflict. Over time, teams add delight by habit rather than intent.</p>

<p>A useful self-check is to ask: If we removed every playful or celebratory element from this step, would the flow still feel humane &mdash; or were those elements masking friction?</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aGood%20emotional%20design%20clarifies%20experience;%20great%20emotional%20design%20doesn%e2%80%99t%20need%20decoration%20to%20compensate%20for%20confusion.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fanime-marvel-dc-designing-digital-products-emotion-flow%2f">
      
Good emotional design clarifies experience; great emotional design doesn’t need decoration to compensate for confusion.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h3 id="3-design-peak-and-end-on-purpose">3. Design Peak And End On Purpose</h3>

<p>Engineer one clear peak (the moment of success) and one clean end (confirmation and what happens next). Measure recall and satisfaction at both points.</p>

<h3 id="4-use-microinteractions-as-bridges-not-spotlights">4. Use Microinteractions As Bridges, Not Spotlights</h3>

<ul>
<li>Prepare: Small, consistent motion hints before a big state change.</li>
<li>Confirm: Success gets a subtle settle, with a slightly slower ease-out and an optional light haptic.</li>
<li>Recover: Repeated failure gracefully shifts tone from upbeat to supportive and guides the next step.</li>
</ul>

<h3 id="5-test-for-emotional-continuity">5. Test For Emotional Continuity</h3>

<p>In usability sessions, don’t just ask <em>“Was that easy?”</em> Instead, you can ask <em>“What feeling changed here?”</em> If you hear “confused → amused → confused,” you’ve got conflict, not flow. Iterate transitions, not just screens.</p>

<div class="partners__lead-place"></div>

<h2 id="how-to-avoid-emotion-in-conflict-fast-checklist">How To Avoid Emotion in Conflict: Fast Checklist</h2>

<p>Red flags → fixes:</p>

<ul>
<li>Jokes in serious moments → swap for calm, direct language, and a clear recovery path.</li>
<li>Celebration before resolution → move celebration to after confirmation; tone it down for high‑risk tasks.</li>
<li>Hard state jumps → pre‑announce transitions; keep framing consistent; use meaningful motion to preserve continuity.</li>
<li>Cross‑team tone drift → centralize voice &amp; tone guidelines with examples per risk level and state.</li>
</ul>

<p>There are moments when breaking emotional flow is intentional and necessary. Security warnings, legal confirmations, and safety-critical alerts often benefit from abrupt tonal shifts. In these cases, disruption signals importance and demands attention. The problem isn’t emotional conflict itself; it’s <strong>accidental conflict</strong>. When designers choose disruption deliberately, users understand the stakes instead of feeling whiplash.</p>

<h2 id="conclusion">Conclusion</h2>

<p><strong>Great experiences are directed experiences.</strong> Dan da Dan shows how to move through feelings without losing us: it prepares, transitions, and resolves. The Superman scene shows the opposite: a gag colliding with a heartfelt beat.</p>

<p>Do the former. Map your emotional beats, align tone to task risk, and let microinteractions bridge feelings so users remember the right peak and the right end, not the whiplash in the middle.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Anders Toxboe</author><title>Persuasive Design: Ten Years Later</title><link>https://www.smashingmagazine.com/2026/03/persuasive-design-ten-years-later/</link><pubDate>Mon, 09 Mar 2026 11:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/persuasive-design-ten-years-later/</guid><description>Many product teams still lean on usability improvements and isolated behavioral tweaks to address weak activation, drop-offs, and low retention – only to see results plateau or slip into shallow gamification. Anders Toxboe updates persuasive design for today’s reality, clarifying what has actually held up over the last decade and how modern frameworks can guide both discovery and ideation.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/persuasive-design-ten-years-later/" />
              <title>Persuasive Design: Ten Years Later</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Persuasive Design: Ten Years Later</h1>
                  
                    
                    <address>Anders Toxboe</address>
                  
                  <time datetime="2026-03-09T11:00:00&#43;00:00" class="op-published">2026-03-09T11:00:00+00:00</time>
                  <time datetime="2026-03-09T11:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Ten years ago, persuasive design was a relatively new frontier in the field of UX. In a 2015 Smashing article, I was among those who <a href="https://www.smashingmagazine.com/2015/10/beyond-usability-designing-with-persuasive-patterns">showed a way</a> for practitioners to move from being primarily focused on improving usability and removing friction to also guide users toward a desired outcome. The premise was simple: by leveraging <strong>psychology</strong>, we could influence user behavior and drive outcomes like higher sign-ups, faster and richer onboarding, and stronger retention and engagement.</p>

<p>A decade later, that promise has proven true &mdash; but not in the same way many of us expected. Most product teams still face familiar problems: high bounce rates, weak activation, and users dropping off before experiencing core value. Usability improvements help, but they don’t always address the behavioral gap that sits underneath these patterns.</p>

<p>Persuasive design didn’t disappear &mdash; it matured.</p>

<p>Today, the more useful version of this work is often called <strong>behavioral design</strong>: a way to align product experiences with the real drivers of human behavior, with an ethical mindset. Done well, it can improve conversion, onboarding completion, engagement, and long-term use without slipping into manipulation.</p>

<p>Here’s what I’ll cover:</p>

<ul>
<li>What has held up from the last decade of persuasive design;</li>
<li>What didn’t hold up, especially the limits of pattern-first gamification;</li>
<li>What changed in how we model behavior, from triggers to context and systems;</li>
<li>How to use <strong>modern behavioral frameworks</strong> to improve both discovery and ideation;</li>
<li>A practical way to run this work as a team, using a <strong>five-exercise workshop sequence</strong>, you can adapt to your product.</li>
</ul>

<p>The goal is not to add more tactics to your toolkit. It’s to help you build a repeatable, shared approach to diagnosing behavioral barriers and designing solutions that support both users’ goals and business outcomes.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="is-persuasion-the-same-as-deception">Is Persuasion The Same As Deception?</h2>

<p>Behavioral Design is not about slapping <a href="https://www.deceptive.design/">deceptive patterns</a> or superficial “growth hacks” onto your UI. It’s about understanding what truly enables or hinders your users on their way to achieving their goal and then designing experiences that guide them to success.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="404"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png"
			
			sizes="100vw"
			alt="Persuasion vs manipulation"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/1-behavioral-design.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Behavioral design is more about bridging the gap between <strong>what users want</strong> (achieving their goals, feeling value) and <strong>what businesses need</strong> (activation, retention, revenue), creating win-win outcomes where good UX and good business results align.</p>

<p>But like with all powerful tools, they can be used both for good and bad. The difference lies in the <strong>intention of the designer</strong>. Some designers argue for not promoting behavioral or persuasive design, while others argue that we need to understand the tools to learn how to use them well and how we can easily, and often mindlessly, fall into the trap of promoting an unethical lens.</p>

<p>If we are not enlightened, then how can we judge what represents good and bad practice? If we do not understand how psychology works, then we lack the awareness needed to spot our biases. If we don’t understand these tools, we can’t spot when they’re misused.</p>

<p>The difference between persuasion and deception is intention, plus accountability.</p>

<h2 id="a-decade-later-what-have-we-learned">A Decade Later, What Have We learned?</h2>

<p>In the early 2010s, many teams treated persuasive design as almost synonymous with gamification. If you added points, badges, and leaderboards, you were doing psychology. And to be fair, those surface mechanics did work in some cases, at least in the short term. They could nudge people through onboarding flows or encourage a few extra logins. But over the decade, their limits became clear. Once the novelty wore off, many of these systems felt shallow. Users learned to ignore streaks that did not connect to anything meaningful or dropped out when they realized the game layer was not helping them reach a real goal.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="533"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png"
			
			sizes="100vw"
			alt="Diagram contrasting extrinsic rewards (points, praise, prizes, money) with intrinsic rewards like mastery, meaningful work, helping others, well-being, and personal satisfaction."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/2-persuasive-design.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This is where <strong>self-determination theory</strong> has quietly reshaped how serious teams think about motivation. It distinguishes between <strong>extrinsic motivators</strong>, such as rewards, points, and status, and <strong>intrinsic drivers</strong> like autonomy, competence, and relatedness. Put simply, if your “gamification” fights against what people actually care about, it will eventually fail. The interventions that have survived are the ones that support intrinsic needs. A language learning streak that makes you feel more capable and shows progress can work because it makes the core activity feel more meaningful and manageable. A badge that only exists to move a dashboard number, on the other hand, quickly becomes noise.</p>

<h2 id="lesson-1-from-quick-fixes-to-behavioral-strategy">Lesson 1: From Quick Fixes To Behavioral Strategy</h2>

<p>One key lesson from the past decade is that behavioral design creates the most value when it moves beyond isolated fixes and becomes a <strong>deliberate strategy</strong>. Many product teams start with a narrow goal: improve a sign-up rate, reduce drop-off, or boost early retention. When standard UX optimizations plateau, they turn to psychology for a quick lift, often with success.</p>

<p>The biggest opportunity is not one more uplift on a stubborn metric, but having a systematic way to understand and shape behavior across the product.</p>

<blockquote>Behavioral design isn’t about hacks.<br />It’s about helping people succeed.</blockquote>

<p>Common signals are easy to recognize: people sign up but never finish onboarding; they click around once and never return; key features sit unused. A behavioral strategy doesn’t just ask “<em>What can we change on this screen?”</em> It asks what is happening in the user’s mind and context at those moments.</p>

<p>That might lead you to design an onboarding experience that uses <a href="https://learningloop.io/plays/psychology/triggers">curiosity</a> and the <a href="https://learningloop.io/plays/psychology/goal-gradient-effect">goal-gradient effect</a> to guide people to a clear first win, instead of hoping they read a help doc. Or it might lead you to design for exploration and commitment over time: <a href="https://ui-patterns.com/patterns/Social-proof">social proof</a> where it actually matters, <a href="https://learningloop.io/plays/psychology/appropriate-challenges">appropriate challenges</a> that stretch but don’t overwhelm, <a href="https://ui-patterns.com/patterns/ProgressiveDisclosure">progressive disclosure</a> so advanced features show up when people are ready, and the right <a href="https://learningloop.io/plays/psychology/triggers">triggers</a> at the most <a href="https://ui-patterns.com/patterns/Kairos">opportune moment</a> instead of random nags.</p>

<blockquote>Great products aren’t just easy to use.<br />They’re easier to commit to.</blockquote>

<p>Product psychology has shifted from scattered hypotheses to a <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">growing library of repeatable patterns</a>. Those patterns only shine when they sit inside a coherent behavioral model: what users are trying to achieve, what blocks them, and which levers the team will pull at each stage.</p>

<p>Simple nudges, inspired by <a href="https://www.amazon.com/Nudge-Improving-Decisions-Health-Happiness/dp/014311526X">Thaler and Sunstein</a>, have helped popularize behavioral thinking in design. But we’ve also learned that <a href="https://betteregulation.lumsa.it/repost-rednmr-publication-book-%E2%80%9Cnudge-final-edition%E2%80%9D-juli-ponce-sol%C3%A9">nudges alone rarely solve deeper behavioral challenges</a>. A behavioral strategy goes further: it blends tactics, grounds them in real motivations, and ties experiments to a clear theory of change. The goal is not a one-off win on today’s dashboard, but a way of working that compounds over time.</p>

<h3 id="lesson-2-game-mechanics-alone-are-not-enough">Lesson 2: Game Mechanics Alone Are Not Enough</h3>

<p>Game mechanics alone are no longer a credible behavioral strategy. Ten years ago, adding points, badges, and leaderboards was almost shorthand for “we’re doing psychology.” Today, most teams have learned the hard way that this is decoration unless it serves a real need.</p>

<p>A behavioral approach starts with a blunt question: What is the game layer in service of, and for whom? Does it help people make progress that matters to them, or does it just keep a dashboard happy? If it ignores intrinsic motivation, it will look clever in a slide deck and brittle in production.</p>

<p>In practice, that means points and streaks are not treated as automatic upgrades anymore. Teams ask whether a mechanic helps users feel more competent, more in control, or more connected to others. A streak only makes sense if it reflects real progress in a skill the user cares about. A leaderboard only adds value if people actually want to compare themselves and if the ranking helps them decide what to do next. If it does not pass those tests, it is clutter, not a motivational engine.</p>

<blockquote>Streaks and badges only work when they support something users truly value.</blockquote>

<p>The most effective products now start with the intrinsic side. They are clear about what the product helps users become or achieve, and only then ask whether a game mechanic can amplify that journey. When game elements are added, they live in the core loop rather than on top of it. They show mastery, mark meaningful milestones, and reinforce self-driven goals. That is the difference between treating gamification as a paint job and using it to support users on a path they already care about.</p>

<h3 id="lesson-3-from-cause-and-effect-to-holistic-systems-thinking">Lesson 3: From Cause And Effect To Holistic Systems Thinking</h3>

<p>Early persuasive design often assumed a simple logic: find the broken step, add the right lever, and users move forward. Nice on a slide, rarely true in reality.</p>

<p>People don’t act for a single reason. They have context, history, competing goals, mood, time pressure, trust issues, and different definitions of success. Two users can take the same step for completely different reasons. The same user can behave differently on a different day.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="533"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png"
			
			sizes="100vw"
			alt="Diagram comparing cause-and-effect thinking (linear, predictable outcomes) with systems thinking (feedback loops, delays, and unknown outcomes)."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/3-holistic-systems-thinking-persuasive-design.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>That’s why <a href="https://en.wikipedia.org/wiki/Systems_thinking">systems thinking</a> matters. Behavior is shaped by feedback loops and delays, not just one trigger. Outcomes we care about, trust, competence, and habit, are built over time. A change that boosts this week’s conversion can still weaken next month’s retention.</p>

<p>If you have ever shipped a “conversion win” and then watched support tickets, refunds, or churn go up, you have felt this. The local metric improved. The system got worse.</p>

<p>Your design structures either enable people or box them in. Defaults, navigation, feedback, pacing, rewards &mdash; each of these decisions reshapes the system and therefore the journeys people take through it.</p>

<p>So the job is not to perfect a single funnel. It is to build an environment where multiple valid paths can succeed, and where the system supports long-term goals, not just short-term clicks.</p>

<blockquote>The job isn’t to perfect one funnel, but to support multiple valid paths.</blockquote>

<p>A mature behavioral strategy is explicit about that. It is designed for several paths instead of one “happy flow,” supports autonomy instead of forcing compliance, and looks at downstream effects instead of only first-step conversion.</p>

<h3 id="lesson-4-from-triggers-to-context">Lesson 4: From Triggers To Context</h3>

<p>The same shift has happened in the frameworks we use. A decade ago, the <a href="https://www.behaviormodel.org/">Fogg Behavior Model</a> (FBM) was everywhere. It gave teams a simple trio: motivation, ability, trigger &mdash; and a clear message: shouting louder with prompts does not fix low motivation or poor ability. That alone was a useful upgrade.</p>

<p>Fogg’s own work has moved on, too. With Tiny Habits, the focus leans more on identity, emotion, and making behaviors feel easy and personally meaningful. That mirrors a broader shift in the field: away from “fire more prompts” and toward designing environments where the right behavior feels natural.</p>

<p>Teams eventually ran into the same wall: prompts do not fix low capability or missing opportunity. You cannot nag people into skills they do not have or into contexts that do not exist. That is where many teams that work deeply with behavior change have gravitated toward <a href="https://thedecisionlab.com/reference-guide/organizational-behavior/the-com-b-model-for-behavior-change">COM-B</a> as a more complete foundation.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="341"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png"
			
			sizes="100vw"
			alt="Diagram comparing Fogg Behavior Mode vs COM-B model"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/4-fogg-behavior-com-b.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>COM-B breaks behavior into <strong>capability</strong>, <strong>opportunity</strong>, and <strong>motivation</strong>. It starts with a blunt check: can people actually do this, and does their environment let them? That maps well to modern products, where behavior happens across devices, channels, and moments, not on a single screen. It also plugs into broader behavior change work in health and public policy, so we do not have to reinvent everything inside UX.</p>

<p>Thinking this way nudges teams away from simple cause-and-effect stories. A drop in completion rate is no longer “the button is bad” or “we need more reminders,” but a question about how skills, context, and motivation interact. A capability issue might need a better interface and better education. An opportunity issue might be about device access, timing, or social surroundings, not layout. Motivation might be shaped as much by pricing and brand trust as by any in-product message.</p>

<blockquote>Modern behavioral design is less about activating clicks and more about shaping conditions where action feels easy and meaningful.</blockquote>

<p>This broader lens also makes cross-functional work simpler. Product, design, marketing, and data can share one behavior model and still see their own responsibilities in it. Designers shape perceived capability and opportunity in the interface, marketing shapes motivational framing and triggers, and operations shape the structural opportunity in the service. Instead of everyone pushing their own levers in isolation, COM-B helps teams see that they are working on different parts of the same system.</p>

<h3 id="lesson-5-psychology-can-also-be-used-to-design-and-decode-discovery">Lesson 5: Psychology Can Also Be Used To Design And Decode Discovery</h3>

<p>COM-B is often used as a bridge between discovery and ideation. On the discovery side, it gives structure to research. You can use it to design interview guides, read analytics, and make sense of observational studies. It was built to diagnose what needs to change for a behavior to shift, which maps neatly onto early product discovery.</p>

<blockquote>Good discovery doesn’t just ask what users say, but examines what their behavior reveals.</blockquote>

<p>Instead of asking <em>“Why did you stop using the product?”</em> and writing down the first answer, you deliberately walk through capability, opportunity, and motivation. You ask things like:</p>

<ul>
<li>Can users actually do this, given their skills and knowledge?</li>
<li>Does their context help or hinder them in practice?</li>
<li>How strong is their motivation compared with other demands on their time and money?</li>
</ul>

<p>You walk through recent experiences in detail: which device they used, what time of day it was, who else was around, and what else they were juggling. You talk about how important this behavior is compared with everything else in their life and what trade-offs they make. To participants, these questions feel natural. Under the hood, you are systematically covering all three parts of COM-B, in line with how behavior change practitioners use the model in qualitative work.</p>

<p>You can look at behavioral data in the same way. Funnel drop-offs, time on task, and click patterns are clues: are people stuck because they cannot progress, because the environment gets in the way, or because they do not care enough to continue? Modern analytics tools make it easier to watch what people actually do rather than only what they report, and combining quantitative and qualitative data gives you a fuller picture than either alone.</p>

<p>When there is a gap between what people say and what they do, you treat it as a <strong>signal</strong> rather than an irritation. Someone might say that saving for retirement is very important, but never set up a recurring transfer. A user might claim that onboarding was simple, while their session shows repeated back and forth between steps. Those mismatches are often where biases, habits, and emotional barriers live. By labelling them in terms of capability, opportunity, and motivation, and linking them to specific barriers like <a href="https://learningloop.io/plays/psychology/risk-aversion">risk aversion</a>, <a href="https://learningloop.io/plays/psychology/analysis-paralysis">analysis paralysis</a>, <a href="https://learningloop.io/plays/psychology/status-quo-bias">status quo bias</a> or <a href="https://learningloop.io/plays/psychology/present-bias">present bias</a>, you move from vague “insights” to a structured map of what is actually in the way.</p>

<blockquote>The gap between what people say and what they do is not noise &mdash; it’s the map.</blockquote>

<p>The output of this kind of discovery is not just personas and journeys. You also get a clear statement of the current behavior, the target behavior, and the behavioral barriers and enablers that sit between them.</p>

<h3 id="lesson-6-use-behavioral-discovery-in-your-ideation">Lesson 6: Use Behavioral Discovery In Your Ideation</h3>

<p>The bridge from discovery to ideation can be a single sentence template:</p>

<blockquote>From <strong>current behavior</strong> to <strong>target behavior</strong>, by <strong>doing X</strong>, because of <strong>barrier Y</strong>.</blockquote>

<p>This “from–to–by–why” framing forces teams to say what they actually believe. You are not just saying “add a checklist.” You are saying: “We believe a checklist will help new users feel more capable, which will increase the chance they complete setup in their first session.” Now it is a <strong>behavioral hypothesis</strong> you can test with <a href="https://learningloop.io/playbook-collections/validation-patterns/">experiments</a>, not just a design idea you hope for.</p>

<p>From there, you can generate several variants that express the same principle in different ways and design experiments around them. You might try a few messages that all lean on <a href="https://learningloop.io/plays/psychology/loss-aversion">loss aversion</a>, or several ways of simplifying a high-friction step, or different forms of <a href="https://learningloop.io/plays/psychology/social-proof">social proof</a> that vary in tone and proximity.</p>

<p>The important shift is that you are no longer throwing ideas at the wall. You are deliberately targeting the capability, opportunity, or motivation issues that discovery surfaced, and testing which levers actually work in your context.</p>

<blockquote>Every idea should answer one question: which barrier are we trying to change?</blockquote>

<p>Over time, this loop between behavioral discovery and ideation turns into a local playbook. You learn that in your product, some principles reliably help your users and others fall flat. You also learn that patterns from glowing case studies do not automatically transfer. Even gamification and behavior change research often emphasize <strong>context-specific</strong>, <strong>user-centred</strong> implementations rather than generic recipes.</p>

<p>This dual use of psychology in discovery and ideation is one of the bigger shifts of the past decade. A product trio can look at a stubborn drop-off point and ask, together, “Is this a capability, opportunity, or motivation issue?” Then they generate ideas that target that part of the system instead of guessing. That shared language makes behavioral design less of a specialist add-on and more of a normal way for cross-functional teams to reason about their work.</p>

<div class="partners__lead-place"></div>

<h2 id="a-decade-later-what-has-proven-to-work-in-practice">A Decade Later: What Has Proven To Work In Practice</h2>

<p>If the first decade of persuasive design taught us anything, it is that behavioral insight is cheap until a team can act on it together.</p>

<p>Methods matter.</p>

<p>Over time, a small set of workshop formats has consistently helped product teams uncover behavioral barriers, align on opportunities, and generate solutions grounded in real psychology instead of surface patterns. As behavioral design has grown from tactical nudges into a strategic discipline, an obvious question keeps coming up: <strong>How do teams actually do this work together in practice?</strong></p>

<p>How do product managers, designers, researchers, and engineers move from scattered observations (“people seem confused here”) to a shared behavioral diagnosis, and then to targeted ideas that reflect the real drivers of capability, opportunity, and motivation?</p>

<p>One effective way to make this concrete is through a workshop format. The aim is to help teams:</p>

<ul>
<li>Interpret research through a behavioral lens,</li>
<li>Surface capability, opportunity, and motivation gaps,</li>
<li>Prioritize high-potential opportunities, and</li>
<li>Generate ideas that are both psychologically sound and ethically considered.</li>
</ul>

<p>Real product work is messy and full of feedback loops; nobody follows a perfect step-by-step checklist. But for learning, and especially for introducing behavioral design into a team for the first time, a structured sequence of exercises gives people a mental model. It shows the journey from early discovery to behavioral clarity, from opportunities to ideas, and finally to interventions that have been stress-tested through an ethical lens.</p>

<p>The exercises below are one such recipe. The order is intentional: each step builds on the previous one to move from empathy and insight to prioritized opportunities, concrete concepts, and responsible solutions. No team will follow it letter-perfect every time, but it reflects how behavioral design work tends to unfold when it goes well.</p>

<p>Before diving into the details, here is the full recipe and how each exercise contributes to the bigger behavioral design process:</p>

<ol>
<li><strong>Behavioral Empathy Mapping</strong><br />
Builds a shared understanding of the user’s psychological landscape: emotions, habits, misconceptions, and sources of friction.</li>
<li><strong>Behavioral Journey Mapping</strong><br />
Maps the user’s flow over time, and overlays behavioral enablers and obstacles.</li>
<li><strong>Behavior Scoring</strong><br />
Prioritizes which behavioral opportunities to tackle first based on impact, feasibility, and evidence.</li>
<li><strong>Ideas First, Patterns Later</strong><br />
Encourages context-first ideation, then uses <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">persuasive patterns</a> to refine and strengthen promising concepts.</li>
<li><strong>Dark Reality</strong><br />
Evaluates ethical risks, unintended consequences, and potential misuse.</li>
</ol>

<p><strong>A note on timing:</strong> In practice, this sequence can be run in different formats depending on constraints. For a compact format, teams often run Exercises 1–3 in a half-day workshop, and Exercises 4–5 in a second half-day session. With more time, the work can be spread across a full week: discovery synthesis early in the week, prioritization mid-week, and ideation plus ethical review toward the end. The structure matters more than the schedule; the goal is to preserve the progression from understanding → prioritization → ideation → reflection.</p>

<p>Below is a brief walkthrough of each exercise as I typically facilitate them in workshops in tandem with a library of <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">persuasive patterns</a>.</p>

<h3 id="exercise-1-behavioral-empathy-mapping">Exercise 1: Behavioral Empathy Mapping</h3>

<p>The first step is building a shared, psychologically informed understanding of users. <a href="https://learningloop.io/plays/workshop-exercise/behavioral-empathy-mapping">Behavioral Empathy Mapping</a> extends traditional empathy mapping by paying attention to what users attempt, avoid, postpone, misunderstand, or feel uncertain about. These subtle behavioral signals often reveal more than stated needs or pain points.</p>

<p><strong>Goal:</strong> Understand what drives or blocks the target behavior by capturing what users think, feel, say, and do — and spotting behavioral barriers and enablers.</p>

<p><strong>Steps:</strong></p>

<ol>
<li>On a whiteboard or large paper, draw an empathy map: <em>Thinking & Feeling, Seeing, Saying & Doing, and Hearing</em>.</li>
 













<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="515"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png"
			
			sizes="100vw"
			alt="An empathy map: Thinking &amp; Feeling, Seeing, Saying &amp; Doing, and Hearing."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/5-empathy-map.png'>Large preview</a>)
    </figcaption>
  
</figure>

<li>Add research insights by letting everyone silently add sticky notes from interviews, data, support logs, or observations into the quadrants. One insight per note.</li>
<li><strong>Identify barriers and enablers.</strong><br />Cluster notes that make the behavior <strong>harder</strong> (barriers) or <strong>easier</strong> (enablers).</li>
</ol>

<p><strong>Output:</strong> A focused map of the psychological and contextual forces shaping the target behavior, ready to feed into Behavioral Journey Mapping.</p>

<h3 id="exercise-2-behavioral-journey-mapping">Exercise 2: Behavioral Journey Mapping</h3>

<p>Once you understand the user’s mindset and context, the next step is to map how those forces play out across time. <a href="https://learningloop.io/plays/workshop-exercise/behavioral-journey-mapping">Behavioral Journey Mapping</a> overlays the user’s goals, actions, emotions, and environment onto the product journey, highlighting the specific moments where behavior tends to stall or shift.</p>

<p>Unlike traditional journey maps, the behavioral version focuses on where capability breaks down, where the environment works against the user, and where motivation fades or conflicts arise. These become early signals of where change is both needed and possible.</p>

<p>The output shows the team precisely where the product is asking too much, where users lack support, or where additional motivation or clarity might be required.</p>

<p><strong>Goal:</strong> Map the steps from the user’s starting point to the target behavior, and capture the key enablers and barriers along the way.</p>

<p><strong>Steps:</strong></p>

<ol>
<li>Draw a horizontal line from A (starting point) to B (target behavior).</li>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="97"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png"
			
			sizes="100vw"
			alt="A horizontal line from A to B."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/6-behavioral-journey-mapping.png'>Large preview</a>)
    </figcaption>
  
</figure>

<li>Have everyone write the steps a user takes from A to B on sticky notes (one per note). Include actions inside and outside the product.</li>
<li>Place the notes in order along the line. Merge duplicates and align on a shared sequence.</li>
<li>Extend the vertical axis with two rows:<ul><li><strong>Enablers</strong> (what could help users move forward),</li><li><strong>Barriers</strong> (what could slow or stop users).</li></ul></li>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="387"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png"
			
			sizes="100vw"
			alt="The vertical axis with two rows: Enablers and Barriers."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/persuasive-design-ten-years-later/7-behavioral-journey-mapping.png'>Large preview</a>)
    </figcaption>
  
</figure>

<li>Look for steps with many barriers or few enablers. These are behavioral hot spots.</li>
<li>Highlight the steps where a good nudge could meaningfully help users complete the journey.</li>
</ol>

<p><strong>Output:</strong> A clear, behavior-focused journey showing <strong>where users struggle, why, and which moments offer the most leverage for change</strong>.</p>

<h3 id="exercise-3-behavior-scoring">Exercise 3: Behavior Scoring</h3>

<p>With a clearer picture of the user journey and what moments could benefit from a behaviorally helpful hand, you are now ready to identify the behavior it makes most sense to focus on trying to influence.</p>

<p><strong>Goal:</strong> Decide which potential target behaviors <a href="https://learningloop.io/plays/workshop-exercise/behavior-scoring">are worth focusing on first</a>, based on impact, ease of change, and ease of measurement.</p>

<p><strong>Steps:</strong></p>

<ol>
<li>List potential target behaviors. Based on the output of the Behavioral Journey Mapping, list behaviors that could potentially be targeted. One behavior per sticky note. Be as concrete as possible (what users do, where, and when).</li>
<li>Create a table with the following columns:<ul><li><strong>Impact of behavior change</strong> (how much it could move the goal),</li><li><strong>Ease of change</strong> (how realistic it is to influence),</li><li><strong>Ease of measurement</strong> (how straightforward it is to track).</li></ul></li>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th>Potential target behaviors</th>
            <th>Impact of behavior change</th>
      <th>Ease of change</th>
      <th>Ease of measurement</th>
      <th>Total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>…</td>
            <td></td>
      <td></td>
      <td></td>
      <td></td>
        </tr>
        <tr>
            <td>…</td>
            <td></td>
      <td></td>
      <td></td>
      <td></td>
        </tr>
        <tr>
            <td>…</td>
            <td></td>
      <td></td>
      <td></td>
      <td></td>
        </tr>
    </tbody>
</table>

<li>Enter each listed behavior into the table and score them from 0 to 10 in each column.</li>
<li>Sort behaviors by total score and discuss the highest-scoring ones:<ul><li>Do they make sense given what you know about users and constraints?</li></ul></li>
<li>Select the primary target behaviors you want to carry into the next exercises.<br />Optionally, note “bonus behaviors” that might follow as a side effect.</li>
</ol>

<p><strong>Output:</strong> A small set of prioritized target behaviors with a clear rationale for why they matter now, and a list of lower-priority behaviors you may revisit later.</p>

<p>A filled-out Behavior Scoring table could look like this:</p>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th>Potential target behaviors</th>
            <th>Impact of behavior change</th>
      <th>Ease of change</th>
      <th>Ease of measurement</th>
      <th>Total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>User completes onboarding checklist in first session.</td>
            <td>8</td>
      <td>6</td>
      <td>9</td>
      <td>23</td>
        </tr>
        <tr>
            <td>User invites at least one teammate within 7 days.</td>
            <td>9</td>
      <td>4</td>
      <td>8</td>
      <td>21</td>
        </tr>
        <tr>
            <td>User watches the full product tour video.</td>
            <td>4</td>
      <td>7</td>
      <td>6</td>
      <td>17</td>
        </tr>
    <tr>
            <td>User reads help documentation during onboarding.</td>
            <td>3</td>
      <td>5</td>
      <td>4</td>
      <td>12</td>
        </tr>
    </tbody>
</table>

<p>In this case, the checklist completion emerges as the strongest initial focus: it has high impact, is realistically influenceable through design changes, and can be measured reliably. Inviting a teammate may be strategically important, but it may require broader changes beyond interface design, making it a secondary focus.</p>

<div class="partners__lead-place"></div>

<h3 id="exercise-4-ideas-first-patterns-later">Exercise 4: Ideas First, Patterns Later</h3>

<p>Once the team has agreed on which behavior matters most, the next risk is jumping too quickly to familiar psychological tricks. One of the clearest lessons has been that starting with “the pattern” often leads to generic solutions that feel clever but fail in context.</p>

<p>This exercise deliberately <a href="https://learningloop.io/plays/workshop-exercise/ideas-first-patterns-later">separates idea generation from psychological framing</a>.</p>

<p><strong>Goal:</strong> Generate solutions grounded in user context first, then use <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">psychological principles</a> to sharpen and strengthen them.</p>

<p><strong>Steps:</strong></p>

<ol>
<li>Start by restating the prioritized target behavior and the key barrier identified during journey mapping. Keep this visible throughout the exercise.</li>
<li>Then give the team a short, focused ideation window (10–15 minutes).<br />
The rule here is simple: no references to behavioral models, cognitive biases, or persuasive patterns yet. Ideas should come directly from the user context, constraints, and moments uncovered earlier.</li>
<li>Collect ideas on a shared surface and group similar concepts. Look for multiple ways of solving the same underlying problem (cluster them together).</li>

<li><p>Only now do you introduce a library of psychological principles and techniques. I developed the <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">persuasive patterns</a> for this exact purpose. The goal of this step is not to replace ideas, but to refine them:</p>

<ul>
<li>Which ideas could be strengthened by reducing friction?</li>
<li>Which might benefit from clearer feedback, social signals, or better timing?</li>
<li>Are there alternative ways to achieve the same effect more respectfully or more clearly?</li>
</ul>

<p>Patterns are used as lenses, not prescriptions. If a pattern does not improve clarity, agency, or usefulness in this context, it is simply ignored.</p></li>
</ol>

<p><strong>Output:</strong> A refined set of solution concepts that are grounded in real user context and supported, where appropriate, by behavioral principles rather than driven by them.</p>

<p>This sequencing helps teams avoid “pattern-first design,” where ideas are reverse-engineered to fit a theory instead of addressing real human situations.</p>

<h3 id="exercise-5-dark-reality">Exercise 5: Dark Reality</h3>

<p>Before ideas turn into experiments or shipped features, they need one final test. Not for feasibility or metrics, but for <a href="https://learningloop.io/plays/workshop-exercise/dark-reality">ethics</a>.</p>

<p>Over the years, this step has proven critical. Many persuasive solutions only reveal their downside when you imagine them working too well, or being applied in the wrong hands, or used on the wrong day by the wrong person.</p>

<p><strong>Goal:</strong> Surface ethical risks, unintended consequences, and potential misuse before implementation.</p>

<p><strong>Steps:</strong></p>

<ol>
<li>Take one or two of the strongest ideas from the previous exercise.</li>
<li>Imagine worst-case scenarios by asking the team to deliberately shift perspective:

<ul>
<li>What if a competitor used this against us?</li>
<li>What if this nudges users when they’re stressed, tired, or vulnerable?</li>
<li>What happens if this works repeatedly over months, not once?</li>
<li>Could this create pressure, guilt, or dependence?</li>
</ul></li>
<li>Capture concerns around autonomy, trust, fairness, inclusivity, or long-term well-being.</li>
<li>For each risk, explore ways to soften or counterbalance the effect:

<ul>
<li>Clearer intent or transparency,</li>
<li>Lower frequency or gentler timing,</li>
<li>Explicit opt-outs,</li>
<li>Alternative paths forward.</li>
</ul></li>
<li>Some ideas are reshaped. Some are paused.<br />
Some survive intact, but now with greater confidence.</li>
</ol>

<p><strong>Output:</strong> Solutions that have been stress-tested ethically, with known risks acknowledged and mitigated rather than ignored.</p>

<h2 id="building-a-shared-vocabulary-for-product-psychology">Building A Shared Vocabulary For Product Psychology</h2>

<p>The teams that get the most out of behavioral design rarely have a single “psychology expert.” Instead, their team shares a vocabulary around product psychology and knows how to communicate around customer problem behaviorally.</p>

<blockquote>A shared vocabulary turns psychology into cross-functional work.</blockquote>

<p>When patterns and principles are shared:</p>

<ul>
<li>Product, design, engineering, and marketing can talk about behavior without talking past each other.</li>
<li>Discovery insights are easier to interpret because common barriers and drivers have names.</li>
<li>Ideas can be framed as <strong>behavioral hypotheses</strong> (“we believe this will increase early competence…”) instead of vague guesses.</li>
</ul>

<p>The <a href="https://learningloop.io/playbook-collections/persuasive-patterns/">Persuasive Patterns</a> collection grew from this need: giving teams a common language and a concrete set of examples to point at. Whether used as a printed deck in a workshop or as long-form references during everyday work, the goal is the same: make product psychology something the whole team can see and discuss.</p>

<p>Persuasive design was often framed as a bag of tricks. Today, the work looks different:</p>

<ul>
<li>Game mechanics are used to support <strong>intrinsic motivation</strong>, not drive vanity engagement.</li>
<li>Frameworks like COM-B and systems thinking help teams see <strong>behavior in context</strong>, not as a single trigger.</li>
<li>Behavioral insight is used to shape <strong>discovery and ideation</strong>, not just last-minute copy changes.</li>
<li><strong>Ethics</strong> is part of the design brief, not an afterthought.</li>
</ul>

<p>The next step is not more sophisticated nudges. It is a more systematic practice: simple methods, shared language, and a habit of asking <em>“What is really going on in our users’ lives here?”</em></p>

<p>If you start by focusing on one behavioral problem, use a couple of the exercises in this article, and give your team a shared set of patterns to reference, you are already practicing persuasive design in the way it has evolved over the last ten years: grounded in evidence, respectful of users, and aimed at outcomes that matter on both sides of the screen.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Carrie Webster</author><title>Human Strategy In An AI-Accelerated Workflow</title><link>https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/</link><pubDate>Fri, 06 Mar 2026 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/</guid><description>UX design is entering a new phase, with designers shifting from makers of outputs to directors of intent. AI can now generate wireframes, prototypes, and even design systems in minutes, but UX has never been only about creating interfaces. It’s about navigating ambiguity, advocating for humans in systems optimised for efficiency, and solving their problems through thoughtful design.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/" />
              <title>Human Strategy In An AI-Accelerated Workflow</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Human Strategy In An AI-Accelerated Workflow</h1>
                  
                    
                    <address>Carrie Webster</address>
                  
                  <time datetime="2026-03-06T08:00:00&#43;00:00" class="op-published">2026-03-06T08:00:00+00:00</time>
                  <time datetime="2026-03-06T08:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>I’ve been working in User Experience design for more than twenty years. Long enough to have seen the many job titles, from when stakeholders asked us to “just make it pretty” to when wireframes were delivered as annotated PDFs. I’ve seen many tools come and go over the years, methodologies rise and fall, and entire platforms disappear.</p>

<p>Yet, nothing has unsettled designers quite like AI.</p>

<p>When generative AI tools first entered my workflow, my reaction wasn’t excitement &mdash; it was <strong>unease</strong>, with a little bit of <strong>curiosity</strong>. Watching an interface appear in seconds, complete with sensible spacing, readable typography, and halfway-decent copy, triggered a very real fear: <em>If a machine can do this, where does that leave me?</em></p>

<p>That fear is now widespread. Designers at every level ask the same question, often quietly, <em>“Will an AI agent replace me by next week/month/year?”</em> While the difference between next week and next year seems a lot, it depends on where you are in your career and the speed at which your employer chooses to engage with AI tools. I have been lucky in several roles to be working with organisations that haven’t allowed the use of AI tools due to data security concerns. If you’re interested in any of these conversations, you can view the discussions happening on platforms like <a href="https://www.reddit.com/r/UXDesign/comments/1oqs2k8/in_reality_how_bad_is_the_ai_replacement/">Reddit</a>.</p>

<p>Fearing the takeover of AI in our roles is not irrational. We’re seeing AI generate wireframes, prototypes, personas, usability summaries, accessibility suggestions, and entire design systems. Tasks that once took days can now literally take minutes.</p>

<p>Here’s the uncomfortable truth: If your role is largely about producing artefacts, drawing buttons, aligning components, or translating instructions into screens, then parts of that work are already being automated.</p>

<p>Still, UX design has <em>never</em> truly been about just creating a user interface.</p>

<blockquote>UX is about navigating ambiguity. It’s about advocating for humans in systems optimised for efficiency. It’s about translating messy human needs and equally messy business goals into experiences that feel coherent, fair, sensible, and usable. It’s about solving human problems by creating a useful and effective user experience.</blockquote>

<p>AI isn’t replacing that work. Rather, it’s amplifying everything <em>around</em> it. The real shift happening is that designers are moving from being <strong>makers of outputs</strong> to <strong>directors of intent</strong>. From creators to curators. From hands-on executors to strategic decision-makers. That feels exciting to me. And the creativity and ingenuity this brings to the world of UX.</p>

<p>And that shift doesn’t reduce our value as UX designers, but it does redefine it.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="what-ai-does-better-than-us-the-boring-stuff">What AI Does Better Than Us (The “Boring” Stuff)</h2>

<p>Let’s be clear, AI <em>is</em> better than humans at certain aspects of design work. Fighting that reality only keeps us stuck in fear.</p>

<h3 id="speed-and-volume">Speed And Volume</h3>

<p>AI is exceptionally good at generating large volumes of ideas quickly. For example, layout variations, copy options, component structures, and onboarding flows can all be produced in seconds. In early-stage design, this changes everything. Instead of spending hours sketching three concepts, you can review thirty. That doesn’t eliminate creativity but does expand the playground.</p>

<p><a href="https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier">McKinsey estimates</a> that generative AI can reduce the time spent on creative and design-related tasks by up to <strong>70%</strong>, particularly during ideation and exploration phases.</p>














<figure class="
  
  
  ">
  
    <a href="https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#/">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="670"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png"
			
			sizes="100vw"
			alt="McKinseys report on generative AI."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      McKinseys report on generative AI. (Image source: <a href='https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#/'>McKinsey</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>AI can also help with the research side of UX, for example, exploring the habits of a certain demographic, and <a href="https://persona.qcri.org/blog/what-is-an-ai-generated-persona/"><strong>creating personas</strong></a>. While this can reduce research time required, the designer is still required to guardrail this by providing accurate prompts and <a href="https://uxpsychology.substack.com/p/the-problem-with-ai-generated-personas"><strong>reviewing generated responses</strong></a>. I have personally found that using AI to assist with the initial research for design projects is incredibly useful, specifically when there is limited time and access to users.</p>

<h3 id="consistency-and-rule-adherence">Consistency And Rule Adherence</h3>

<p>Design systems live or die by consistency. AI excels at following rules relentlessly, colour tokens, spacing systems, typography scales, and accessibility standards. It doesn’t forget. It doesn’t get tired. It doesn’t “eyeball it.”</p>

<p>AI’s precision makes it incredibly valuable for maintaining large-scale design systems, especially in enterprise or government environments where consistency and compliance matter more than novelty. This is one component of my UX role that I am happy to hand over to AI to manage!</p>

<h3 id="data-processing-at-scale">Data Processing At Scale</h3>

<p>AI can analyse behavioural data at volumes challenging, if not impossible, for a human team to reasonably process. User journey paths, scroll depth, heatmaps to identify mouse interactions, conversion funnels &mdash; AI can identify patterns and anomalies almost instantly.</p>

<p>Behavioural analytics platforms increasingly rely on AI to surface insights that designers might otherwise miss. <a href="https://contentsquare.com/guides/behavior-analytics/">Contentsquare</a>, an AI-powered analytics platform, talks about the impacts and benefits of utilising behavioural analytics data. I’ve always said that quantitative data tells us the “what”, and qualitative data tells us the “why”. This is the human component of research where we get to connect with the users to understand the reason driving the behaviour.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="700"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png"
			
			sizes="100vw"
			alt="An example of a session replay tool display"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      An example of a session replay tool display. (Image Source: <a href='https://contentsquare.com/guides/behavior-analytics/'>Contentsquare</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The key insight here is simple: <strong>Analysing large volumes of behavioural data was never where our highest value lay</strong>.</p>

<p>If AI can take on repetitive production, system enforcement, and raw data analysis, designers would be free to focus on interpretation, judgment, and human meaning, the hardest parts of the job.</p>

<h2 id="what-humans-do-better-than-ai-the-heart-stuff">What Humans Do Better Than AI (The “Heart” Stuff)</h2>

<p>For all its power, AI has a fundamental limitation: it has never and will never be human.</p>

<h3 id="empathy-is-lived-experience">Empathy Is Lived Experience</h3>

<p>AI can describe frustration. It can summarise user feedback. It can mimic empathetic language. But it has never <em>felt</em> the quiet rage of a broken form, the anxiety of submitting sensitive data, or the shame of not understanding an interface that assumes too much.</p>

<p>Empathy in UX isn’t a dataset. It’s a <strong>lived, embodied understanding of human vulnerability</strong>. This is why user interviews still matter. Why contextual inquiry still matters. Why designers who deeply understand their users consistently make better decisions.</p>

<p>In a previous role where I was designing an incredibly complex fraud alert platform, the key to successful outcomes of that design was based on my understanding of the variety of issues faced by customers. I accessed this information directly from members of the customer-facing team. This information was stored in their brain and based on direct experience with customers. No AI could know or access these goldmines of human experiences.</p>

<p>As the <a href="https://www.nngroup.com/articles/definition-user-experience/">Nielsen Norman Group</a> reminds us, good UX design is not about interfaces. It’s about <strong>communication</strong> and <strong>understanding</strong>.</p>

<h3 id="ethics-require-judgment">Ethics Require Judgment</h3>

<p>AI optimises for the objectives we give it. If the goal is engagement, it will try to maximise engagement &mdash; regardless of long-term harm.</p>

<p>It doesn’t inherently recognise dark patterns, manipulation, or emotional exploitation. Infinite scroll, variable rewards, and addictive loops are all patterns AI can enthusiastically optimise unless a human intervenes.</p>

<p><a href="https://www.humanetech.com/the-cht-perspective">The Center for Humane Technology</a> has documented how algorithmic optimisation can unintentionally undermine wellbeing.</p>

<p>Ethical UX design requires designers who can say, <em>“We could do this, but we shouldn’t.”</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="646"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png"
			
			sizes="100vw"
			alt="Ethical design pyramide"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Ethical design choices require human review. (Image source: <a href='https://uxdesign.cc/considerations-and-responsibilities-for-ethical-designers-829450fcb972'>Medium</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="strategy-lives-in-context">Strategy Lives In Context</h3>

<p>AI doesn’t sit in stakeholder meetings. It doesn’t hear what’s implied but not stated. It doesn’t understand organisational politics, regulatory nuance, or long-term positioning.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aDesigners%20act%20as%20translators%20between%20business%20intent%20and%20human%20impact.%20That%20translation%20relies%20on%20trust,%20relationships,%20and%20context,%20not%20pattern%20recognition.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fhuman-strategy-ai-accelerated-workflow%2f">
      
Designers act as translators between business intent and human impact. That translation relies on trust, relationships, and context, not pattern recognition.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>This is why senior designers increasingly operate at the intersection of product, strategy, and culture.</p>

<p><strong>The lesson is clear:</strong> As AI takes over execution, human designers become the guardians of intent.</p>

<h2 id="how-the-daily-work-of-a-designer-is-changing">How The Daily Work Of A Designer Is Changing</h2>

<p>This shift isn’t theoretical. It’s already reshaping daily design practice.</p>

<h3 id="from-designing-to-prompting">From Designing To Prompting</h3>

<p>Designers are moving from manipulating pixels to articulating intent. Clear goals, constraints, and priorities become the input.</p>

<p>Instead of asking AI to “draw a dashboard,” the task becomes:</p>

<ul>
<li>“Create a dashboard that reduces cognitive load for first-time users.”</li>
<li>“Explore layouts optimised for accessibility and low vision.”</li>
</ul>

<p>Prompting isn’t about clever wording; it’s about clarity of thinking and <strong>understanding the intent of the outcomes</strong>. You may need to tweak your prompts as you go, but this is all part of the learning process of directing AI to deliver the outcomes needed.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="420"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png"
			
			sizes="100vw"
			alt="Four design screens complete with user flow mapping"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Four design screens created by Uizard Autodesigner, complete with user flow mapping. (Image source: <a href='https://uizard.io/blog/5-ai-generated-ui-designs/#5-ai-generated-ui-design-examples'>Uizard.io</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="from-making-to-choosing">From Making To Choosing</h3>

<p>AI produces options. Designers make decisions.</p>

<p>A significant portion of future design work will involve reviewing, critiquing, and refining AI-generated outputs, and then selecting what best serves the user and aligns with ethical, business, and accessibility goals.</p>

<p>This mirrors how experienced designers already work: mentoring juniors, reviewing their concepts, and guiding direction, but at a much greater scale, given the sheer number of design options AI tools can generate.</p>

<h3 id="the-movie-director-metaphor">The Movie Director Metaphor</h3>

<p>I often describe the modern designer as a movie director. A director doesn’t operate the camera, build the set, or act every role, but they are responsible for the story, the emotional intent, and the audience experience.</p>

<p>AI tools are the crew. Designers are responsible for the meaning of the story.</p>

<div class="partners__lead-place"></div>

<h2 id="a-real-world-shift-what-this-looks-like-in-practice">A Real-World Shift: What This Looks Like In Practice</h2>

<p>To make this less abstract, let’s ground it in a familiar scenario.</p>

<p>Ten years ago, a designer might spend days producing wireframes for a new feature, carefully crafting each screen, annotating every interaction, and defending each decision in reviews. Much of the designer’s perceived value lived in the artefacts themselves.</p>

<p>Today, that same feature can be scaffolded in an afternoon with AI support. But here’s what hasn’t changed &mdash; the hard conversations.</p>

<p>The UX designer still has to ask:</p>

<ul>
<li><em>Who is this actually for?</em></li>
<li><em>What problem are we solving, and for whom?</em></li>
<li><em>What happens when this fails?</em></li>
<li><em>Who might this unintentionally exclude or disadvantage?</em></li>
</ul>

<p>In practice, I’ve seen senior designers spend less time inside design tools and more time facilitating workshops, synthesising messy inputs, mediating between stakeholders, and protecting user needs when trade-offs arise.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aAI%20accelerates%20production,%20but%20it%20does%20not%20remove%20the%20designer%e2%80%99s%20responsibility.%20In%20fact,%20it%20increases%20it.%20When%20options%20are%20cheap%20and%20plentiful,%20discernment%20becomes%20a%20scarce%20skill.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fhuman-strategy-ai-accelerated-workflow%2f">
      
AI accelerates production, but it does not remove the designer’s responsibility. In fact, it increases it. When options are cheap and plentiful, discernment becomes a scarce skill.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h2 id="conclusion-how-to-prepare-right-now">Conclusion: How To Prepare Right Now</h2>

<p><strong>Don’t panic &mdash; practice.</strong></p>

<p>Avoiding AI won’t preserve your relevance. Learning to use it thoughtfully will.</p>

<p>Start small:</p>

<ul>
<li>Explore <a href="https://www.figma.com/ai/"><strong>Figma’s AI features</strong></a>.</li>
<li>Use AI for ideation, not final decisions.</li>
<li>Treat outputs as conversation starters, not answers.</li>
</ul>

<p>Confidence comes from familiarity, not avoidance.</p>

<p><strong>Invest In Human Skills.</strong></p>

<p>The most resilient designers will double down on:</p>

<ul>
<li>Psychology and behavioural science;</li>
<li>Communication and facilitation;</li>
<li>Ethics, accessibility, and inclusion;</li>
<li>Strategic thinking and storytelling.</li>
</ul>

<p>These skills compound over time, and they can’t be automated.</p>

<p><strong>The designer’s responsibility in an AI-accelerated world:</strong></p>

<p>There’s an uncomfortable implication in all of this that we don’t talk about enough: when AI makes it easier to design <em>anything</em>, designers become more accountable for what gets released into the world. Bad design used to be excused by constraints. Limited time, limited tools, limited data. Those excuses are disappearing. When AI removes friction from execution, the <strong>ethical and strategic responsibility</strong> lands squarely on human shoulders.</p>

<p>This is where UX designers can, and must, step up as stewards of quality, accessibility, and humanity in digital systems.</p>

<h3 id="final-thought">Final Thought</h3>

<p>AI won’t take your job. But a designer who knows how to think critically, direct intelligently, and collaborate effectively with AI might take the job of a designer who doesn’t.</p>

<p>The future of UX is no less human. It’s more intentional than ever.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Ari Stiles</author><title>Now Shipping: Accessible UX Research, A New Smashing Book By Michele Williams</title><link>https://www.smashingmagazine.com/2026/03/accessible-ux-research-release/</link><pubDate>Tue, 03 Mar 2026 15:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/accessible-ux-research-release/</guid><description>Our newest Smashing Book, “Accessible UX Research” by Michele Williams, is finally shipping worldwide — and we couldn’t be happier! This book is about research, but you’ll also learn about assistive technology, different types of disability, and how to build accessibility into the entire design process. This thoughtful book will get you thinking about ways to make your UX research more inclusive and thorough, no matter your budget or timeline. &lt;a href="#about-the-book">Jump to the book details&lt;/a> or &lt;a href="/printed-books/accessible-ux-research/" data-product-sku="accessible-ux-research" data-component="AddToCart" data-product-path="/printed-books/accessible-ux-research" data-silent="true">order your copy now.&lt;/a></description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/accessible-ux-research-release/" />
              <title>Now Shipping: Accessible UX Research, A New Smashing Book By Michele Williams</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Now Shipping: Accessible UX Research, A New Smashing Book By Michele Williams</h1>
                  
                    
                    <address>Ari Stiles</address>
                  
                  <time datetime="2026-03-03T15:00:00&#43;00:00" class="op-published">2026-03-03T15:00:00+00:00</time>
                  <time datetime="2026-03-03T15:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                <p>Good UX research is at the root of great products. It takes the guesswork out of our designs and helps us solve problems before they grow. One of the best ways to make our research effective is to keep it inclusive — testing with users with different needs and abilities, and using their feedback to <strong>build products that work for more people</strong>.</p>

<p>Our newest book, <em>Accessible UX Research</em>, can help you plan and execute great user research. Dr. Michele Williams draws from years of experience to build a clear, easy-to-follow roadmap. This book has something for everyone who wants to build digital products well:</p>

<ul>
<li>If you are <strong>just getting started with research</strong>, you will find helpful tips for making your research more inclusive. You will also get a primer on how to ask better questions, understand your own biases, and how to use your limited time and budget effectively.</li>
<li>If you are an <strong>accessibility-minded professional</strong>, you will find a deep well of details on different assistive technologies, how to include them in your testing environment, and ways to record and share your results to create a real impact on the products you make.</li>
<li>If you are a <strong>developer</strong>, a <strong>manager</strong>, or just <strong>someone who wants to understand</strong> how different abilities impact each user’s experience, you will find the history, clear descriptions, and cultural touchpoints you need in order to make sense of all the accessibility and inclusion recommendations you encounter.</li>
</ul>

<figure style="margin-bottom:0;padding-bottom:0" class="break-out article__image">
    <a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-coffee.png" title="Tap for a large preview of the book.">
    <img width="900" height="600" style="border-radius: 11px" src="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-coffee.png" alt="Hardcover edition of Michele Williams’ new book ‘Accessible UX Research’ on a wooden table, with a cup of coffee next to it. The book has a teal cover that shows a three times three grid of windows in different architectural styles. On top of the windows, there’s a light varnish that spells out the word ‘UX’ with research-related icons such as speech bubbles, a looking glass, a keyboard, and UI components.">
    </a>
</figure>


<div class="book-cta__inverted">
	


	
	
	




















<div class="book-cta" data-handler="ContentTabs" data-mq="(max-width: 480px)">

  
 
<nav class="content-tabs content-tabs--books">
  <ul>
    <li class="content-tab">
      <a href="#">
        <button class="btn btn--small btn--white btn--white--bordered">
          Print + eBook
        </button>
      </a>
    </li>

    <li class="content-tab">
      <a href="#">
        <button class="btn btn--small btn--white btn--white--bordered">
          eBook
        </button>
      </a>
    </li>
  </ul>
</nav>


	<div class="book-cta__col book-cta__hardcover content-tab--content">
		<h3 class="book-cta__title">
			<span>Print + eBook</span>
		</h3>

		
			



	
	
	
	
	
	
	<script class="gocommerce-product" type="application/json" data-sku="accessible-ux-research" data-type="Book">
	{
		"sku": "accessible-ux-research",
		"type": "Book",
		"price": "44.00",
		
		"prices": [{
			"amount": "44.00",
			"currency": "USD",
			"items": [
				{"amount": "34.00", "type": "Book"},
				{"amount": "10.00", "type": "E-Book"}
			]
		}, {
			"amount": "44.00",
			"currency": "EUR",
			"items": [
				{"amount": "34.00", "type": "Book"},
				{"amount": "10.00", "type": "E-Book"}
			]
		}
		]
	}
	</script>


<span class="book-cta__price" data-handler="PriceTag" data-sku="accessible-ux-research" data-type="Book" data-insert="true">
  <span class="placeholder">
    
      
<span class="currency-sign">$</span>
44<sup class="sup">.00</sup>


    

    
  </span>
</span>

		
		<button class="btn btn--full btn--medium btn--text-shadow"
						
		        data-product-path="/printed-books/accessible-ux-research/"
						data-product-sku="accessible-ux-research"
            data-author="Michele Williams"
            data-authors=""
						data-link=""
						
            data-component="AddToCart">
			 Get Print + eBook
		</button>
		<p class="book-cta__desc">
			Quality hardcover. <a href="https://www.smashingmagazine.com/delivery-times/">Free worldwide shipping</a>.<br/> 100 days money-back-guarantee.
		</p>
	</div>
	<div class="book-cta__col book-cta__ebook content-tab--content">
		<h3 class="book-cta__title">
			<span>eBook</span>
		</h3>

		
			<div data-audience="anonymous free supporter" data-remove="true">
				



	
	
	
	
	
	
	<script class="gocommerce-product" type="application/json" data-sku="accessible-ux-research-ebook" data-type="E-Book">
	{
		"sku": "accessible-ux-research-ebook",
		"type": "E-Book",
		"price": "19.00",
		
		"prices": [{
			"amount": "19.00",
			"currency": "USD"
		}, {
			"amount": "19.00",
			"currency": "EUR"
		}
		]
	}
	</script>


<span class="book-cta__price" data-handler="PriceTag" data-sku="accessible-ux-research-ebook" data-type="E-Book" data-insert="true">
  <span class="placeholder">
    
      
<span class="currency-sign">$</span>
19<sup class="sup">.00</sup>


    

    
  </span>
</span>

			</div>
		

    
      <span class="book-cta__price hidden" data-audience="smashing member" data-remove="true">
        <span class="green">Free!</span>
      </span>
    

		<button class="btn btn--full btn--medium btn--text-shadow"
		        data-product-path="/printed-books/accessible-ux-research/"
						data-product-sku="accessible-ux-research-ebook"
            data-author="Michele Williams"
            data-authors=""
						data-link=""
            data-component="AddToCart"
						
            
              data-audience="anonymous free supporter"
              data-remove="true"
            
            >
			  Get the eBook
		</button>
		<p
      class="book-cta__desc"
      
        data-audience="anonymous free supporter"
        data-remove="true"
      
    >
			DRM-free, of course. ePUB, Kindle, PDF.<br/>Included with your <a href="https://www.smashingmagazine.com/membership/">Smashing Membership.</a>
		</p>

    
  <div data-audience="smashing member" class="hidden" data-remove="true">
    <a href="accessibleresearchpdf" class="btn btn--medium btn--green btn--full js-add-to-cart">
      Get the eBook
    </a>
    <p class="book-cta__desc book-cta__desc--light">
      <a href="accessibleresearchpdf">Download PDF</a>, <a href="accessibleresearchepub">ePUB</a>, <a href="accessibleresearchmobi">Kindle</a>.<br/>Thanks for being smashing!&nbsp;❤️
    </p>
  </div>


	</div>
</div>

</div>

<h2 id="about-the-book">About The Book</h2>

<p>The book isn’t a checklist for you to complete as a part of your accessibility work. It’s a <strong>practical guide to inclusive UX research</strong>, from start to finish. If you’ve ever felt unsure how to include disabled participants, or worried about “getting it wrong,” this book is for you. You’ll get clear, practical strategies to make your research more inclusive, effective, and reliable.</p>

<p>Inside, you’ll learn how to:</p>

<ul>
<li><strong>Plan research</strong> that includes disabled participants from the start,</li>
<li><strong>Recruit participants</strong> with disabilities,</li>
<li><strong>Facilitate sessions</strong> that work for a range of access needs,</li>
<li><strong>Ask better questions</strong> and avoid unintentionally biased research methods,</li>
<li><strong>Build trust and confidence</strong> in your team around accessibility and inclusion.</li>
</ul>

<p>The book also challenges common assumptions about disability and urges readers to <strong>rethink what inclusion really means</strong> in UX research and beyond. Let’s move beyond compliance and start doing research that reflects the full diversity of your users. Whether you’re in industry or academia, this book gives you the tools — and the mindset — to make it happen.</p>

<p><em>324 pages. Written by Dr. Michele A. Williams. Cover art by Espen Brunborg.</strong> <a href="accessibleresearchsample"><strong>Download a free sample</strong></a> (PDF, 2.3MB) or <a href="/printed-books/accessible-ux-research/" data-product-sku="accessible-ux-research" data-component="AddToCart" data-product-path="/printed-books/accessible-ux-research" data-silent="true">get the book right away.</a></em></p>

<p><em>Please note: We’ve found a way to get printed books to our US customers! After several months of dealing with customs and tariff issues, we are happy to announce that all of our books — including this brand-new one — are once again <strong>shipping worldwide</strong>.</em></p>

<figure style="margin-bottom:0;padding-bottom:0" class="break-out article__image">
    <a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-24-opt.png" title="Tap for a large preview.">
    <img width="900" height="600" style="border-radius: 11px" src="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-24-opt.png" alt="A look inside the book. The left page has a teal color. The right page says ‘Accessible UX Research by Michele A. Williams, PhD’ in the same teal color.">
    </a><figcaption>With a foreword by Jared Smith of WebAIM and an extensive interview with a disabled researcher, “Accessible UX Research” brings together insights from throughout the Accessibility community. Photo by Marc Thiele. (<a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-24-opt.png">Large preview</a>)</figcaption>
</figure>

<figure style="margin-bottom:0;padding-bottom:0" class="break-out article__image">
    <a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-44-opt.png" title="Tap for a large preview.">
    <img width="900" height="600" style="border-radius: 11px" src="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-44-opt.png" alt="The open book on a wooden table, with a cup of coffee next to it. The left page shows a diagram visualizing the key elements of strong research studies. The right page is about recruiting disabled participants.">
    </a><figcaption>The book includes tips and strategies to help anyone doing research at any point in the product design cycle. Photo by Marc Thiele. (<a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-44-opt.png">Large preview</a>)</figcaption>
</figure>

<h2 id="contents">Contents</h2>

<p>In <em>Accessible UX Research</em>, Michele Williams takes you on a deep dive into the <strong>real world of UX research</strong>, with a roadmap for including users with different abilities and needs.</p>

<div class="js-table-accordion accordion book__toc" id="TOC" aria-multiselectable="true">
    <dl class="accordion-list" style="margin-bottom: 1em" data-handler="Accordion">
          <dt tabindex="0" class="accordion-item" id="accordion-item-0" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  1. Disability Mindset
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-0" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>For inclusive research to succeed, we must first confront our mindset about disability, typically influenced by ableism.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-1" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  2. Diversity of Disability
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-1" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>Accessibility is not solely about blind screen reader users; disability categories help us unpack and process the diversity of disabled users.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-2" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  3. Disability in the Stages of UX Research
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-2" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>Disabled participants can and should be part of every research phase — formative, prototype, and summative.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-3" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  4. Recruiting Disabled Participants
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-3" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>Recruiting disabled participants is not always easy, but that simply means we need to learn strategies on where to look.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  5. Designing Your Research
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>While our goal is to influence accessible products, our research execution must also be accessible.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  6. Facilitating An Accessible Study
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>Preparation and communication with your participants can ensure your study logistics run smoothly.</p>
             </div>
         </dd>
           <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  7. Analyzing and Reporting with Accuracy and Impact
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>How you communicate your findings is just as important as gathering them in the first place — so prepare to be a storyteller, educator, and advocate.</p>
             </div>
         </dd> 
          <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  8. Disability in the UX Research Field
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>Inclusion isn’t just for research <em>participants</em>, it’s important for our <em>colleagues</em> as well, as explained by blind UX Researcher Dr. Cynthia Bennett.</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p>In the appendix, you’ll find helpful summaries and tips to optimize your testing environment and your interactions with participants.</p>
             </div>
         </dd>
    <span></span></dl>
</div>

<figure style="margin-bottom:0;padding-bottom:0" class="break-out article__image">
    <a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-27-opt.png" title="Tap for a large preview.">
    <img width="900" height="600" style="border-radius: 11px" src="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-27-opt.png" alt="The open book on a wooden table. The spread shows a table summarizing different types of assistive technologies, with a description of each assistive technology and information about its audience.">
    </a><figcaption>You’ll find plenty of useful references in the appendix at the end of the book. You’ll refer to these pages again and again. Photo by Marc Thiele. (<a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-27-opt.png">Large preview</a>)</figcaption>
</figure>

<h2 id="about-the-author">About the Author</h2>

<p><a href="https://mawconsultingllc.com/"><img loading="lazy" decoding="async" style="float:right;margin-top:1em;margin-left:0.9em;margin-bottom:1em;border-radius:50%;    max-width:calc(50% - 5vh);height:auto;" src="https://files.smashing.media/articles/accessible-ux-research-pre-release/michele-williams-opt.png" width="150" height="150" alt="Michele A. Williams" /></a>Dr. Michele A. Williams is owner of <a href="https://mawconsultingllc.com/">M.A.W. Consulting, LLC - Making Accessibility Work</a>. Her 20+ years of experience include influencing top tech companies as a Senior User Experience (UX) Researcher and Accessibility Specialist and obtaining a PhD in Human-Centered Computing focused on accessibility. An international speaker, <a href="https://scholar.google.com/citations?user=1IfsBJEAAAAJ&hl=en">published academic author</a>, and <a href="https://patents.justia.com/patent/10854103">patented inventor</a>, she is passionate about educating and advising on technology that does not exclude disabled users.</p>

<h2 id="testimonials">Testimonials</h2>

<blockquote style="font-style: normal"><img loading="lazy" decoding="async" style="clear:both;float:right;margin-top:0em;margin-left:0.9em;margin-bottom:1em;border-radius:50%; max-width:calc(50% - 5vh);height:auto;" src="https://files.smashing.media/articles/accessible-ux-research-pre-release/eric-bailey-opt.png" width="150" height="150" alt="Eric Bailey" />“<em>Accessible UX Research</em> stands as a vital and necessary resource. In addressing disability at the User Experience Research layer, it helps to set an equal and equitable tone for products and features that resonates through the rest of the creation process. The book provides a <strong>solid framework</strong> for all aspects of conducting research efforts, including not only process considerations, but also importantly the mindset required to approach the work.<br /><br />This is <strong>the book I wish I had</strong> when I was first getting started with my accessibility journey. It is a gift, and I feel so fortunate that Michele has chosen to share it with us all.”<br /><br />Eric Bailey, Accessibility Advocate</blockquote>

<blockquote style="font-style: normal"><img loading="lazy" decoding="async" style="clear:both;float:right;margin-top:0em;margin-left:0.9em;margin-bottom:1em;border-radius:50%; max-width:calc(50% - 5vh);height:auto;" src="https://files.smashing.media/articles/accessible-ux-research-pre-release/devon-pershing-opt.png" width="150" height="150" alt="Devon Pershing" />“User research in accessibility is non-negotiable for actually meeting users’ needs, and this book is a <strong>critical piece in the puzzle</strong> of actually doing and integrating that research into accessibility work day to day.”<br /><br />Devon Pershing, Author of <em>The Accessibility Operations Guidebook</em></blockquote>

<blockquote style="font-style: normal"><img loading="lazy" decoding="async" style="clear:both;float:right;margin-top:0em;margin-left:0.9em;margin-bottom:1em;border-radius:50%; max-width:calc(50% - 5vh);height:auto;" src="https://files.smashing.media/articles/accessible-ux-research-pre-release/manuel-matuzovic-opt.png" width="150" height="150" alt="Manuel Matuzović" />“Our decisions as developers and designers are often based on recommendations, assumptions, and biases. Usually, this doesn’t work, because checking off lists or working solely from our own perspective can never truly represent the <strong>depth of human experience</strong>. Michele’s book provides you with the strategies you need to conduct UX research with diverse groups of people, challenge your assumptions, and create truly great products.”<br /><br />Manuel Matuzović, Author of the <em>Web Accessibility Cookbook</em></blockquote>

<blockquote style="font-style: normal"><img loading="lazy" decoding="async" style="clear:both;float:right;margin-top:0em;margin-left:0.9em;margin-bottom:1em;border-radius:50%; max-width:calc(50% - 5vh);height:auto;" src="https://files.smashing.media/articles/accessible-ux-research-pre-release/anna-e-cook-opt.png" width="150" height="150" alt="Anna E. Cook" />“This book is a vital resource on inclusive research. Michele Williams expertly breaks down key concepts, guiding readers through disability models, language, and etiquette. A <strong>strong focus on real-world application</strong> equips readers to conduct impactful, inclusive research sessions. By emphasizing diverse perspectives and proactive inclusion, the book makes a compelling case for accessibility as a core principle rather than an afterthought. It is a must-read for researchers, product-makers, and advocates!”<br /><br />Anna E. Cook, Accessibility and Inclusive Design Specialist</blockquote>

<h2 id="technical-details">Technical Details</h2>

<ul>
<li>ISBN: <span class="small-caps">978-3-910835-03-0</span> (print)</li>
<li><strong>Quality hardcover</strong>, stitched binding, ribbon page marker.</li>
<li>Free worldwide airmail <strong>shipping from Germany</strong>.</li>
<li>eBook available for download as <strong>PDF, ePUB, and Amazon Kindle</strong>.</li>
</ul>

<figure style="margin-bottom:0;padding-bottom:0" class="break-out article__image">
    <a href="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-09-opt.png" title="Tap for a large preview of the book.">
    <img width="900" height="600" style="border-radius: 11px" src="https://files.smashing.media/articles/accessible-ux-research-release/accessible-ux-research-09-opt.png" alt="Hardcover edition of Michele Williams’ new book “Accessible UX Research” on a wooden table.">
    </a>
</figure>


<div class="book-cta__inverted">
	


	
	
	




















<div class="book-cta" data-handler="ContentTabs" data-mq="(max-width: 480px)">

  
 
<nav class="content-tabs content-tabs--books">
  <ul>
    <li class="content-tab">
      <a href="#">
        <button class="btn btn--small btn--white btn--white--bordered">
          Print + eBook
        </button>
      </a>
    </li>

    <li class="content-tab">
      <a href="#">
        <button class="btn btn--small btn--white btn--white--bordered">
          eBook
        </button>
      </a>
    </li>
  </ul>
</nav>


	<div class="book-cta__col book-cta__hardcover content-tab--content">
		<h3 class="book-cta__title">
			<span>Print + eBook</span>
		</h3>

		
			



	
	
	
	
	
	
	<script class="gocommerce-product" type="application/json" data-sku="accessible-ux-research" data-type="Book">
	{
		"sku": "accessible-ux-research",
		"type": "Book",
		"price": "44.00",
		
		"prices": [{
			"amount": "44.00",
			"currency": "USD",
			"items": [
				{"amount": "34.00", "type": "Book"},
				{"amount": "10.00", "type": "E-Book"}
			]
		}, {
			"amount": "44.00",
			"currency": "EUR",
			"items": [
				{"amount": "34.00", "type": "Book"},
				{"amount": "10.00", "type": "E-Book"}
			]
		}
		]
	}
	</script>


<span class="book-cta__price" data-handler="PriceTag" data-sku="accessible-ux-research" data-type="Book" data-insert="true">
  <span class="placeholder">
    
      
<span class="currency-sign">$</span>
44<sup class="sup">.00</sup>


    

    
  </span>
</span>

		
		<button class="btn btn--full btn--medium btn--text-shadow"
						
		        data-product-path="/printed-books/accessible-ux-research/"
						data-product-sku="accessible-ux-research"
            data-author="Michele Williams"
            data-authors=""
						data-link=""
						
            data-component="AddToCart">
			 Get Print + eBook
		</button>
		<p class="book-cta__desc">
			Quality hardcover. <a href="https://www.smashingmagazine.com/delivery-times/">Free worldwide shipping</a>.<br/> 100 days money-back-guarantee.
		</p>
	</div>
	<div class="book-cta__col book-cta__ebook content-tab--content">
		<h3 class="book-cta__title">
			<span>eBook</span>
		</h3>

		
			<div data-audience="anonymous free supporter" data-remove="true">
				



	
	
	
	
	
	
	<script class="gocommerce-product" type="application/json" data-sku="accessible-ux-research-ebook" data-type="E-Book">
	{
		"sku": "accessible-ux-research-ebook",
		"type": "E-Book",
		"price": "19.00",
		
		"prices": [{
			"amount": "19.00",
			"currency": "USD"
		}, {
			"amount": "19.00",
			"currency": "EUR"
		}
		]
	}
	</script>


<span class="book-cta__price" data-handler="PriceTag" data-sku="accessible-ux-research-ebook" data-type="E-Book" data-insert="true">
  <span class="placeholder">
    
      
<span class="currency-sign">$</span>
19<sup class="sup">.00</sup>


    

    
  </span>
</span>

			</div>
		

    
      <span class="book-cta__price hidden" data-audience="smashing member" data-remove="true">
        <span class="green">Free!</span>
      </span>
    

		<button class="btn btn--full btn--medium btn--text-shadow"
		        data-product-path="/printed-books/accessible-ux-research/"
						data-product-sku="accessible-ux-research-ebook"
            data-author="Michele Williams"
            data-authors=""
						data-link=""
            data-component="AddToCart"
						
            
              data-audience="anonymous free supporter"
              data-remove="true"
            
            >
			  Get the eBook
		</button>
		<p
      class="book-cta__desc"
      
        data-audience="anonymous free supporter"
        data-remove="true"
      
    >
			DRM-free, of course. ePUB, Kindle, PDF.<br/>Included with your <a href="https://www.smashingmagazine.com/membership/">Smashing Membership.</a>
		</p>

    
  <div data-audience="smashing member" class="hidden" data-remove="true">
    <a href="accessibleresearchpdf" class="btn btn--medium btn--green btn--full js-add-to-cart">
      Get the eBook
    </a>
    <p class="book-cta__desc book-cta__desc--light">
      <a href="accessibleresearchpdf">Download PDF</a>, <a href="accessibleresearchepub">ePUB</a>, <a href="accessibleresearchmobi">Kindle</a>.<br/>Thanks for being smashing!&nbsp;❤️
    </p>
  </div>


	</div>
</div>

</div>

<h2 id="community-matters">Community Matters ❤️</h2>

<p>Producing a book takes quite a bit of time, and we couldn’t pull it off without the support of our wonderful <strong>community</strong>. A huge shout-out to Smashing Members for the kind, ongoing support. The eBook is and always will be <a href="https://www.smashingmagazine.com/membership">free for <em>Smashing Members</em></a>. Plus, Members get a friendly discount when purchasing their printed copy. Just sayin’! ;-)</p>

<h2 id="more-smashing-books-and-goodies">More Smashing Books &amp; Goodies</h2>

<p>Promoting best practices and providing you with practical tips to master your daily coding and design challenges has always been (and will be) at the <strong>core of everything we do</strong> at Smashing.</p>

<p>In the past few years, we were very lucky to have worked together with some talented, caring people from the web community to publish their wealth of experience as <a href="/printed-books/">printed books that stand the test of time</a>. Trine, Heather, and Steven are three of these people. Have you checked out their books already?</p>

<div class="book-grid break-out book-grid__in-post">

<figure class="book--featured"><div class="book--featured__image"><a href="/printed-books/ethical-design-handbook/"><img loading="lazy" decoding="async" src="https://archive.smashing.media/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/1f1cc2de-e6ed-4262-a1cb-cc0b2d4e3243/ethical-design-cover-shop-opt.png" alt="The Ethical Design Handbook" width="160" height="232" /></a></div><figcaption><h4 class="book--featured__title"><a style="padding: 7px 0;text-decoration-skip-ink: auto;text-decoration-thickness: 1px;text-underline-offset: 1px;text-decoration-line: underline;text-decoration-color: #006fc6;" href="/printed-books/ethical-design-handbook/">The Ethical Design Handbook</a></h4><p class="book--featured__desc">A practical guide on ethical design for digital products.</p><p><a style="font-style: normal !important; color: #fff !important;" class="btn btn--medium btn--green" href="/printed-books/ethical-design-handbook/" data-product-path="/printed-books/ethical-design-handbook/" data-product-sku="ethical-design-handbook" data-component="AddToCart">Add to cart <span style="color:#fff;font-size:1em;">$44</span></a></p></figcaption></figure>

<figure class="book--featured"><div class="book--featured__image"><a href="/printed-books/understanding-privacy/"><img loading="lazy" decoding="async" src="https://archive.smashing.media/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/d2da7a90-acdb-43c7-82b2-5225c33ca4d7/understanding-privacy-cover-new-opt.png" alt="Understanding Privacy" width="160" height="232" /></a></div><figcaption><h4 class="book--featured__title"><a href="/printed-books/understanding-privacy/" style="padding: 7px 0;text-decoration-skip-ink: auto;text-decoration-thickness: 1px;text-underline-offset: 1px;text-decoration-line: underline;text-decoration-color: #006fc6;">Understanding Privacy</a></h4><p class="book--featured__desc">Everything you need to know to put your users first and make a better web.</p><p><a style="font-style: normal !important; color: #fff !important;" class="btn btn--medium btn--green" href="/printed-books/understanding-privacy/" data-product-path="/printed-books/understanding-privacy/" data-product-sku="understanding-privacy" data-component="AddToCart">Add to cart <span style="color:#fff;font-size:1em;">$44</span></a></p></figcaption></figure>

<figure class="book--featured"><div class="book--featured__image"><a href="/printed-books/touch-design-for-mobile-interfaces/"><img loading="lazy" decoding="async" src="https://archive.smashing.media/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/b14658fc-bb2d-41a6-8d1a-70eaaf1b8ec8/touch-design-book-shop-opt.png" alt="Touch Design for Mobile Interfaces" width="160" height="232" /></a></div><figcaption><h4 class="book--featured__title"><a style="padding: 7px 0;text-decoration-skip-ink: auto;text-decoration-thickness: 1px;text-underline-offset: 1px;text-decoration-line: underline;text-decoration-color: #006fc6;" href="/printed-books/touch-design-for-mobile-interfaces/">Touch Design for Mobile Interfaces</a></h4><p class="book--featured__desc">Learn how touchscreen devices really work &mdash; and how people really use them.</p><p><a style="font-style: normal !important; color: #fff !important;" class="btn btn--medium btn--green" href="/printed-books/touch-design-for-mobile-interfaces/" data-product-path="/printed-books/touch-design-for-mobile-interfaces/" data-product-sku="touch-design-for-mobile-interfaces" data-component="AddToCart">Add to cart <span style="color:#fff;font-size:1em;">$44</span></a></p></figcaption></figure>

</div>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(cm, il)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Ayomipo</author><title>Designing A Streak System: The UX And Psychology Of Streaks</title><link>https://www.smashingmagazine.com/2026/02/designing-streak-system-ux-psychology/</link><pubDate>Wed, 18 Feb 2026 15:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/02/designing-streak-system-ux-psychology/</guid><description>What makes streaks so powerful and addictive? To design them well, you need to understand how they align with human psychology. Victor Ayomipo breaks down the UX and design principles behind effective streak systems.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/02/designing-streak-system-ux-psychology/" />
              <title>Designing A Streak System: The UX And Psychology Of Streaks</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Designing A Streak System: The UX And Psychology Of Streaks</h1>
                  
                    
                    <address>Victor Ayomipo</address>
                  
                  <time datetime="2026-02-18T15:00:00&#43;00:00" class="op-published">2026-02-18T15:00:00+00:00</time>
                  <time datetime="2026-02-18T15:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>I’m sure you’ve heard of streaks or used an app with one. But ever wondered why streaks are so popular and powerful? Well, there is the obvious one that apps want as much of your attention as possible, but aside from that, did you know that when the popular learning app Duolingo introduced iOS widgets to display streaks, <a href="https://www.orizon.co/blog/duolingos-gamification-secrets#:~:text=When%20Duolingo%20introduced%20an%20iOS%20widget%20displaying%20streaks%2C%20user%20commitment%20increased%20by%2060%25!">user commitment surged by 60%</a>. Sixty percent is a massive shift in behaviour and demonstrates how “streak” patterns can be used to increase engagement and drive usage.</p>

<p>At its most basic, <strong>a streak is the number of consecutive days that a user completes a specific activity</strong>. Some people also define it as a “gamified” habit or a metric designed to encourage consistent usage.</p>

<p>But streaks transcend beyond being a metric or a record in an app; it is more psychological than that. Human instincts are easy to influence with the right factors. Look at these three factors: <strong>progress</strong>, <strong>pride</strong>, and fear of missing out (commonly called <a href="https://www.smashingmagazine.com/2019/11/fomo-increase-conversions/">FOMO</a>). What do all these have in common? <em>Effort</em>. The more effort you put into something, the more it shapes your identity, and that is how streaks crosses into the world of behavioural psychology.</p>

<p>Now, with great power comes great responsibility, and because of that, there’s a dark side to streaks.</p>

<p>In this article, we’ll be going into the psychology, UX, and design principles behind building an effective streak system. We’ll look at (1) why our brains almost instinctively respond to streak activity, (2) how to design streaks in ways that genuinely help users, and (3) the technical work involved in building a streak pattern.</p>

<h2 id="the-psychology-behind-streaks">The Psychology Behind Streaks</h2>

<p>To design and build an effective streak system, we need to understand how it aligns with how our brains are wired. Like, what makes it so effective to the extent that we feel so much intense dedication to protect our streaks?</p>

<p>There are three interesting, well-documented psychology principles that support what makes streaks so powerful and addictive.</p>

<h3 id="loss-aversion">Loss Aversion</h3>

<p>This is probably the strongest force behind streaks. I say this because most times, you almost can’t avoid this in life.</p>

<p>Think of it this way: If a friend gives you $100, you’d be happy. But if you lost $100 from your wallet, that would hurt way more. The emotional weight of those situations isn’t equal. Loss hurts way more than gain feels good.</p>

<p>Let’s take it further and say that I give you $100 and ask you to play a gamble. There’s a 50% chance you win another $100 and a 50% chance you lose the original $100. Would you take it? I wouldn’t. Most people wouldn’t. That’s loss aversion.</p>

<p>If you think about it, it is logical, it is understandable, it is human.</p>

<p>The concept behind loss aversion is that we feel the pain of losing something twice as much as the pleasure of gaining something of equal value. In psychological terms, loss lingers more than gains do.</p>

<p>You probably see how this relates to streaks. To build a noticeable streak, it requires effort; as a streak grows, the motivation behind it begins to fade; or more accurately, it starts to become secondary.</p>

<p>Here’s an example: Say your friend has a three-day streak closing their <a href="https://www.apple.com/watch/close-your-rings/">“Move Rings” on their Apple Watch</a>. They have almost nothing to lose beyond wanting to achieve their goal and be consistent. At the same time, you have an impressive 219-day streak going. Chances are that you are trapped by the <em>fear of losing it</em>. You most likely aren’t thinking about the achievement at this point; it’s more about protecting your invested effort, and that is loss aversion.</p>

<p><a href="https://blog.duolingo.com/how-duolingo-streak-builds-habit/#:~:text=This%20is%20when%20we%20tap%20into%20%22loss%20aversion%2C%22%20an%20internal%20bias%20in%20your%20brain%20that%20makes%20you%20particularly%20averse%20to%20losing%20something%2C%20like%20a%20learning%20streak.">Duolingo explains how loss aversion contributes to a user’s reluctance to break a long streak</a>, even on their laziest days. In a way, a streak can turn into a habit when loss aversion settles in.</p>

<h3 id="the-fogg-behaviour-model-b-map">The Fogg Behaviour Model (B = MAP)</h3>

<p>Now that we understand the fear of losing the effort invested in longer streaks, another question is: <em>What makes us do the thing in the first place, day after day, even before the streak gets big?</em></p>

<p>That’s what the <a href="https://www.behaviormodel.org">Fogg Behaviour Model</a> is about. It is relatively simple. A behaviour (B) only occurs when three factors &mdash; Motivation (M), Ability (A), and Prompt (P) &mdash; align at the same moment. Thus, the equation B=MAP.</p>

<p>If any of these factors, even one, is missing at that moment, the behaviour won’t happen.</p>

<p>So, for a streak system to be efficient and recurring, all three factors must be present:</p>

<p><strong>Motivation</strong><br />
This is fragile and not something that is consistently present. There are days when you’re pumped to learn Spanish, and days you don’t even feel an iota of willpower to learn the language. <strong>Motivation</strong> by itself to build a habit is unreliable and a losing battle from day one.</p>

<p><strong>Ability</strong><br />
To compensate for the limitations of motivation, <strong>ability</strong> is critical. In this context, ability means the ease of action, i.e, the effort is so easy that it’s unrealistic to say it isn’t possible. Most apps intentionally use this. Apple Fitness just needs you to stand for one minute in an hour to earn a tick towards your Stand goal. Duolingo only needs one completed lesson. These tasks do not require all that much effort. The barrier is so low that even on your worst days, you can do it. But the combined effort of an ongoing streak is where the idea of losing that streak kicks in.</p>

<p><strong>Prompt</strong><br />
This is what completes the equation. Humans are naturally forgetful, so yes, ability can get us 90% there. But a <strong>prompt</strong> reminds us to act. Streaks are persistent by design, so users need to be constantly reminded to act. To see how powerful a prompt can be, <a href="https://review.firstround.com/the-tenets-of-a-b-testing-from-duolingos-master-growth-hacker/#:~:text=Gina%20Gotthilf%2C%20VP,DAUs%2C%E2%80%9D%20she%20says.">Duolingo did an A/B test</a> to see if a little red badge on the app’s icon increased consistent usage. It produced a 6% increase in daily active users. <em>Just a red badge.</em></p>

<h4 id="model-limitations">Model Limitations</h4>

<p>All this being said, there is a limitation to the Fogg model whereby critics and modern research have noticed that a design that relies too heavily on prompts, like aggressive notifications, risks creating mental fatigue. Constant notifications and overtime could cause users to churn. So, watch out for that.</p>

<h3 id="the-zeigarnik-effect">The Zeigarnik Effect</h3>

<p>How do you feel when you leave a task of project half-done? That irritates many people because unfinished tasks occupy more mental space than the things we complete. When something is done and gone, we tend to forget it. When something is left undone, it tends to weigh on our minds.</p>

<p>This is exactly why digital products use artificial progress indicators, like Upwork&rsquo;s profile completion bar, to let a user know that their profile is only “60% complete”. It nudges the user to finish what they started.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="325"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png"
			
			sizes="100vw"
			alt="Upwork’s profile completion progress bar"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Upwork’s profile completion progress bar. (<a href='https://files.smashing.media/articles/designing-streak-system-ux-psychology/1-upwork-profile-completion-progress-bar.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Let’s look at another example. You have five tasks in a to-do list app, and at the end of the day, you only check four of them as completed. Many of us will feel unaccomplished because of that one unfinished task. That, right there, is the <strong>Zeigarnik effect</strong>.</p>

<p><a href="https://en.wikipedia.org/wiki/Zeigarnik_effect">The Zeigarnik effect</a><a href="https://en.wikipedia.org/wiki/Zeigarnik_effect">he</a> was demonstrated by psychologist Bluma Zeigarnik, who described that we tend to keep incomplete tasks active in our memory longer than completed tasks.</p>

<p>A streak pattern naturally taps into this in UX design. Let’s say you are on day 63 of a learning streak. At that point, you’re in an ongoing pattern of unfinished business. Your brain would rarely forget about it as it sits in the back of your mind. At this point, your brain becomes the one sending you notifications.</p>

<p>When you put these psychological forces together, you begin to truly understand why streaks aren’t just a regular app feature; they are capable of reshaping human behaviour.</p>

<p>But somewhere along the line &mdash; I can’t say exactly when, as it differs for everyone &mdash; things reach a point where a streak shifts from “fun” to something you feel you can’t afford to lose. You don’t want 58 days of effort to go to waste, do you? That is what makes a streak system effective. If done right, <strong>streaks help users build astounding habits that accomplish a goal</strong>. It could be reading daily or hitting the gym consistently.</p>

<p>These repeated actions (sometimes small) compound over time and become evident in our daily lives. But there are two sides to every coin.</p>

<h2 id="the-thin-line-between-habit-and-compulsion">The Thin Line Between Habit And Compulsion</h2>

<p>If you have been following along, you can already tell there’s a dark side to streak systems. Habit formation is about consistency with a repeated goal. Compulsion, however, is the consistency of working on a goal that is no longer needed but held onto out of fear or pressure. It is a razor-thin line.</p>

<p>You brush your teeth every morning without thinking; it is automatic and instinctive, with a clear goal of having good breath. That’s a streak that forms a good habit. An ethical streak system gives users space to breathe. If, for some reason, you don’t brush in the morning, you can brush at noon. Imperfection is allowed without fear of losing a long effort.</p>

<p>Compulsion takes the opposite route, whereby a streak makes you anxious, you feel guilty or even exhausted, and sometimes, it feels like you haven’t accomplished anything, despite all your work. You act not because you want to, but because you’re subconsciously terrified of seeing your progress reset to zero.</p>

<p>Someone even described this perfectly, “<a href="https://www.thecut.com/2019/04/why-breaking-a-streak-feels-so-awful.html#:~:text=Callie%20Beusman%2C%20the,day%20151%20now.%E2%80%9D"><em>I felt that I was cheating, but simply did not care. I am nothing without my streak</em></a>”. This shows the extreme hold streaks can have on an individual. To the extent that users begin to tie their self-worth to an arbitrary metric rather than the original goal or reason they started the streak in the first place. The streak becomes who they are, not just what they do.</p>

<p>A well-designed <strong>ethical</strong> streak system should feel like <strong>encouragement</strong> to the user, not pressure or obligation. This relates to the balance of intrinsic and extrinsic motivation. Extrinsic motivation (external rewards, avoiding punishment) might get users started, but intrinsic motivation (doing the task for a personal goal like learning Spanish because you genuinely want to communicate with a loved one) is stronger for long-term engagement.</p>

<p>A good system should gravitate towards intrinsic motivation with careful use of extrinsic elements, i.e., remind users of how far they have come, not threaten them with what they might lose. Again, it is a fine line.</p>

<p>A simple test when designing a streak system is to actually take some time and think whether your products make money by selling solutions to anxiety that your product created. If yes, there’s a high chance you are exploiting users.</p>

<p>So the next question becomes, <em>If I choose to use streak, how do I design it in a way that genuinely helps users achieve their goals?</em></p>

<h3 id="the-ux-of-good-streak-system-design">The UX of Good Streak System Design</h3>

<p>I believe this is where most projects either nail an effective streak system or completely mess it up. Let’s go through some UX principles of a good streak design.</p>

<h3 id="keep-it-effortless">Keep It Effortless</h3>

<p>You’ve probably heard this before, maybe from books like <a href="https://jamesclear.com/atomic-habits"><em>Atomic Habits</em></a>, but it’s worth mentioning that one of the easiest ways habits can be formed is by making the action tiny and easy. This is similar to the <em>ability</em> factor we discussed from the Fogg Behaviour Model.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20first%20rule%20of%20any%20streak%20design%20should%20be%20making%20the%20required%20action%20as%20small%20as%20humanly%20possible%20while%20still%20achieving%20progress.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fdesigning-streak-system-ux-psychology%2f">
      
The first rule of any streak design should be making the required action as small as humanly possible while still achieving progress.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>If a daily action requires willpower to complete, that action won’t make it past five days. Why? You can’t be motivated five days in a row.</p>

<p>Case in point: If you run a meditation app, you don’t need to make users go through a 20-minute session just to maintain the streak. Try a single minute, maybe even something as small as thirty seconds, instead.</p>

<p>As the saying goes, <a href="https://en.wikipedia.org/wiki/Little_Things_(poem)"><em>little drops of water make the mighty ocean</em></a>. Small efforts compile into big achievements with time. That should be the goal: remove friction, especially when the moment might be difficult. When users are stressed or overwhelmed, let them know that simply showing up, even for a few seconds, counts as effort.</p>

<h3 id="provide-clear-visual-feedback">Provide Clear Visual Feedback</h3>

<p>Humans are visual by nature. Most times, we need to see something to believe; there’s this need to visualize things to understand them better and put things into perspective.</p>

<p>This is why streak patterns often use visual elements, like graphs, checkmarks, progress rings, and grids, to visualize effort. Look at GitHub’s contribution graph. It is a simple visualization of consistency. Yet developers breathe it in like oxygen.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="207"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png"
			
			sizes="100vw"
			alt="The contributions graph displayed on a GitHub user profile"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The contributions graph displayed on a GitHub user profile. (<a href='https://files.smashing.media/articles/designing-streak-system-ux-psychology/2-contributions-graph.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>The key is not to make a streak system feel abstract.</strong> It should feel real and earned. For instance, Duolingo and Apple’s Fitness activity rings use clean animation designs on completion of a streak, and GitHub shows historical data of a user’s consistency over time.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="610"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png"
			
			sizes="100vw"
			alt="Apple Watch Fitness shows a limited animated badge on completion of all three Activity rings."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Apple Watch Fitness shows a limited animated badge on completion of all three Activity rings. (Image source: <a href='https://www.apple.com/'>Apple</a>) (<a href='https://files.smashing.media/articles/designing-streak-system-ux-psychology/3-apple-watch-fitness.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="use-good-timing">Use Good Timing</h3>

<p>I mentioned earlierthat  humans are generally forgetful by nature, and that prompts can help maintain forward momentum. Without prompts, most <em>new</em> users forget to keep going. Life can get busy, motivation disappears, and things happen. Even long-time users benefit from prompts, though most times, they are already locked inside the habit loop. Nevertheless, even the most committed person can accidentally miss a day.</p>

<p>Your streak system most definitely needs reminders. The most-used prompt reminders are <a href="https://www.smashingmagazine.com/2022/04/guide-push-notifications-developers/">push notifications</a>. Timing really matters when working with push notifications. The type of app matters, too. Sending a notification at 9 a.m. saying <em>“You haven’t practiced today”</em> is just weird for a learning app because many have things to do in the day before they even think about completing a lesson. If we’re talking about a fitness app, though, it is reasonable and maybe even expected to be reminded earlier in the day.</p>

<p><a href="https://clevertap.com/blog/best-time-to-send-push-notifications/#:~:text=Need%20to%20Know!-,Industry%2DSpecific%20Timing%3A%20Tailor%20Your%20Approach,-Different%20industries%20have">Push notifications vary significantly by app category</a>. Fitness apps, for instance, see higher engagement with early morning notifications (7&ndash;8 AM), while productivity apps might perform better in early noon. The key is to A/B test your app’s timing based on your users&rsquo; behaviours rather than assuming things are one-size-fits-all. What works for a meditation app might not work for a coding tracker.</p>

<p>Other prompt methods are red dots on the app icon and even app widgets. Studies vary, but <a href="https://www.nber.org/system/files/working_papers/w28936/w28936.pdf?utm_campaign=PAN%5B…%5Dtm_medium=PANTHEON_STRIPPED&amp;%3Butm_source=PANTHEON_STRIPPEDhttps://www.nber.org/system/files/working_papers/w28936/w28936.pdf?utm_campaign=PAN%5B…%5Dtm_medium=PANTHEON_STRIPPED&amp;%3Butm_source=PANTHEON_STRIPPED">the average person unlocks their device between 50-150 times a day</a> (PDF). If a user sees a red dot on an app or a widget that indicates a current streak every time they unlock their phone, it increases commitment.</p>

<p>Just don’t overdo it; the prompt should serve as a reminder, not a nag.</p>

<h3 id="celebrate-milestones">Celebrate Milestones</h3>

<p>A streak system should try to celebrate milestones to reignite emotions, especially for users deep into a streak.</p>

<p>When a user hits Day 7, Day 30, Day 50, Day 100, Day 365, you should make a big deal out of it. Acknowledge achievements &mdash; especially for long-time users.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="548"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg"
			
			sizes="100vw"
			alt="Apple watch achievement badges awards"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://www.apple.com/'>Apple</a>. (<a href='https://files.smashing.media/articles/designing-streak-system-ux-psychology/4-apple-animated-badges.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>As we saw earlier, Duolingo figured this out and implemented an animated graphic that celebrates milestones with confetti. Some platforms even give substantial bonus rewards that validate users’ efforts. And this can be beneficial to apps, such that users tend to share their milestones publicly on social media.</p>

<p>Another benefit is the anticipation that comes before reaching milestones. It isn’t just keeping the streak alive endlessly; users have something to look forward to.</p>

<h3 id="use-grace-mechanisms">Use Grace Mechanisms</h3>

<p>Life is unpredictable. People get distracted. Any good streak system should expect imperfection. One of the biggest psychological threats to a streak system is the hard reset to zero after just a single missed day.</p>

<p>An “ethical” streak system should provide the user with some slack. Let’s say you have a 90-day chess learning streak. You have been consistent for three good months, and one day, your phone dies while traveling, and just like that, 90 becomes 0 &mdash; everything, all that effort, is erased, and progress vanishes. The user might be completely devastated. The thought of rebuilding it from scratch is so demoralizing that the effort isn’t worth it. At worst, a user might abandon the app after feeling like a failure.</p>

<p>Consider adding a “grace” mechanism to your streak system:</p>

<ul>
<li><strong>Streak Freeze</strong><br />
Allow users to intentionally miss a day without penalties.</li>
<li><strong>Extra Time</strong><br />
Allow a few hours (2&ndash;3) past the usual deadline before triggering a reset.</li>
<li><strong>Decay Models</strong><br />
Instead of a hard reset, the streak decreases by a small amount, e.g., 10 days is deducted from the streak per missed day.</li>
</ul>

<h3 id="use-an-encouraging-tone">Use An Encouraging Tone</h3>

<p>Let’s compare two messages shown to users when a streak breaks:</p>

<ol>
<li>“You lost your 42-day streak. Start over.”</li>
<li>“You showed up for 42 days straight. That’s incredible progress! Wanna give it another try?”</li>
</ol>

<p>Both convey the same information, but the emotional impact is different. The first message would most likely make a user feel demoralized and cause them to quit. The second message celebrates what has already been achieved and gently encourages the user to try again.</p>

<h2 id="streak-systems-design-challenges">Streak Systems Design Challenges</h2>

<p>Before we go into the technical specifics of building a streak system, you should be aware of the challenges that you might face. Things can get complicated, as you might expect.</p>

<h3 id="handling-timezones">Handling Timezones</h3>

<p>There is a reason why handling time and date is among the most difficult concepts developers deal with. There’s formatting, internationalization, and much more to consider.</p>

<p>Let me ask you this: <em>What counts as a day?</em></p>

<p>We know the world runs on different time zones, and as if that is not enough, some regions have Daylight Saving Time (DST) that happens twice a year. Where do you even begin handling these edge cases? What counts as the “start” of tomorrow?</p>

<p>Some developers try to avoid this by using one central timezone, like UTC. For some users, this would yield correct results, but for some, it could be off by an hour, two hours, or more. This inconsistency ruins the user experience. Users care less how you handle the time behind the scenes; all they expect is that if they perform a streak action at 11:40 p.m., then it should register at that exact time, in their context. You should define “one day” based on the user’s local timezone, not the server time.</p>

<p>Sure, you can take the easy route and reset streaks globally for all users at midnight UTC, but you are very much creating unfairness. Someone in California always has eight extra hours to complete their task than someone living in London. That’s an unjust design flaw that punishes certain users because of their location. And what if that person in London is only visiting, completes a task, then returns to another timezone?</p>

<p>One effective solution to all these is to ask users to explicitly set their timezone during onboarding (preferably after first authentication). It’s a good idea to include a subtle note that providing timezone information is only used for the app to accurately track progress, rather than being used as personally identifiable data. And it’s another good idea to make that a changeable setting.</p>

<p>I suggest that anyone avoid directly handling timezone logic in an app. Use tried-and-true date libraries, like <a href="https://momentjs.com">Moment.js</a> or <a href="https://pypi.org/project/pytz/">pytz</a> (Python), etc. There’s no need to reinvent the wheel for something as complex as this.</p>

<h3 id="missed-days-and-edge-cases">Missed Days And Edge Cases</h3>

<p>Another challenge you should worry about is uncontrollable edge cases like users oversleeping, server downtime, lag, network failures, and so on. Using the idea of <strong>grace mechanisms</strong>, like the ones we discussed earlier, can help.</p>

<p>A grace window of two hours might help both user and developer, in the sense that users are not rigidly punished for uncontrollable life circumstances. For developers, grace windows are helpful in those uncontrollable moments when the server goes down in the middle of the night.</p>

<p>Above all, never trust the client. Always validate on the server-side. The server should be the single source of truth.</p>

<h3 id="cheating-prevention">Cheating Prevention</h3>

<p>Again, I cannot stress this enough: <strong>Make sure to validate everything server-side.</strong> Users are humans, and humans might cheat if given the opportunity. It is unavoidable.</p>

<p>You might try:</p>

<ul>
<li><strong>Storing all actions with UTC timestamps.</strong><br />
The client can send their local time, but the server can immediately convert that to UTC and validate against the server time. That way, if the client&rsquo;s timestamp is suspiciously far, the system can reject it as an error, and the UI can respond accordingly.</li>
<li><strong>Using event-based tracking.</strong><br />
In other words, store a record of each action with metadata including information like the user’s ID, the type of action performed, and the timestamp and timezone. This helps with validation.</li>
</ul>

<h2 id="building-a-streak-system-engine">Building A Streak System Engine</h2>

<p>This isn’t a code tutorial, so I will avoid dumping a bunch of code on you. I’ll keep this practical and describe how things generally operate a streak system engine as far as architecture, flow, and reliability.</p>

<h3 id="core-architecture">Core Architecture</h3>

<p>As I’ve said several times, make the serverthe single source of truth for streak data. The architecture can go something like this on the server:</p>

<ul>
<li>Store each user’s data in a database.</li>
<li>Store the current streak store (default as 0) as an integer.</li>
<li>Store the timezone preference, i.e., IANA Timezone string (either implicitly from local timestamp or explicitly by asking user to select their timezone). For example, “America/New_York”.</li>
<li>Handle all logic to determine if the streak continues or breaks, with a timezone check that is relative to the user’s local timezone.</li>
</ul>

<p>Meanwhile, on the client-side:</p>

<ul>
<li>Display the current streak, normally fetched from the server.</li>
<li>Send action done in the form of metadata to the server to validate whether the user actually completed a qualifying streak action.</li>
<li>Provide visual feedback based on the server responses.</li>
</ul>

<p>So, in short, the brain is on the server, and the client is for display purposes and submitting events. This saves you a lot of failures and edge cases, plus makes updates and fixes easier.</p>

<h3 id="the-logical-flow">The Logical Flow</h3>

<p>Let’s simulate a walkthrough of how a minimal efficient streak system engine would go when a user completes an action:</p>

<ol>
<li>The user completes a qualifying streak action.</li>
<li>The client sends an event to the server as metadata. This could be “User X completed action Y at timestamp Z”.</li>
<li>The server receives this event and does basic validation. Is this a real user? Are they authenticated? Is the action valid? Is the timezone consistent?</li>
<li>If this passes, the server retrieves the user’s streak data from the database.</li>
<li>Then, convert the received action timestamp to the user’s local timezone.</li>
<li>Let the server compare the calendar dates (not timestamps) in the user&rsquo;s local timezone:

<ul>
<li>If it is the same day, then the action is redundant and there is no change in the streak.</li>
<li>If it is the next day, then the streak extends and increments by 1.</li>
<li>If there is a gap of more than one day, the streak breaks. However, this is where you might apply grace mechanics.</li>
<li>If the grace mechanism is missed, then reset the streak to 1.</li>
</ul></li>
<li>If you choose to save historical data for milestone achievements, then update variables like “longest streak” or “total active days”.</li>
<li>The server then updates the database and responds to the client. Something like this:</li>
</ol>

<pre><code class="language-json">{
  "current&#95;streak": 48,
  "longest&#95;streak": 50,
  "total&#95;active_days": 120,
  "streak&#95;extended": true,
}
</code></pre>

<p>As a further measure, the server should either retry or reject and notify the client when anything fails during the process.</p>

<h3 id="building-for-resilience">Building For Resilience</h3>

<p>As mentioned before, users losing a streak due to bugs or server downtime is terrible UX, and users don’t expect to take the fall for it. Thus, your streak system should have safeguards for those scenarios.</p>

<p>If the server is down for maintenance (or whatever reason), consider allowing a temporary window of additional hours to get it fixed so actions can be submitted late and still count. You can also choose to notify users, especially if the situation is capable of affecting an ongoing streak.</p>

<p><strong>Note</strong>: Establish an admin backdoor where data can be manually restored. Bugs are inevitable, and some users would call your app out or reach out to support that their streak broke for a reason they could not control. You should be able to manually restore the streaks if, after investigation, the user is right.</p>

<h2 id="conclusion">Conclusion</h2>

<p>One thing remains clear: Streaks are really powerful because of how human psychology works on a fundamental level.</p>

<p>The best streak system out there is the one that users don’t think about consciously. It has become a routine of immediate results or visible progress, like brushing teeth, which becomes a regular habit.</p>

<p>And I’m just gonna say it: Not all products need a streak system. Should you really force consistency just because you want daily active users? The answer may very well be “no”.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(gg, yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Kat Homan</author><title>Building Digital Trust: An Empathy-Centred UX Framework For Mental Health Apps</title><link>https://www.smashingmagazine.com/2026/02/building-empathy-centred-ux-framework-mental-health-apps/</link><pubDate>Fri, 13 Feb 2026 15:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/02/building-empathy-centred-ux-framework-mental-health-apps/</guid><description>Designing for mental health means designing for vulnerability. Empathy-Centred UX becomes not a “nice to have” but a fundamental design requirement. Here’s a practical framework for building trust-first mental health products.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/02/building-empathy-centred-ux-framework-mental-health-apps/" />
              <title>Building Digital Trust: An Empathy-Centred UX Framework For Mental Health Apps</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Building Digital Trust: An Empathy-Centred UX Framework For Mental Health Apps</h1>
                  
                    
                    <address>Kat Homan</address>
                  
                  <time datetime="2026-02-13T15:00:00&#43;00:00" class="op-published">2026-02-13T15:00:00+00:00</time>
                  <time datetime="2026-02-13T15:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Imagine a user opening a mental health app while feeling overwhelmed with anxiety. The very first thing they encounter is a screen with a bright, clashing colour scheme, followed by a notification shaming them for breaking a 5-day “mindfulness streak,” and a paywall blocking the meditation they desperately need at that very moment. This experience isn’t just poor design; it can be actively harmful. It betrays the user’s vulnerability and erodes the very trust the app aims to build.</p>

<p>When designing for mental health, this becomes both a critical challenge and a valuable opportunity. Unlike a utility or entertainment app, the user’s emotional state cannot be treated as a secondary context. It <em>is</em> the environment your product operates in.</p>

<p><a href="https://www.who.int/news/item/02-09-2025-over-a-billion-people-living-with-mental-health-conditions-services-require-urgent-scale-up">With over a billion people</a> living with mental health conditions and persistent gaps in access to care, safe and evidence-aligned digital support is increasingly relevant. The margin for error is negligible. <strong>Empathy-Centred UX</strong> becomes not a “nice to have” but a fundamental design requirement. It is an approach that moves beyond mere functionality to deeply understand, respect, and design for the user’s intimate emotional and psychological needs.</p>

<p>But how do we translate this principle into practice? How do we build digital products that are not just useful, but truly trustworthy?</p>

<p>Throughout my career as a product designer, I’ve found that trust is built by consistently meeting the user’s emotional needs at every stage of their journey. In this article, I will translate these insights into a <strong>hands-on empathy-centred UX framework</strong>. We will move beyond theory to dive deeper into applicable tools that help create experiences that are both humane and highly effective.</p>

<p>In this article, I’ll share a practical, repeatable framework built around three pillars:</p>

<ol>
<li><strong>Onboarding</strong> as a supportive first conversation.</li>
<li><strong>Interface design</strong> for a brain in distress.</li>
<li><strong>Retention patterns</strong> that deepen trust rather than pressure users.</li>
</ol>

<p>Together, these pillars offer a grounded way to design mental health experiences that prioritise trust, emotional safety, and real user needs at every step.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="the-onboarding-conversation-from-a-checklist-to-a-trusted-companion">The Onboarding Conversation: From a Checklist to a Trusted Companion</h2>

<p>Onboarding is “a first date” between a user and the app &mdash; and the first impression carries immense stakes, determining whether the user decides to continue engaging with the app. In mental health tech, with up to <a href="https://link.springer.com/article/10.1186/s13690-024-01362-w">20,000 mental-health-related apps</a> on the market, product designers face a dilemma of how to integrate onboarding’s primary goals without making the design feel too clinical or dismissive for a user seeking help.</p>

<blockquote><strong>The Empathy Tool</strong><br /><br />In my experience, I have found it essential <strong>to design onboarding as the first supportive conversation.</strong> The goal is to help the user feel seen and understood by delivering a small dose of relief quickly, not just overload them with data and the app’s features.</blockquote>

<h3 id="case-study-a-teenager-s-parenting-journey">Case Study: A Teenager’s Parenting Journey</h3>

<p>At <a href="https://play.google.com/store/apps/details?id=world.dobra.teeni"><em>Teeni</em></a>, an app for parents of teenagers, onboarding requires an approach that solves two problems: (1) acknowledge the emotional load of parenting teens and show how the app can share that load; (2) collect just enough information to make the first feed relevant.</p>

<h4 id="recognition-and-relief">Recognition And Relief</h4>

<p>Interviews surfaced a recurring feeling among parents: <em>“I’m a bad parent, I’ve failed at everything.”</em> My design idea was to provide early relief and normalisation through a city-at-night metaphor with lit windows: directly after the welcome page, a user engages with three brief, animated and optional stories based on frequent challenges of teenage parenting, in which they can recognise themselves (e.g., a story of a mother learning to manage her reaction to her teen rolling their eyes). This narrative approach reassures parents that they are not alone in their struggles, normalising and helping them cope with <a href="https://www.npr.org/sections/health-shots/2014/07/16/326953698/want-more-stress-in-your-life-try-parenting-a-teenager#">stress</a> and other <a href="https://www.nhs.uk/mental-health/children-and-young-adults/advice-for-parents/cope-with-your-teenager/">complex emotions</a> from the very beginning.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png"
			
			sizes="100vw"
			alt="Teeni onboarding"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Teeni onboarding is designed as support first: it acknowledges the emotional load of parenting teens, then uses optional peer stories to help parents feel less alone. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/1-teeni-onboarding.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>Note:</strong> Early usability sessions indicated strong emotional resonance, but post-launch analytics showed that the optionality of the storytelling must be explicit. The goal is to balance the storytelling to avoid overwhelming the distressed parent, directly acknowledging their reality: <em>“Parenting is tough. You’re not alone.”</em></p>

<h4 id="progressive-profiling">Progressive Profiling</h4>

<p>To tailor guidance to each family, we defined the minimal data needed for personalisation. On the first run, we collect only the essentials for a basic setup (e.g., parent role, number of teens, and each teen’s age). Additional, yet still important, details (specific challenges, wishes, requests) are gathered gradually as users progress through the app, avoiding long forms for those who need support immediately.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png"
			
			sizes="100vw"
			alt="Progressive profiling in Teeni"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Progressive profiling in Teeni: Collect minimum data during onboarding and ask for additional details later when needed. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/2-progressive-profiling-teeni.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The entire onboarding is centred around a consistently supportive choice of words, turning a typically highly practical, functional process into a way to connect with the vulnerable user on a deeper emotional level, while keeping an explicit fast path.</p>

<h3 id="your-toolbox">Your Toolbox</h3>

<ul>
<li><strong>Use Validating Language</strong><br />
Start with “It’s okay to feel this way,” not “Allow notifications.”</li>
<li><strong>Understand “Why”, not just “What”</strong><br />
Collect only what you’ll use now and defer the rest via progressive profiling. Use simple, goal-focused questions to personalise users’ experience.</li>
<li><strong>Prioritise Brevity and Respect</strong><br />
Keep onboarding skimmable, make optionality explicit, and let user testing define the minimum effective length &amp;mdashl the shorter is usually the better.</li>
<li><strong>Keep an Eye on Feedback and Iterate</strong><br />
Track time-to-first-value and step drop-offs; pair these with quick usability sessions, then adjust based on what you learn.</li>
</ul>

<p>This initial conversation sets the stage for trust. But this trust is fragile. The next step is to ensure the app’s very environment doesn’t break it.</p>

<h2 id="the-emotional-interface-maintaining-trust-in-a-safe-environment">The Emotional Interface: Maintaining Trust In A Safe Environment</h2>

<p>A user experiencing anxiety or depression often shows <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC6520478/">reduced cognitive capacity, which affects their attention span and the speed with which they process information</a> and lowers tolerance for dense layouts and fast, highly stimulating visuals. This means that high-saturation palettes, abrupt contrast changes, flashing, and dense text can feel overwhelming for them.</p>

<blockquote><strong>The Empathy Tool</strong><br /><br />When designing a user flow for a mental health app, I always apply the Web Content Accessibility Guidelines 2.2 as a foundational baseline. On top of that, I choose a <strong>“low-stimulus”</strong>, “familiar and safe” visual language to minimise the user’s cognitive load and create a calm, predictable, and personalised environment. Where appropriate, I add subtle, opt-in haptics and gentle micro-interactions for sensory grounding, and offer voice features as an option in high-stress moments (alongside low-effort tap flows) to enhance accessibility.</blockquote>

<p>Imagine you need to guide your users “by the hand”: we want to make sure their experience is as effortless as possible, and they are quickly guided to the support they need, so we avoid complicated forms and long wordings.</p>

<h3 id="case-digital-safe-space">Case: Digital Safe Space</h3>

<p>For the app focused on instant stress relief, <em><a href="https://play.google.com/store/apps/details?id=world.dobra.bearroom">Bear Room</a></em>, I tested a “cosy room” design. My initial hypothesis was validated through a critical series of user interviews: the prevailing design language of many mental health apps appeared misaligned with the needs of our audience. Participants grappling with conditions such as PTSD and depression repeatedly described competing apps as “too bright, too happy, and too overwhelming,” which only intensified their sense of alienation instead of providing solace. This suggested a mismatch for our segment, which instead sought a sense of safety in the digital environment.</p>

<p>This feedback informed a low-arousal design strategy. Rather than treating “safe space” as a visual theme, we approached it as a <strong>holistic sensory experience</strong>. The resulting interface is a direct antithesis to digital overload; it gently guides the user through the flow, keeping in mind that they are likely in a state where they lack the capacity to concentrate. The text is divided into smaller parts and is easily scannable and quickly defined. The emotional support tools &mdash; such as a pillow &mdash; are highlighted on purpose for convenience.</p>

<p>The interface employs a carefully curated, non-neon, earthy palette that feels grounding rather than stimulating, and it rigorously eliminates any sudden animations or jarring bright alerts that could trigger a stress response. This deliberate calmness is not an aesthetic afterthought but the app’s most critical feature, establishing a foundational sense of <strong>digital safety</strong>.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png"
			
			sizes="100vw"
			alt="Bear Room’s “cosy room” interface"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Bear Room’s “cosy room” interface uses a low-arousal visual language, validated by user interviews as calming and welcoming. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/3-bear-room-interface.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>To foster a sense of personal connection and psychological ownership, the room introduces three opt-in “personal objects”: Mirror, Letter, and Frame. Each invites a small, successful act of contribution (e.g., leaving a short message to one’s future self or curating a set of personally meaningful photos), drawing on the <a href="https://www.hbs.edu/ris/Publication%20Files/11-091.pdf">IKEA effect</a> (PDF).</p>

<p>For instance, Frame functions as a personal archive of comforting photo albums that users can revisit when they need warmth or reassurance. Because Frame is represented in the digital room as a picture frame on the wall, I designed an optional layer of customisation to deepen this connection: users can replace the placeholder with an image from their collection &mdash; a loved one, a pet, or a favourite landscape &mdash; displayed in the room each time they open the app. This choice is voluntary, lightweight, and reversible, intended to help the space feel more “mine” and deepen attachment without increasing cognitive load.</p>

<p><strong>Note:</strong> Always adapt to the context. Try to avoid making the colour palette too pastel. It is useful to balance the brightness based on the user research, to protect the right level of the app’s contrast.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png"
			
			sizes="100vw"
			alt="Parent preference feedback for Teeni’s palette options"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Parent preference feedback for Teeni’s palette options: the selected scheme felt “teen-parenting appropriate,” while brighter/pastel options were rejected as “too bright,” “too toddler-ish,” or not matching parenting a teen. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/4-teeni-palette-option.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="case-emotional-bubbles">Case: Emotional Bubbles</h3>

<p>In <a href="https://play.google.com/store/apps/details?id=world.dobra.food4mood"><em>Food for Mood</em></a>, I used a visual metaphor: coloured bubbles representing goals and emotional states (e.g., a dense red bubble for “Performance”). This allows users to externalise and visualise complex feelings without the cognitive burden of finding the right words. It’s a UI that speaks the language of emotion directly.</p>

<p>In an informal field test with young professionals (the target audience) in a co-working space, participants tried three interactive prototypes and rated each on simplicity and enjoyment. The standard card layout scored higher on simplicity, but the bubble carousel scored better on engagement and positive affect &mdash; and became the preferred option for the first iteration. Given that the simplicity trade-off was minimal (<sup>4</sup>&frasl;<sub>5</sub> vs. <sup>5</sup>&frasl;<sub>5</sub>) and limited to the first few seconds of use, I prioritised the concept that made the experience feel more emotionally rewarding.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png"
			
			sizes="100vw"
			alt="Concept-stage field test scores"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Concept-stage field test scores: the bubble carousel balanced high enjoyment (5/5) with near-top simplicity (4/5). (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/5-concept-stage-field-test-scores.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="case-micro-interactions-and-sensory-grounding">Case: Micro-interactions And Sensory Grounding</h3>

<p>Adding a touch of tactile micro-interactions like bubble-wrap popping in <a href="https://play.google.com/store/apps/details?id=world.dobra.bearroom"><em>Bear Room</em></a>, may also offer users moments of kinetic relief. Integrating deliberate, tactile micro-interactions, such as the satisfying bubble-wrap popping mechanic, provides a focused act that can help an overwhelmed user feel more grounded. It offers a moment of pure, sensory distraction for a person stuck in a torrent of stressful thoughts. This isn’t about gamification in the traditional, points-driven sense; it’s about offering a <strong>controlled, sensory interruption to the cycle of anxiety</strong>.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png"
			
			sizes="100vw"
			alt="Bear Room’s “bubble-wrap” grounding micro-interaction"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Bear Room’s “bubble-wrap” grounding micro-interaction, with opt-in vibration and sound. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/10-bear-room-bubble-wrap.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>Note:</strong> Make tactile effects opt-in and predictable. Unexpected sensory feedback can increase arousal rather than reduce it for some users.</p>

<h3 id="case-voice-assistants">Case: Voice Assistants</h3>

<p>When a user is in a state of high anxiety or depression, it can become an extra effort for them to type something in the app or make choices. In moments when attention is impaired, and a simple, low-cognitive choice (e.g., ≤4 clearly labelled options) isn’t enough, voice input can offer a lower-friction way to engage and communicate empathy.</p>

<p>In both <a href="https://play.google.com/store/apps/details?id=world.dobra.teeni"><em>Teeni</em></a> and <a href="https://play.google.com/store/apps/details?id=world.dobra.bearroom"><em>Bear Room</em></a>, voice was integrated as a primary path for flows related to fatigue, emotional overwhelm, and acute stress &mdash; always alongside a text input alternative. Simply <a href="https://journals.sagepub.com/doi/10.1111/j.1467-9280.2007.01916.x?">putting feelings into words</a> (affect labelling) has been shown to reduce emotional intensity for some users, and spoken input also provides a richer context for tailoring support.</p>

<p>For <em>Bear Room</em>, we give users a choice to share what’s on their mind via a prominent mic button (with text input available below. The app then analyses their response with AI (does not diagnose) and provides a set of tailored practices to help them cope. This approach gives users a space for the raw, unfiltered expression of emotion when texting feels too heavy.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png"
			
			sizes="100vw"
			alt="Bear Room’s voice-first support flow"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Bear Room’s voice-first support flow lets users talk or type what’s happening, then suggests a tailored set of practices; essential coping tools are never paywalled. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/9-bear-room-voice-first-support-flow.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Similarly, <em>Teeni’s</em> “Hot flow” lets parents vent frustration and describe a difficult trigger via voice. Based on the case description, AI gives a one-screen piece of psychoeducational content, and in a few steps, the app suggests an appropriate calming tool, uniting both emotional and relational support.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aBy%20meeting%20the%20user%20at%20their%20level%20of%20low%20cognitive%20capacity%20and%20accepting%20their%20input%20in%20the%20most%20accessible%20form,%20we%20build%20a%20deeper%20trust%20and%20reinforce%20the%20app%20as%20a%20truly%20adaptive,%20reliable,%20and%20non-judgmental%20space.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fbuilding-empathy-centred-ux-framework-mental-health-apps%2f">
      
By meeting the user at their level of low cognitive capacity and accepting their input in the most accessible form, we build a deeper trust and reinforce the app as a truly adaptive, reliable, and non-judgmental space.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p><strong>Note:</strong> Mental-health topics are highly sensitive, and many people feel uncomfortable sharing sensitive data with an app &mdash; especially amid frequent news about data breaches and data being sold to third parties. Before recording, show a concise notice that explains how audio is processed, where it’s processed, how long it’s stored, and that it is not sold or shared with third parties. Present this in a clear, consent step (e.g., GDPR-style). For products handling personal data, it’s also best practice to provide an obvious “Delete all data” option.</p>

<h3 id="your-toolbox-1">Your Toolbox</h3>

<ul>
<li><strong>Accessibility-Friendly User Flow</strong><br />
Aim to become your user’s guide. Only use the text that is important, highlight key actions, and provide simple, step-by-step paths.</li>
<li><strong>Muted Palettes</strong><br />
There’s no one-size-fits-all colour rule for mental-health apps. Align palette with purpose and audience; if you use muted palettes, verify WCAG 2.2 contrast thresholds and avoid flashing.</li>
<li><strong>Tactile Micro-interactions</strong><br />
Use subtle, predictable, opt-in haptics and gentle micro-interactions for moments of kinetic relief.</li>
<li><strong>Voice-First Design</strong><br />
Offer voice input as an alternative to typing or single-tap actions in low-energy/high-pressure states</li>
<li><strong>Subtle Personalisation</strong><br />
Integrate small, voluntary customisations (like a personal photo in a digital frame) to foster a stronger emotional bond.</li>
<li><strong>Privacy by Default</strong><br />
Ask for explicit consent to process personal data. State clearly how, where, and for how long data is processed, and that it’s not sold or shared — and honour it.</li>
</ul>

<p>A safe interface builds trust in the moment. The final pillar is about earning the trust that brings users back, day after day.</p>

<div class="partners__lead-place"></div>

<h2 id="the-retention-engine-deepening-trust-through-genuine-connection">The Retention Engine: Deepening Trust Through Genuine Connection</h2>

<p>Encouraging consistent use without manipulation often requires innovative solutions in mental health. The app, as a business, faces an ethical dilemma: its mission is to prioritise user wellbeing, which means it cannot indulge users simply to maximise their screen time. Streaks, points, and time limits can also induce anxiety and shame, negatively affecting the user’s mental health. The goal is not to maximise screen time, but to foster a <strong>supportive rhythm of use</strong> that aligns with the non-linear journey of mental health.</p>

<blockquote><strong>The Empathy Tool</strong><br /><br />I replace anxiety-inducing gamification with retention engines powered by empathy. This involves designing loops that intrinsically motivate users through three core pillars: granting them <strong>agency</strong> with customisable tools, connecting them to a supportive <strong>community</strong>, and ensuring the app itself acts as a consistent source of <strong>support</strong>, making return visits feel like a choice, not a chore or pressure.</blockquote>

<h3 id="case-key-economy">Case: “Key” Economy</h3>

<p>In search of reimagining retention mechanics away from punitive streaks and towards a model of compassionate encouragement, the <em>Bear Room</em> team came up with the idea of the so-called “Key” economy. Unlike a streak that shames users for missing a day, users are envisioned to earn “keys” for logging in every third day &mdash; a rhythm that acknowledges the non-linear nature of healing and reduces the pressure of daily performance. Keys never gate SOS sets or essential coping practices. Keys only unlock more objects and advanced content; the core toolkit is always free. The app should also preserve users’ progress regardless of their level of engagement.</p>

<p>The system’s most empathetic innovation, however, lies in the ability for users to gift their hard-earned keys to others in the community who may be in greater need (still in the process of making). This intends to transform the act of retention from a self-focused chore into a generous, community-building gesture.</p>

<p>It aims to foster a <strong>culture of mutual support</strong>, where consistent engagement is not about maintaining a personal score, but about accumulating the capacity to help others.</p>

<p><strong>Why it Works</strong></p>

<ul>
<li><strong>It’s Forgiving.</strong><br />
Unlike a streak, missing a day doesn’t reset progress; it just delays the next key. This removes shame.</li>
<li><strong>It’s Community-driven.</strong><br />
Users can <em>give their keys to others</em>. This transforms retention from a selfish act into a generous one, reinforcing the app’s core value of community support.</li>
</ul>

<h3 id="case-the-letter-exchange">Case: The Letter Exchange</h3>

<p>Within <em>Bear Room</em>, users can write and receive supportive letters anonymously to other users around the world. This tool leverages AI-powered anonymity to create a safe space for radical vulnerability. It provides a real human connection while completely protecting user privacy, directly addressing the trust deficit. It shows users they are not alone in their struggles, a powerful retention driver.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png"
			
			sizes="100vw"
			alt="Bear Room’s Letter Exchange"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Bear Room’s Letter Exchange: AI-assisted delivery keeps peer-support letters anonymous and safe. (<a href='https://files.smashing.media/articles/building-empathy-centred-ux-framework-mental-health-apps/11-bear-room-letter-exchange.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>Note:</strong> Data privacy is always a priority in product design, but (again) it’s crucial to approach it firsthand in mental health. In the case of the letter exchange, robust anonymity isn’t just a setting; it is the foundational element that creates the safety required for users to be vulnerable and supportive with strangers.</p>

<h3 id="case-teenager-translator">Case: Teenager Translator</h3>

<p>The “Teenager Translator” in <em>Teeni</em> became a cornerstone of our retention strategy by directly addressing the moment of crisis where parents were most likely to disengage. When a parent inputs their adolescent’s angry words like <em>“What’s wrong with you? It’s my phone, I will watch what I want, just leave me alone!”</em>, the tool instantly provides an empathetic translation of the emotional subtext, a de-escalation guide, and a practical script for how to respond.</p>

<p>This immediate, actionable support at the peak of frustration transforms the app from a passive resource into an indispensable <strong>crisis-management tool</strong>. By delivering profound value exactly when and where users need it most, it creates powerful positive reinforcement that builds <strong>habit</strong> and <strong>loyalty</strong>, ensuring parents return to the app not just to learn, but to actively navigate their most challenging moments.</p>

<h3 id="your-toolbox-2">Your Toolbox</h3>

<ul>
<li><strong>Reframe Metrics</strong><br />
Change <em>“You broke your 7-day streak!”</em> to <em>“You’ve practiced 5 of the last 10 days. Every bit helps.”</em></li>
<li><strong>Compassion Access Policy</strong><br />
Never gate crisis or core coping tools behind paywalls or keys.</li>
<li><strong>Build Community Safely</strong><br />
Facilitate anonymous, moderated peer support.</li>
<li><strong>Offer Choice</strong><br />
Let users control the frequency and type of reminders.</li>
<li><strong>Keep an Eye on Reviews</strong><br />
Monitor app-store reviews and social mentions regularly; tag themes (bugs, UX friction, feature requests), quantify trends, and close the loop with quick fixes or clarifying updates.</li>
</ul>

<h2 id="your-empathy-first-launchpad-three-pillars-to-trust">Your Empathy-First Launchpad: Three Pillars To Trust</h2>

<p>Let’s return to the overwhelmed user from the introduction. They open an app that greets them with a tested, audience-aligned visual language, a validating first message, and a retention system that supports rather than punishes.</p>

<p>This is the power of an <strong>Empathy-Centred UX Framework</strong>. It forces us to move beyond pixels and workflows to the heart of the user experience: emotional safety. But to embed this philosophy in design processes, we need a structured, scalable approach. My designer path led me to the following three core pillars:</p>

<ol>
<li><strong>The Onboarding Conversation</strong><br />
Start by transforming the initial setup from a functional checklist into the first supportive, therapy-informed dialogue. This pillar is rooted in using validating language, keeping asking “why” to understand deeper needs, and prioritising brevity and respect to make the user feel seen and understood from their very first interactions.</li>
<li><strong>The Emotional Interface</strong><br />
Adjust the design to a low-stimulus digital environment for a brain in distress. This pillar focuses on the visual and interactive tools: muted palettes, calming micro-interactions, voice-first features, and personalisation, to make sure a user enters a calm, predictable, and safe digital environment. Certainly, these tools are not limited to the ones I applied throughout my experience, and there is always room for creativity, keeping in mind users’ preferences and scientific research.<br /></li>
<li><strong>The Retention Engine</strong><br />
Be persistent in upholding genuine connection over manipulative gamification. This pillar focuses on building lasting engagement through forgiving systems (like the “Key” economy), community-driven support (like letter exchanges), and tools that offer profound value in moments of crisis (like the Teenager Translator). When creating such tools, aim for a supportive rhythm of use that aligns with the non-linear journey of mental health.</li>
</ol>

<div class="partners__lead-place"></div>

<h2 id="trust-is-the-success-balancing-game">Trust Is The Success: Balancing Game</h2>

<p>While we, as designers, don’t directly define the app’s success metrics, we cannot deny that our work influences the final outcomes. This is where our practical tools in mental health apps may come in partnership with the product owner’s goals. All the tools are designed based on hypotheses, evaluations of whether users need them, further testing, and metric analysis.</p>

<p>I would argue that one of the most critical success components for a mental health app is <strong>trust</strong>. Although it is not easy to measure, our role as designers lies precisely in creating a UX Framework that respects and listens to its users and makes the app fully <strong>accessible</strong> and <strong>inclusive</strong>.</p>

<p>The trick is to achieve a <strong>sustainable balance between helping users reach their wellness goals and the gaming effect</strong>, so they also benefit from the process and atmosphere. It is a blend of enjoyment from the process and fulfillment from the health benefits, where we want to make a routine meditation exercise something pleasant. Our role as product designers is to always keep in mind that the end goal for the user is to achieve a positive psychological effect, not to remain in a perpetual gaming loop.</p>

<p>Of course, we need to keep in mind that the more responsibility the app takes for its users’ health, the more requirements there arise for its design.</p>

<p>When this balance is struck, the result is more than just better metrics; it’s a profound positive impact on your users’ lives. In the end, empowering a user’s well-being is the highest achievement our craft can aspire to.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</title><link>https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/</link><pubDate>Wed, 11 Feb 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/</guid><description>Autonomy is an output of a technical system. Trustworthiness is an output of a design process. Here are concrete design patterns, operational frameworks, and organizational practices for building agentic systems that are not only powerful but also transparent, controllable, and trustworthy.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/" />
              <title>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-02-11T13:00:00&#43;00:00" class="op-published">2026-02-11T13:00:00+00:00</time>
                  <time datetime="2026-02-11T13:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>In the <a href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/">first part of this series</a>, we established the fundamental shift from generative to agentic artificial intelligence. We explored why this leap from suggesting to acting demands a new psychological and methodological toolkit for UX researchers, product managers, and leaders. We defined a taxonomy of agentic behaviors, from suggesting to acting autonomously, outlined the essential research methods, defined the risks of agentic sludge, and established the accountability metrics required to navigate this new territory. We covered the <em>what</em> and the <em>why</em>.</p>

<p>Now, we move from the foundational to the functional. This article provides the <em>how</em>: the concrete design patterns, operational frameworks, and organizational practices essential for building agentic systems that are not only powerful but also <strong>transparent</strong>, <strong>controllable</strong>, and <strong>worthy of user trust</strong>. If our research is the diagnostic tool, these patterns are the <strong>treatment plan</strong>. They are the practical mechanisms through which we can give users a palpable sense of control, even as we grant AI unprecedented autonomy. The goal is to create an experience where autonomy feels like a privilege granted by the user, not a right seized by the system.</p>

<h2 id="core-ux-patterns-for-agentic-systems">Core UX Patterns For Agentic Systems</h2>

<p>Designing for agentic AI is designing for a <strong>relationship</strong>. This relationship, like any successful partnership, must be built on clear communication, mutual understanding, and established boundaries.</p>

<p>To manage the shift from suggestion to action, we utilize six patterns that follow the functional lifecycle of an agentic interaction:</p>

<ul>
<li><strong>Pre-Action (Establishing Intent)</strong><br />
The Intent Preview and Autonomy Dial ensure the user defines the plan and the agent’s boundaries before anything happens.</li>
<li><strong>In-Action (Providing Context)</strong><br />
The Explainable Rationale and Confidence Signal maintain transparency while the agent works, showing the “why” and “how certain.”</li>
<li><strong>Post-Action (Safety and Recovery)</strong><br />
The Action Audit &amp; Undo and Escalation Pathway provide a safety net for errors or high-ambiguity moments.</li>
</ul>

<p>Below, we will cover each pattern in detail, including recommendations for metrics for success. These targets are representative benchmarks based on industry standards; adjust them based on your specific domain risk.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h3 id="1-the-intent-preview-clarifying-the-what-and-how">1. The Intent Preview: Clarifying the What and How</h3>

<p>This pattern is the conversational equivalent of saying, <em>“Here’s what I’m about to do. Are you okay with that?”</em> It’s the foundational moment of seeking consent in the user-agent relationship.</p>

<p>Before an agent takes any significant action, the user must have a clear, unambiguous understanding of what is about to happen. The Intent Preview, or Plan Summary, establishes informed consent. It is the conversational pause before action, transforming a black box of autonomous processes into a transparent, reviewable plan.</p>

<p><strong>Psychological Underpinning</strong><br />
Presenting a plan before action reduces cognitive load and eliminates surprise, giving users a moment to verify the agent truly understands their intent.</p>

<p><strong>Anatomy of an Effective Intent Preview:</strong></p>

<ul>
<li><strong>Clarity and Conciseness</strong><br />
The preview must be immediately digestible. It should summarize the primary actions and outcomes in plain language, avoiding technical jargon. For instance, instead of <em>“Executing API call to cancel_booking(id: 4A7B),”</em> it should state, <em>“Cancel flight AA123 to San Francisco.”</em></li>
<li><strong>Sequential Steps</strong><br />
For multi-step operations, the preview should outline the key phases. This reveals the agent’s logic and allows users to spot potential issues in the proposed sequence.</li>
<li><strong>Clear User Actions</strong><br />
The preview is a decision point, not just a notification. It must be accompanied by a clear set of choices. It’s a moment of intentional friction, a ‘speed bump’ in the process designed to ensure the user is making a conscious choice, particularly for irreversible or high-stakes actions.</li>
</ul>

<p>Let’s revisit our travel assistant scenario from the <a href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/">first part of this series</a>. We use this proactive assistant to illustrate how an agent handles a flight cancellation. The agent has detected a flight cancellation and has formulated a recovery plan.</p>

<p>The Intent Preview would look something like this:</p>

<blockquote><strong>Proposed Plan for Your Trip Disruption</strong><br /><br />I’ve detected that your 10:05 AM flight has been canceled. Here’s what I plan to do:<ol><li><strong>Cancel Flight UA456</strong><br />Process refund and confirm cancellation details.</li><li><strong>Rebook on Flight DL789</strong><br />Book a confirmed seat on a 2:30 PM non-stop flight, as this is the next available non-stop flight with a confirmed seat.</li><li><strong>Update Hotel Reservation</strong><br />Notify the Marriott that you will be arriving late.</li><li><strong>Email Updated Itinerary</strong><br />Send the new flight and hotel details to you and your assistant, Jane Doe.</li></ol>[ Proceed with this Plan ] [ Edit Plan ] [ Handle it Myself ]</blockquote>

<p>This preview is effective because it provides a complete picture, from cancellation to communication, and offers three distinct paths forward: full consent (Proceed), a desire for modification (Edit Plan), or a full override (Handle it Myself). This multifaceted control is the bedrock of trust.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="788"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png"
			
			sizes="100vw"
			alt="Example of the intent preview"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The Intent Preview is the primary pattern for building user trust. By clearly stating what the agent plans to do and offering simple, direct controls like “Proceed,” “Edit,” or “Handle it Myself,” we transform a black box into a transparent and controllable experience. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>When to Prioritize This Pattern</strong><br />
This pattern is non-negotiable for any action that is irreversible (e.g., deleting user data), involves a financial transaction of any amount, shares information with other people or systems, or makes a significant change that a user cannot easily undo.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users feel ambushed by the agent’s actions and will disable the feature to regain control.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Acceptance Ratio</strong><br />
Plans Accepted Without Edit / Total Plans Displayed. Target &gt; 85%.</li>
<li><strong>Override Frequency</strong><br />
Total Handle it Myself Clicks / Total Plans Displayed. A rate &gt; 10% triggers a model review.</li>
<li><strong>Recall Accuracy</strong><br />
Percentage of test participants who can correctly list the plan’s steps 10 seconds after the preview is hidden.</li>
</ul>

<h4 id="applying-this-to-high-stakes-domains">Applying This to High-Stakes Domains</h4>

<p>While travel plans are a relatable baseline, this pattern becomes indispensable in complex, high-stakes environments where an error results in more than an inconvenience for an individual traveling. Many of us work in settings where wrong decisions may result in a system outage, putting a patient’s safety at risk, or numerous other catastrophic outcomes that unreliable technology would introduce.</p>

<p>Consider a DevOps Release Agent tasked with managing cloud infrastructure. In this context, the Intent Preview acts as a safety barrier against accidental downtime.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="357"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png"
			
			sizes="100vw"
			alt="The intent preview in cloud infrastructure"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The intent preview in a higher-stakes setting, for example, cloud infrastructure. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>In this interface, the specific terminology (Drain Traffic, Rollback) replaces generalities, and the actions are binary and impactful. The user authorizes a major operational shift based on the agent’s logic, rather than approving a suggestion.</p>

<h3 id="2-the-autonomy-dial-calibrating-trust-with-progressive-authorization">2. The Autonomy Dial: Calibrating Trust With Progressive Authorization</h3>

<p>Every healthy relationship has boundaries. The Autonomy Dial is how the user establishes it with their agent, defining what they are comfortable with the agent handling on its own.</p>

<p>Trust is not a binary switch; it’s a spectrum. A user might trust an agent to handle low-stakes tasks autonomously but demand full confirmation for high-stakes decisions. The Autonomy Dial, a form of progressive authorization, allows users to set their preferred level of agent independence, making them active participants in defining the relationship.</p>

<p><strong>Psychological Underpinning</strong><br />
Allowing users to tune the agent’s autonomy grants them a locus of control, letting them match the system’s behavior to their personal risk tolerance.</p>

<p><strong>Implementation</strong><br />
This can be implemented as a simple, clear setting within the application, ideally on a per-task-type basis. Using the taxonomy from our first article, the settings could be:</p>

<ul>
<li><strong>Observe &amp; Suggest</strong><br />
I want to be notified of opportunities or issues, but the agent will never propose a plan.</li>
<li><strong>Plan &amp; Propose</strong><br />
The agent can create plans, but I must review every one before any action is taken.</li>
<li><strong>Act with Confirmation</strong><br />
For familiar tasks, the agent can prepare actions, and I will give a final go/no-go confirmation.</li>
<li><strong>Act Autonomously</strong><br />
For pre-approved tasks (e.g., disputing charges under $50), the agent can act independently and notify me after the fact.</li>
</ul>

<p>An email assistant, for example, could have a separate autonomy dial for scheduling meetings versus sending emails on the user’s behalf. This granularity is key, as it reflects the nuanced reality of a user’s trust.</p>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize this in systems where tasks vary widely in risk and personal preference (e.g., financial management tools, communication platforms). It is essential for onboarding, allowing users to start with low autonomy and increase it as their confidence grows.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users who experience a single failure will abandon the agent completely rather than simply dialing back its permissions.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Trust Density</strong><br />
Percentage breakdown of users per setting (e.g., 20% Suggest, 50% Confirm, 30% Auto).</li>
<li><strong>Setting Churn</strong><br />
Number of Setting Changes / Total Active Users per month. High churn indicates trust volatility.</li>
</ul>

<h3 id="3-the-explainable-rationale-answering-why">3. The Explainable Rationale: Answering Why?</h3>

<p>After taking an action, a good partner explains their reasoning. This pattern is the open communication that follows an action, answering <em>Why?</em> before it’s even asked. <em>“I did that because you’ve told me in the past that you prefer X.”</em></p>

<p>When an agent acts, especially autonomously, the immediate question in the user’s mind is often, <em>Why did it do that?</em> The Explainable Rationale pattern proactively answers this question, providing a concise justification for the agent’s decisions. This is not a technical log file. In my first article of this series, we discussed translating system primitives into user-facing language to prevent deception. This pattern is the practical application of that principle. It transforms the raw logic into a human-readable explanation grounded in the user’s own stated preferences and prior inputs.</p>

<p><strong>Psychological Underpinning</strong><br />
When an agent’s actions are explainable, they feel logical rather than random, helping the user build an accurate mental model of how the agent thinks.</p>

<p><strong>Effective Rationales:</strong></p>

<ul>
<li><strong>Grounded in Precedent</strong><br />
The best explanations link back to a rule, preference, or prior action.</li>
<li><strong>Simple and Direct</strong><br />
Avoid complex conditional logic. Use a simple <em>“Because you said X, I did Y”</em> structure.</li>
</ul>

<p>Returning to the travel example, after the flight is rebooked autonomously, the user might see this in their notification feed:</p>

<blockquote><strong>I’ve rebooked your canceled flight.</strong><br /><ul><li><strong>New Flight:</strong> Delta 789, departing at 2:30 PM.</li><li><strong>Why I took this action:</strong><ul><li>Your original flight was canceled by the airline.</li><li>You’ve pre-approved autonomous rebooking for same-day, non-stop flights.</li></ul></li></ul>[ View New Itinerary ] [ Undo this Action ]</blockquote>

<p>The rationale is clear, defensible, and reinforces the idea that the agent is operating within the boundaries the user established.</p>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize it for any autonomous action where the reasoning isn’t immediately obvious from the context, especially for actions that happen in the background or are triggered by an external event (like the flight cancellation example).</p>

<p><strong>Risk of Omission</strong><br />
Without this, users interpret valid autonomous actions as random behavior or ‘bugs,’ preventing them from forming a correct mental model.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Why? Ticket Volume</strong><br />
Number of support tickets tagged “Agent Behavior &mdash; Unclear” per 1,000 active users.</li>
<li><strong>Rationale Validation</strong><br />
Percentage of users who rate the explanation as ‘Helpful’ in post-interaction microsurveys.</li>
</ul>

<div class="partners__lead-place"></div>

<h3 id="4-the-confidence-signal">4. The Confidence Signal</h3>

<p>This pattern is about the agent being self-aware in the relationship. By communicating its own confidence, it helps the user decide when to trust its judgment and when to apply more scrutiny.</p>

<p>To help users calibrate their own trust, the agent should surface its own confidence in its plans and actions. This makes the agent’s internal state more legible and helps the user decide when to scrutinize a decision more closely.</p>

<p><strong>Psychological Underpinning</strong><br />
Surfacing uncertainty helps prevent automation bias, encouraging users to scrutinize low-confidence plans rather than blindly accepting them.</p>

<p><strong>Implementation:</strong></p>

<ul>
<li><strong>Confidence Score</strong><br />
A simple percentage (e.g., Confidence: 95%) can be a quick, scannable indicator.</li>
<li><strong>Scope Declaration</strong><br />
A clear statement of the agent’s area of expertise (e.g., Scope: Travel bookings only) helps manage user expectations and prevents them from asking the agent to perform tasks it’s not designed for.</li>
<li><strong>Visual Cues</strong><br />
A green checkmark can denote high confidence, while a yellow question mark can indicate uncertainty, prompting the user to review more carefully.</li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize when the agent’s performance can vary significantly based on the quality of input data or the ambiguity of the task. It is especially valuable in expert systems (e.g., medical aids, code assistants) where a human must critically evaluate the AI’s output.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users will fall victim to automation bias, blindly accepting low-confidence hallucinations, or anxiously double-check high-confidence work.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Calibration Score</strong><br />
Pearson correlation between Model Confidence Score and User Acceptance Rate. Target &gt; 0.8.</li>
<li><strong>Scrutiny Delta</strong><br />
Difference between the average review time of low-confidence plans and high-confidence plans. Expected to be positive (e.g., +12 seconds).</li>
</ul>

<h3 id="5-the-action-audit-undo-the-ultimate-safety-net">5. The Action Audit &amp; Undo: The Ultimate Safety Net</h3>

<p>Trust requires knowing you can recover from a mistake. The Undo function is the ultimate relationship safety net, assuring the user that even if the agent misunderstands, the consequences are not catastrophic.</p>

<p>The single most powerful mechanism for building user confidence is the ability to easily reverse an agent’s action. A persistent, easy-to-read Action Audit log, with a prominent Undo button for every possible action, is the ultimate safety net. It dramatically lowers the perceived risk of granting autonomy.</p>

<p><strong>Psychological Underpinning</strong><br />
Knowing that a mistake can be easily undone creates psychological safety, encouraging users to delegate tasks without fear of irreversible consequences.</p>

<p><strong>Design Best Practices:</strong></p>

<ul>
<li><strong>Timeline View</strong><br />
A chronological log of all agent-initiated actions is the most intuitive format.</li>
<li><strong>Clear Status Indicators</strong><br />
Show whether an action was successful, is in progress, or has been undone.</li>
<li><strong>Time-Limited Undos</strong><br />
For actions that become irreversible after a certain point (e.g., a non-refundable booking), the UI must clearly communicate this time window (e.g., Undo available for 15 minutes). This transparency about the system’s limitations is just as important as the undo capability itself. Being honest about when an action becomes permanent builds trust.</li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
This is a foundational pattern that should be implemented in nearly all agentic systems. It is absolutely non-negotiable when introducing autonomous features or when the cost of an error (financial, social, or data-related) is high.</p>

<p><strong>Risk of Omission</strong><br />
Without this, one error permanently destroys trust, as users realize they have no safety net.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Reversion Rate</strong><br />
Undone Actions / Total Actions Performed. If the Reversion Rate &gt; 5% for a specific task, disable automation for that task.</li>
<li><strong>Safety Net Conversion</strong><br />
Percentage of users who upgrade to Act Autonomously within 7 days of successfully using Undo.</li>
</ul>

<h3 id="6-the-escalation-pathway-handling-uncertainty-gracefully">6. The Escalation Pathway: Handling Uncertainty Gracefully</h3>

<p>A smart partner knows when to ask for help instead of guessing. This pattern allows the agent to handle ambiguity gracefully by escalating to the user, demonstrating a humility that builds, rather than erodes, trust.</p>

<p>Even the most advanced agent will encounter situations where it is uncertain about the user’s intent or the best course of action. How it handles this uncertainty is a defining moment. A well-designed agent doesn’t guess; it escalates.</p>

<p><strong>Psychological Underpinning</strong><br />
When an agent acknowledges its limits rather than guessing, it builds trust by respecting the user’s authority in ambiguous situations.</p>

<p><strong>Escalation Patterns Include:</strong></p>

<ul>
<li><strong>Requesting Clarification</strong><br />
<em>“You mentioned ‘next Tuesday.’ Do you mean September 30th or October 7th?”</em></li>
<li><strong>Presenting Options</strong><br />
<em>“I found three flights that match your criteria. Which one looks best to you?”</em></li>
<li><strong>Requesting Human Intervention</strong><br />
For high-stakes or highly ambiguous tasks, the agent should have a clear pathway to loop in a human expert or support agent. The prompt might be: <em>“This transaction seems unusual, and I’m not confident about how to proceed. Would you like me to flag this for a human agent to review?”</em></li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize in domains where user intent can be ambiguous or highly context-dependent (e.g., natural language interactions, complex data queries). Use this whenever the agent operates with incomplete information or when multiple correct paths exist.</p>

<p><strong>Risk of Omission</strong><br />
Without this, the agent will eventually make a confident, catastrophic guess that alienates the user.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Escalation Frequency</strong><br />
Agent Requests for Help / Total Tasks. Healthy range: 5-15%.</li>
<li><strong>Recovery Success Rate</strong><br />
Tasks Completed Post-Escalation / Total Escalations. Target &gt; 90%.</li>
</ul>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th>Pattern</th>
            <th>Best For</th>
      <th>Primary Risk</th>
      <th>Key Metric</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Intent Preview</td>
            <td>Irreversible or financial actions</td>
      <td>User feels ambushed</td>
      <td>>85% Acceptance Rate</td>
        </tr>
        <tr>
            <td>Autonomy Dial</td>
            <td>Tasks with variable risk levels</td>
      <td>Total feature abandonment</td>
      <td>Setting Churn</td>
        </tr>
        <tr>
            <td>Explainable Rationale</td>
            <td>Background or autonomous tasks</td>
      <td>User perceives bugs</td>
      <td>“Why?” Ticket Volume</td>
        </tr>
    <tr>
            <td>Confidence Signal</td>
            <td>Expert or high-stakes systems</td>
      <td>Automation bias</td>
      <td>Scrutiny Delta</td>
        </tr>
    <tr>
            <td>Action Audit & Undo</td>
            <td>All agentic systems</td>
      <td>Permanent loss of trust</td>
      <td><5% Reversion Rate</td>
        </tr>
    <tr>
            <td>Escalation Pathway</td>
            <td>Ambiguous user intent</td>
      <td>Confident, catastrophic guesses</td>
      <td>>90% Recovery Success</td>
        </tr>
    </tbody>
</table>

<p><strong><em>Table 1:</em></strong> <em>Summary of Agentic AI UX patterns. Remember to adjust the metrics based on your specific domain risk and needs.</em></p>

<div class="partners__lead-place"></div>

<h2 id="designing-for-repair-and-redress">Designing for Repair and Redress</h2>

<p>This is learning how to apologize effectively. A good apology acknowledges the mistake, fixes the damage, and promises to learn from it.</p>

<p>Errors are not a possibility; they are an inevitability.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20long-term%20success%20of%20an%20agentic%20system%20depends%20less%20on%20its%20ability%20to%20be%20perfect%20and%20more%20on%20its%20ability%20to%20recover%20gracefully%20when%20it%20fails.%20A%20robust%20framework%20for%20repair%20and%20redress%20is%20a%20core%20feature,%20not%20an%20afterthought.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fdesigning-agentic-ai-practical-ux-patterns%2f">
      
The long-term success of an agentic system depends less on its ability to be perfect and more on its ability to recover gracefully when it fails. A robust framework for repair and redress is a core feature, not an afterthought.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h3 id="empathic-apologies-and-clear-remediation">Empathic Apologies and Clear Remediation</h3>

<p>When an agent makes a mistake, the error message is the apology. It must be designed with psychological precision. This moment is a critical opportunity to demonstrate accountability. From a service design perspective, this is where companies can use the <strong>service recovery paradox</strong>: the phenomenon where a customer who experiences a service failure, followed by a successful and empathetic recovery, can actually become more loyal than a customer who never experienced a failure at all. A well-handled mistake can be a more powerful trust-building event than a long history of flawless execution.</p>

<p>The key is treating the error as a relationship rupture that needs to be mended. This involves:</p>

<ul>
<li><strong>Acknowledge the Error</strong><br />
The message should state clearly and simply that a mistake was made.<br />
<em>Example: I incorrectly transferred funds.</em></li>
<li><strong>State the Immediate Correction</strong><br />
Immediately follow up with the remedial action.<br />
<em>Example: I have reversed the action, and the funds have been returned to your account.</em></li>
<li><strong>Provide a Path for Further Help</strong><br />
Always offer a clear link to human support. This de-escalates frustration and shows that there is a system of accountability beyond the agent itself.</li>
</ul>

<p>A well-designed repair UI might look like this:</p>

<blockquote><strong>We made a mistake on your recent transfer.</strong><br />I apologize. I transferred $250 to the wrong account.<br /><br />✔ Corrective Action: The transfer has been reversed, and your $250 has been refunded.<br />✔ Next Steps: The incident has been flagged for internal review to prevent it from happening again.<br /><br />Need further help? [ Contact Support ]</blockquote>

<h2 id="building-the-governance-engine-for-safe-innovation">Building the Governance Engine for Safe Innovation</h2>

<p>The design patterns described above are the user-facing controls, but they cannot function effectively without a robust internal support structure. This is not about creating bureaucratic hurdles; it is about building a strategic advantage. An organization with a mature governance framework can ship more ambitious agentic features with greater speed and confidence, knowing that the necessary guardrails are in place to mitigate brand risk. This governance engine turns safety from a checklist into a competitive asset.</p>

<p>This engine should function as a formal governance body, an <strong>Agentic AI Ethics Council</strong>, comprising a cross-functional alliance of UX, Product, and Engineering, with vital support from Legal, Compliance, and Support. In smaller organizations, these ‘Council’ roles often collapse into a single triad of Product, Engineering, and Design leads.</p>

<h3 id="a-checklist-for-governance">A Checklist for Governance</h3>

<ul>
<li><strong>Legal/Compliance</strong><br />
This team is the first line of defense, ensuring the agent’s potential actions stay within regulatory and legal boundaries. They help define the hard no-go zones for autonomous action.</li>
<li><strong>Product</strong><br />
The product manager is the steward of the agent’s purpose. They define and monitor its operational boundaries through a formal autonomy policy that documents what the agent is and is not allowed to do. They own the Agent Risk Register.</li>
<li><strong>UX Research</strong><br />
This team is the voice of the user’s trust and anxiety. They are responsible for a recurring process for running trust calibration studies, simulated misbehavior tests, and qualitative interviews to understand the user’s evolving mental model of the agent.</li>
<li><strong>Engineering</strong><br />
This team builds the technical underpinnings of trust. They must architect the system for robust logging, one-click undo functionality, and the hooks needed to generate clear, explainable rationales.</li>
<li><strong>Support</strong><br />
These teams are on the front lines of failure. They must be trained and equipped to handle incidents caused by agent errors, and they must have a direct feedback loop to the Ethics Council to report on real-world failure patterns.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="533"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png"
			
			sizes="100vw"
			alt="Visualization showing  a continuous feedback loop between UX, Product, Engineering, Legal, and Support created by Agentic AI Ethics Council in the middle"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Effective agentic AI is a team sport. A successful governance model, or Agentic AI Ethics Council, creates a continuous feedback loop between UX, Product, Engineering, Legal, and Support, turning risk management into a strategic asset for safe and rapid innovation. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This governance structure should maintain a set of living documents, including an Agent Risk Register that proactively identifies potential failure modes, Action Audit Logs that are regularly reviewed, and the formal Autonomy Policy Documentation.</p>

<h3 id="where-to-start-a-phased-approach-for-product-leaders">Where to Start: A Phased Approach for Product Leaders</h3>

<p>For product managers and executives, integrating agentic AI can feel like a monumental task. The key is to approach it not as a single launch, but as a phased journey of building both technical capability and user trust in parallel. This roadmap allows your organization to learn and adapt, ensuring each step is built on a solid foundation.</p>

<h4 id="phase-1-foundational-safety-suggest-propose">Phase 1: Foundational Safety (Suggest &amp; Propose)</h4>

<p>The initial goal is to build the bedrock of trust without taking significant autonomous risks. In this phase, the agent’s power is limited to analysis and suggestion.</p>

<ul>
<li>Implement a rock-solid <strong>Intent Preview</strong>: This is your core interaction model. Get users comfortable with the idea of the agent formulating plans, while keeping the user in full control of execution.</li>
<li>Build the <strong>Action Audit &amp; Undo</strong> infrastructure: Even if the agent isn’t acting autonomously yet, build the technical scaffolding for logging and reversal. This prepares your system for the future and builds user confidence that a safety net exists.</li>
</ul>

<h4 id="phase-2-calibrated-autonomy-act-with-confirmation">Phase 2: Calibrated Autonomy (Act with Confirmation)</h4>

<p>Once users are comfortable with the agent’s proposals, you can begin to introduce low-risk autonomy. This phase is about teaching users how the agent thinks and letting them set their own pace.</p>

<ul>
<li>Introduce the <strong>Autonomy Dial</strong> with limited settings: Start by allowing users to grant the agent the power to Act with Confirmation.</li>
<li>Deploy the <strong>Explainable Rationale</strong>: For every action the agent prepares, provide a clear explanation. This demystifies the agent’s logic and reinforces that it is operating based on the user’s own preferences.</li>
</ul>

<h4 id="phase-3-proactive-delegation-act-autonomously">Phase 3: Proactive Delegation (Act Autonomously)</h4>

<p>This is the final step, taken only after you have clear data from the previous phases demonstrating that users trust the system.</p>

<ul>
<li>Enable <strong>Act Autonomously</strong> for specific, pre-approved tasks: Use the data from Phase 2 (e.g., high Proceed rates, low Undo rates) to identify the first set of low-risk tasks that can be fully automated.</li>
<li><strong>Monitor and Iterate</strong>: The launch of autonomous features is not the end, but the beginning of a continuous cycle of monitoring performance, gathering user feedback, and refining the agent’s scope and behavior based on real-world data.</li>
</ul>

<h2 id="design-as-the-ultimate-safety-lever">Design As The Ultimate Safety Lever</h2>

<p>The emergence of agentic AI represents a new frontier in human-computer interaction. It promises a future where technology can proactively reduce our burdens and streamline our lives. But this power comes with profound <strong>responsibility</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aAutonomy%20is%20an%20output%20of%20a%20technical%20system,%20but%20trustworthiness%20is%20an%20output%20of%20a%20design%20process.%20Our%20challenge%20is%20to%20ensure%20that%20the%20user%20experience%20is%20not%20a%20casualty%20of%20technical%20capability%20but%20its%20primary%20beneficiary.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fdesigning-agentic-ai-practical-ux-patterns%2f">
      
Autonomy is an output of a technical system, but trustworthiness is an output of a design process. Our challenge is to ensure that the user experience is not a casualty of technical capability but its primary beneficiary.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>As UX professionals, product managers, and leaders, our role is to act as the stewards of that trust. By implementing clear design patterns for control and consent, designing thoughtful pathways for repair, and building robust governance frameworks, we create the essential safety levers that make agentic AI viable. We are not just designing interfaces; we are <strong>architecting relationships</strong>. The future of AI’s utility and acceptance rests on our ability to design these complex systems with wisdom, foresight, and a deep-seated respect for the user’s ultimate authority.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(gg, yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</title><link>https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/</link><pubDate>Thu, 22 Jan 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/</guid><description>Developing effective agentic AI requires a new research playbook. When systems plan, decide, and act on our behalf, UX moves beyond usability testing into the realm of trust, consent, and accountability. Victor Yocco outlines the research methods needed to design agentic AI systems responsibly.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/" />
              <title>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-01-22T13:00:00&#43;00:00" class="op-published">2026-01-22T13:00:00+00:00</time>
                  <time datetime="2026-01-22T13:00:00&#43;00:00" class="op-modified">2026-05-12T15:41:59+00:00</time>
                </header>
                
                

<p>Agentic AI stands ready to transform customer experience and operational efficiency, necessitating a new strategic approach from leadership. This evolution in artificial intelligence empowers systems to <strong>plan</strong>, <strong>execute</strong>, and <strong>persist</strong> in tasks, moving beyond simple recommendations to proactive action. For UX teams, product managers, and executives, understanding this shift is crucial for unlocking opportunities in innovation, streamlining workflows, and redefining how technology serves people.</p>

<p>It’s easy to confuse <strong>Agentic AI</strong> with Robotic Process Automation (RPA), which is technology that focuses on rules-based tasks performed on computers. The distinction lies in rigidity versus reasoning. RPA is excellent at following a strict script: if X happens, do Y. It mimics human hands. Agentic AI mimics human reasoning. It does not follow a linear script; it <strong>creates</strong> one.</p>

<p>Consider a recruiting workflow. An RPA bot can scan a resume and upload it to a database. It performs a repetitive task perfectly. An Agentic system looks at the resume, notices the candidate lists a specific certification, cross-references that with a new client requirement, and decides to draft a personalized outreach email highlighting that match. RPA executes a predefined plan; Agentic AI formulates the plan based on a goal. This autonomy separates agents from the predictive tools we have used for the last decade.</p>

<p>Another example is managing meeting conflicts. A predictive model integrated into your calendar might analyze your meeting schedule and the schedules of your colleagues. It could then suggest potential conflicts, such as two important meetings scheduled at the same time, or a meeting scheduled when a key participant is on vacation. It provides you with information and flags potential issues, but you are responsible for taking action.</p>

<p>An agentic AI, in the same scenario, would go beyond just suggesting conflicts to avoid. Upon identifying a conflict with a key participant, the agent could act by:</p>

<ul>
<li>Checking the availability of all necessary participants.</li>
<li>Identifying alternative time slots that work for everyone.</li>
<li>Sending out proposed new meeting invitations to all attendees.</li>
<li>If the conflict is with an external participant, the agent could draft and send an email explaining the need to reschedule and offering alternative times.</li>
<li>Updating your calendar and the calendars of your colleagues with the new meeting details once confirmed.</li>
</ul>

<p>This agentic AI understands the goal (resolving the meeting conflict), plans the steps (checking availability, finding alternatives, sending invites), executes those steps, and persists until the conflict is resolved, all with minimal direct user intervention. This demonstrates the “agentic” difference: the system takes <strong>proactive steps</strong> for the user, rather than just providing information to the user.</p>

<p>Agentic AI systems understand a goal, plan a series of steps to achieve it, execute those steps, and even adapt if things go wrong. Think of it like a <strong>proactive digital assistant</strong>. The underlying technology often combines large language models (LLMs) for understanding and reasoning, with planning algorithms that break down complex tasks into manageable actions. These agents can interact with various tools, APIs, and even other AI models to accomplish their objectives, and critically, they can maintain a persistent state, meaning they remember previous actions and continue working towards a goal over time. This makes them fundamentally different from typical generative AI, which usually completes a single request and then resets.</p>

<h2 id="a-simple-taxonomy-of-agentic-behaviors">A Simple Taxonomy of Agentic Behaviors</h2>

<p>We can categorize agent behavior into four distinct modes of autonomy. While these often look like a progression, they function as independent operating modes. A user might trust an agent to act autonomously for scheduling, but keep it in “suggestion mode” for financial transactions.</p>

<p>We derived these levels by adapting industry standards for autonomous vehicles (<a href="https://www.sae.org/news/blog/sae-levels-driving-automation-clarity-refinements">SAE levels</a>) to digital user experience contexts.</p>

<h3 id="observe-and-suggest">Observe-and-Suggest</h3>

<p>The agent functions as a monitor. It analyzes data streams and flags anomalies or opportunities, but takes zero action.</p>

<p><strong>Differentiation</strong><br />
Unlike the next level, the agent generates no complex plan. It points to a problem.</p>

<p><strong>Example</strong><br />
A DevOps agent notices a server CPU spike and alerts the on-call engineer. It does not know how or attempt to fix it, but it knows something is wrong.</p>

<p><strong>Implications for design and oversight</strong><br />
At this level, design and oversight should prioritize clear, non-intrusive notifications and a well-defined process for users to act on suggestions. The focus is on empowering the user with timely and relevant information without taking control. UX practitioners should focus on making suggestions clear and easy to understand, while product managers need to ensure the system provides value without overwhelming the user.</p>

<h3 id="plan-and-propose">Plan-and-Propose</h3>

<p>The agent identifies a goal and generates a multi-step strategy to achieve it. It presents the full plan for human review.</p>

<p><strong>Differentiation</strong><br />
The agent acts as a strategist. It does not execute; it waits for approval on the entire approach.</p>

<p><strong>Example</strong><br />
The same DevOps agent notices the CPU spike, analyzes the logs, and proposes a remediation plan:</p>

<ol>
<li>Spin up two extra instances.</li>
<li>Restart the load balancer.</li>
<li>Archive old logs.</li>
</ol>

<p>The human reviews the logic and clicks “Approve Plan”.</p>

<p><strong>Implications for design and oversight</strong><br />
For agents that plan and propose, design must ensure the proposed plans are easily understandable and that users have intuitive ways to modify or reject them. Oversight is crucial in monitoring the quality of proposals and the agent’s planning logic. UX practitioners should design clear visualizations of the proposed plans, and product managers must establish clear review and approval workflows.</p>

<h3 id="act-with-confirmation">Act-with-Confirmation</h3>

<p>The agent completes all preparation work and places the final action in a staged state. It effectively holds the door open, waiting for a nod.</p>

<p><strong>Differentiation</strong><br />
This differs from “Plan-and-Propose” because the work is already done and staged. It reduces friction. The user confirms the outcome, not the strategy.</p>

<p><strong>Example</strong><br />
A recruiting agent drafts five interview invitations, finds open times on calendars, and creates the calendar events. It presents a “Send All” button. The user provides the final authorization to trigger the external action.</p>

<p><strong>Implications for design and oversight</strong><br />
When agents act with confirmation, the design should provide transparent and concise summaries of the intended action, clearly outlining potential consequences. Oversight needs to verify that the confirmation process is robust and that users are not being asked to blindly approve actions. UX practitioners should design confirmation prompts that are clear and provide all necessary information, and product managers should prioritize a robust audit trail for all confirmed actions.</p>

<h3 id="act-autonomously">Act-Autonomously</h3>

<p>The agent executes tasks independently within defined boundaries.</p>

<p><strong>Differentiation</strong><br />
The user reviews the history of actions, not the actions themselves.</p>

<p><strong>Example</strong><br />
The recruiting agent sees a conflict, moves the interview to a backup slot, updates the candidate, and notifies the hiring manager. The human only sees a notification: Interview rescheduled to Tuesday.</p>

<p><strong>Implications for design and oversight</strong><br />
For autonomous agents, the design needs to establish clear pre-approved boundaries and provide robust monitoring tools. Oversight requires continuous evaluation of the agent’s performance within these boundaries, a critical need for robust logging, clear override mechanisms, and user-defined kill switches to maintain user control and trust. UX practitioners should focus on designing effective dashboards for monitoring autonomous agent behavior, and product managers must ensure clear governance and ethical guidelines are in place.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="640"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png"
			
			sizes="100vw"
			alt="The Agentic Autonomy Matrix"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 1</strong>: The Agentic Autonomy Matrix. This framework maps four distinct operating modes by correlating the level of agent initiative against the required amount of human intervention. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Let’s look at a real-world application in HR technology to see these modes in action. Consider an “Interview Coordination Agent” designed to handle the logistics of hiring.</p>

<ul>
<li><strong>In Suggest Mode</strong><br />
The agent notices an interviewer is double-booked. It highlights the conflict on the recruiter’s dashboard: <em>“Warning: Sarah is double-booked for the 2 PM interview.”</em></li>
<li><strong>In Plan Mode</strong><br />
The agent analyzes Sarah’s calendar and the candidate’s availability. It presents a solution: <em>“I recommend moving the interview to Thursday at 10 AM. This requires moving Sarah’s 1:1 with her manager.”</em> The recruiter reviews this logic.</li>
<li><strong>In Confirmation Mode</strong><br />
The agent drafts the emails to the candidate and the manager. It populates the calendar invites. The recruiter sees a summary: <em>“Ready to reschedule to Thursday. Send updates?”</em> The recruiter clicks <em>“Confirm.”</em></li>
<li><strong>In Autonomous Mode</strong><br />
The agent handles the conflict instantly. It respects a pre-set rule: <em>“Always prioritize candidate interviews over internal 1:1s.”</em> It moves the meeting and sends the notifications. The recruiter sees a log entry: <em>“Resolved schedule conflict for Candidate B.”</em></li>
</ul>

<h2 id="research-primer-what-to-research-and-how">Research Primer: What To Research And How</h2>

<p>Developing effective agentic AI demands a distinct research approach compared to traditional software or even generative AI. The autonomous nature of AI agents, their ability to make decisions, and their potential for proactive action necessitate specialized methodologies for understanding user expectations, mapping complex agent behaviors, and anticipating potential failures. The following research primer outlines key methods to measure and evaluate these unique aspects of agentic AI.</p>

<h3 id="mental-model-interviews">Mental-Model Interviews</h3>

<p>These interviews uncover users’ preconceived notions about how an AI agent should behave. Instead of simply asking what users <em>want</em>, the focus is on understanding their internal models of the agent’s capabilities and limitations. We should avoid using the word “agent” with participants. It carries sci-fi baggage or is a term too easily confused with a human agent offering support or services. Instead, frame the discussion around “assistants” or “the system.”</p>

<p>We need to uncover where users draw the line between helpful automation and intrusive control.</p>

<ul>
<li><strong>Method:</strong> Ask users to describe, draw, or narrate their expected interactions with the agent in various hypothetical scenarios.</li>
<li><strong>Key Probes (reflecting a variety of industries):</strong>

<ul>
<li>To understand the boundaries of desired automation and potential anxieties around over-automation, ask:

<ul>
<li>If your flight is canceled, what would you want the system to do automatically? What would worry you if it did that without your explicit instruction?</li>
</ul></li>
<li>To explore the user’s understanding of the agent’s internal processes and necessary communication, ask:

<ul>
<li>Imagine a digital assistant is managing your smart home. If a package is delivered, what steps do you imagine it takes, and what information would you expect to receive?</li>
</ul></li>
<li>To uncover expectations around control and consent within a multi-step process, ask:

<ul>
<li>If you ask your digital assistant to schedule a meeting, what steps do you envision it taking? At what points would you want to be consulted or given choices?</li>
</ul></li>
</ul></li>
<li><strong>Benefits of the method:</strong> Reveals implicit assumptions, highlights areas where the agent’s planned behavior might diverge from user expectations, and informs the design of appropriate controls and feedback mechanisms.</li>
</ul>

<h3 id="agent-journey-mapping">Agent Journey Mapping:</h3>

<p>Similar to traditional user journey mapping, agent journey mapping specifically focuses on the anticipated actions and decision points of the AI agent itself, alongside the user’s interaction. This helps to proactively identify potential pitfalls.</p>

<ul>
<li><strong>Method:</strong> Create a visual map that outlines the various stages of an agent’s operation, from initiation to completion, including all potential actions, decisions, and interactions with external systems or users.</li>
<li><strong>Key Elements to Map:</strong>

<ul>
<li><strong>Agent Actions:</strong> What specific tasks or decisions does the agent perform?</li>
<li><strong>Information Inputs/Outputs:</strong> What data does the agent need, and what information does it generate or communicate?</li>
<li><strong>Decision Points:</strong> Where does the agent make choices, and what are the criteria for those choices?</li>
<li><strong>User Interaction Points:</strong> Where does the user provide input, review, or approve actions?</li>
<li><strong>Points of Failure:</strong> Crucially, identify specific instances where the agent could misinterpret instructions, make an incorrect decision, or interact with the wrong entity.

<ul>
<li><strong>Examples:</strong> Incorrect recipient (e.g., sending sensitive information to the wrong person), overdraft (e.g., an automated payment exceeding available funds), misinterpretation of intent (e.g., booking a flight for the wrong date due to ambiguous language).</li>
</ul></li>
<li><strong>Recovery Paths:</strong> How can the agent or user recover from these failures? What mechanisms are in place for correction or intervention?</li>
</ul></li>
<li><strong>Benefits of the method:</strong> Provides a holistic view of the agent’s operational flow, uncovers hidden dependencies, and allows for the proactive design of safeguards, error handling, and user intervention points to prevent or mitigate negative outcomes.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg"
			
			sizes="100vw"
			alt="Agent Journey Map"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 2</strong>: Agent Journey Map. Mapping the Agent Logic distinct from the System helps identify where the reasoning, not just the code, might fail. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="simulated-misbehavior-testing">Simulated Misbehavior Testing:</h3>

<p>This approach is designed to stress-test the system and observe user reactions when the AI agent <em>fails</em> or deviates from expectations. It’s about understanding trust repair and emotional responses in adverse situations.</p>

<ul>
<li><strong>Method:</strong> In controlled lab studies, deliberately introduce scenarios where the agent makes a mistake, misinterprets a command, or behaves unexpectedly.</li>
<li><strong>Types of “Misbehavior” to Simulate:</strong>

<ul>
<li><strong>Command Misinterpretation:</strong> The agent performs an action slightly different from what the user intended (e.g., ordering two items instead of one).</li>
<li><strong>Information Overload/Underload:</strong> The agent provides too much irrelevant information or not enough critical details.</li>
<li><strong>Unsolicited Action:</strong> The agent takes an action the user explicitly did not want or expect (e.g., buying stock without approval).</li>
<li><strong>System Failure:</strong> The agent crashes, becomes unresponsive, or provides an error message.</li>
<li><strong>Ethical Dilemmas:</strong> The agent makes a decision with ethical implications (e.g., prioritizing one task over another based on an unforeseen metric).</li>
</ul></li>
<li><strong>Observation Focus:</strong>

<ul>
<li><strong>User Reactions:</strong> How do users react emotionally (frustration, anger, confusion, loss of trust)?</li>
<li><strong>Recovery Attempts:</strong> What steps do users take to correct the agent’s behavior or undo its actions?</li>
<li><strong>Trust Repair Mechanisms:</strong> Do the system’s built-in recovery or feedback mechanisms help restore trust? How do users want to be informed about errors?</li>
<li><strong>Mental Model Shift:</strong> Does the misbehavior alter the user’s understanding of the agent’s capabilities or limitations?</li>
</ul></li>
<li><strong>Benefits of the method:</strong> Crucial for identifying design gaps related to error recovery, feedback, and user control. It provides insights into how resilient users are to agent failures and what is needed to maintain or rebuild trust, leading to more robust and forgiving agentic systems.</li>
</ul>

<p>By integrating these research methodologies, UX practitioners can move beyond simply making agentic systems <em>usable</em> to making them <em>trusted</em>, <em>controllable</em>, and <em>accountable</em>, fostering a positive and productive relationship between users and their AI agents. Note that these aren’t the only methods relevant to exploring agentic AI effectively. Many other methods exist, but these are most accessible to practitioners in the near term. I’ve previously covered the Wizard of Oz method, a slightly more advanced method of concept testing, which is also a valuable tool for exploring agentic AI concepts.</p>

<h2 id="ethical-considerations-in-research-methodology">Ethical Considerations In Research Methodology</h2>

<p>When researching agentic AI, particularly when simulating misbehavior or errors, ethical considerations are key to take into account. There are many publications focusing on ethical UX research, including an <a href="https://www.smashingmagazine.com/2020/12/ethical-considerations-ux-research/">article I wrote for Smashing Magazine</a>, <a href="https://www.uxdesigninstitute.com/blog/what-are-user-research-ethics/">these guidelines</a> from the UX Design Institute, and this page from the <a href="https://www.inclusivedesigntoolkit.com/ethics/">Inclusive Design Toolkit</a>.</p>

<h2 id="key-metrics-for-agentic-ai">Key Metrics For Agentic AI</h2>

<p>You’ll need a comprehensive set of key metrics to effectively assess the performance and reliability of agentic AI systems. These metrics provide insights into user trust, system accuracy, and the overall user experience. By tracking these indicators, developers and designers can identify areas for improvement and ensure that AI agents operate safely and efficiently.</p>

<p><strong>1. Intervention Rate</strong><br />
For autonomous agents, we measure success by silence. If an agent executes a task and the user does not intervene or reverse the action within a set window (e.g., 24 hours), we count that as acceptance. We track the Intervention Rate: how often does a human jump in to stop or correct the agent? A high intervention rate signals a misalignment in trust or logic.</p>

<p><strong>2. Frequency of Unintended Actions per 1,000 Tasks</strong><br />
This critical metric quantifies the number of actions performed by the AI agent that were not desired or expected by the user, normalized per 1,000 completed tasks. A low frequency of unintended actions signifies a well-aligned AI that accurately interprets user intent and operates within defined boundaries. This metric is closely tied to the AI’s understanding of context, its ability to disambiguate commands, and the robustness of its safety protocols.</p>

<p><strong>3. Rollback or Undo Rates</strong><br />
This metric tracks how often users need to reverse or undo an action performed by the AI. High rollback rates suggest that the AI is making frequent errors, misinterpreting instructions, or acting in ways that are not aligned with user expectations. Analyzing the reasons behind these rollbacks can provide valuable feedback for improving the AI’s algorithms, understanding of user preferences, and its ability to predict desirable outcomes.</p>

<p>To understand why, you must implement a microsurvey on the undo action. For example, when a user reverses a scheduling change, a simple prompt can ask: <em>“Wrong time? Wrong person? Or did you just want to do it yourself?”</em> Allowing the user to click on the option that best corresponds to their reasoning.</p>

<p><strong>4. Time to Resolution After an Error</strong><br />
This metric measures the duration it takes for a user to correct an error made by the AI or for the AI system itself to recover from an erroneous state. A short time to resolution indicates an efficient and user-friendly error recovery process, which can mitigate user frustration and maintain productivity. This includes the ease of identifying the error, the accessibility of undo or correction mechanisms, and the clarity of error messages provided by the AI.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg"
			
			sizes="100vw"
			alt="A Trust &amp; Accountability Dashboard"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 3</strong>: A Trust & Accountability Dashboard. Note the focus on “Rollback Reasons”. This qualitative data is vital for tuning the agent’s logic. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Collecting these metrics requires instrumenting your system to track Agent Action IDs. Every distinct action the agent takes, such as proposing a schedule or booking a flight, must generate a unique ID that persists in the logs. To measure the Intervention Rate, we do not look for an immediate user reaction. We look for the absence of a counter-action within a defined window. If an Action ID is generated at 9:00 AM and no human user modifies or reverts that specific ID by 9:00 AM the next day, the system logically tags it as Accepted. This allows us to quantify success based on user silence rather than active confirmation.</p>

<p>For Rollback Rates, raw counts are insufficient because they lack context. To capture the underlying reason, you must implement intercept logic on your application’s Undo or Revert functions. When a user reverses an agent-initiated action, trigger a lightweight microsurvey. This can be a simple three-option modal asking the user to categorize the error as factually incorrect, lacking context, or a simple preference to handle the task manually. This combines quantitative telemetry with qualitative insight. It enables engineering teams to distinguish between a broken algorithm and a user preference mismatch.</p>

<p>These metrics, when tracked consistently and analyzed holistically, provide a robust framework for evaluating the performance of agentic AI systems, allowing for continuous improvement in control, consent, and accountability.</p>

<h2 id="designing-against-deception">Designing Against Deception</h2>

<p>As agents become increasingly capable, we face a new risk: <strong>Agentic Sludge</strong>. Traditional sludge creates friction that makes it hard to cancel a subscription or delete an account. Agentic sludge acts in reverse. It removes friction to a fault, making it too easy for a user to agree to an action that benefits the business rather than their own interests.</p>

<p>Consider an agent assisting with travel booking. Without clear guardrails, the system might prioritize a partner airline or a higher-margin hotel. It presents this choice as the optimal path. The user, trusting the system’s authority, accepts the recommendation without scrutiny. This creates a deceptive pattern where the system optimizes for revenue under the guise of convenience.</p>

<h3 id="the-risk-of-falsely-imagined-competence">The Risk Of Falsely Imagined Competence</h3>

<p>Deception may not stem from malicious intent. It often manifests in AI as <strong>Imagined Competence</strong>. Large Language Models frequently sound authoritative even when incorrect. They present a false booking confirmation or an inaccurate summary with the same confidence as a verified fact. Users may naturally trust this confident tone. This mismatch creates a dangerous gap between system capability and user expectations.</p>

<p>We must design specifically to bridge this gap. If an agent fails to complete a task, the interface must signal that failure clearly. If the system is unsure, it must express uncertainty rather than masking it with polished prose.</p>

<h3 id="transparency-via-primitives">Transparency via Primitives</h3>

<p>The antidote to both sludge and hallucination is <strong>provenance</strong>. Every autonomous action requires a specific metadata tag explaining the origin of the decision. Users need the ability to inspect the logic chain behind the result.</p>

<p>To achieve this, we must <strong>translate primitives into practical answers</strong>. In software engineering, primitives refer to the core units of information or actions an agent performs. To the engineer, this looks like an API call or a logic gate. To the user, it must appear as a <strong>clear explanation</strong>.</p>

<p>The design challenge lies in mapping these technical steps to human-readable rationales. If an agent recommends a specific flight, the user needs to know why. The interface cannot hide behind a generic suggestion. It must expose the underlying primitive: <em>Logic: Cheapest_Direct_Flight</em> or <em>Logic: Partner_Airline_Priority</em>.</p>

<p>Figure 4 illustrates this translation flow. We take the raw system primitive &mdash; the actual code logic &mdash; and map it to a user-facing string. For instance, a primitive checking a calendar schedule a meeting becomes a clear statement: I’ve proposed a 4 PM meeting.</p>

<p>This level of transparency ensures the agent’s actions appear logical and beneficial. It allows the user to verify that the agent acted in their best interest. By exposing the primitives, we transform a black box into a glass box, ensuring users remain the final authority on their own digital lives.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg"
			
			sizes="100vw"
			alt="Translation flow"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 4</strong>: Translating a primitive to an end explanation is key to explaining the behavior of Agentic AI. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="setting-the-stage-for-design">Setting The Stage For Design</h2>

<p>Building an agentic system requires a new level of psychological and behavioral understanding. It forces us to move beyond conventional usability testing and into the realm of <strong>trust</strong>, <strong>consent</strong>, and <strong>accountability</strong>. The research methods we’ve discussed, from probing mental models to simulating misbehavior and establishing new metrics, provide a necessary foundation. These practices are the essential tools for proactively identifying where an autonomous system might fail and, more importantly, how to repair the user-agent relationship when it does.</p>

<p>The shift to agentic AI is a <strong>redefinition of the user-system relationship</strong>. We are no longer designing for tools that simply respond to commands; we are designing for partners that act on our behalf. This changes the design imperative from efficiency and ease of use to <strong>transparency</strong>, <strong>predictability</strong>, and <strong>control</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aWhen%20an%20AI%20can%20book%20a%20flight%20or%20trade%20a%20stock%20without%20a%20final%20click,%20the%20design%20of%20its%20%e2%80%9con-ramps%e2%80%9d%20and%20%e2%80%9coff-ramps%e2%80%9d%20becomes%20paramount.%20It%20is%20our%20responsibility%20to%20ensure%20that%20users%20feel%20they%20are%20in%20the%20driver%e2%80%99s%20seat,%20even%20when%20they%e2%80%99ve%20handed%20over%20the%20wheel.%0a&url=https://smashingmagazine.com%2f2026%2f01%2fbeyond-generative-rise-agentic-ai-user-centric-design%2f">
      
When an AI can book a flight or trade a stock without a final click, the design of its “on-ramps” and “off-ramps” becomes paramount. It is our responsibility to ensure that users feel they are in the driver’s seat, even when they’ve handed over the wheel.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>This new reality also elevates the role of the UX researcher. We become the custodians of user trust, working collaboratively with engineers and product managers to define and test the guardrails of an agent’s autonomy. Beyond being researchers, we become advocates for user control, transparency, and the ethical safeguards within the development process. By translating primitives into practical questions and simulating worst-case scenarios, we can build robust systems that are both powerful and safe.</p>

<p>This article has outlined the “what” and “why” of researching agentic AI. It has shown that our traditional toolkits are insufficient and that we must adopt new, forward-looking methodologies. The next article will build upon this foundation, providing the specific design patterns and organizational practices that make an agent’s utility transparent to users, ensuring they can harness the power of agentic AI with confidence and control. The future of UX is about making systems trustworthy.</p>

<p>For additional understanding of agentic AI, you can explore the following resources:</p>

<ul>
<li><a href="https://www.google.com/search?q=https://ai.googleblog.com/blog/topic/agentic-ai/">Google AI Blog on Agentic AI</a></li>
<li><a href="https://www.microsoft.com/en-us/research/project/agent-ai/">Microsoft’s research on AI Agents</a></li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item></channel></rss>