---
schema: 1
type: video
title: >-
  Why Your AI UX Is Broken (and It's Not the Model's Fault) — Mike Christensen,
  Ably
description: >-
  SSE ties a response stream to a single connection. The user refreshes the
  page, walks out of WiFi range, or opens a second tab and the in-progress
  response is gone. Abort and resume are mutually exclusive for the same reason:
  the only signal a client can send over a one-way pipe is closing it, so the
  agent cannot tell the difference between a cancel and a disconnect. Vercel's
  AI SDK documents this explicitly. Mike Christensen from Ably makes the case
  for treating the session itself as a durable shared resource, decoupled from
  any individual connection, device, or agent instance. Clients subscribe to the
  session rather than to a request, so reconnects resume automatically, any tab
  or device has full visibility of live activity, and concurrent agents write
  independently without routing everything through an orchestrator. The demo
  shows all of this: multi-tab sync, a forced network disconnect that
  self-recovers, two agents running in parallel, and a handoff to a human
  support agent who joins the session mid-conversation with the full interaction
  history already visible. Speaker info: - https://x.com/christensencode -
  https://www.linkedin.com/in/mikescottchristensen/ Timestamps: 0:00
  Introduction to AI chat applications 0:51 Current implementation: Direct HTTP
  streaming and SSE 3:03 Three foundational capabilities for great AI products
  4:34 Limitations of direct HTTP streaming 5:21 Introducing durable sessions
  6:06 Resumability in streams 7:43 The conflict between SSE, resumability, and
  live control 9:13 Multi-device and multi-tab synchronization issues 11:12
  Handling concurrent multi-agent architectures 12:54 Using Pub/Sub and Ably
  channels for durable sessions 14:12 Introducing Ably AI Transport SDK 15:34
  Live demo of durable session capabilities 17:38 Handoff to human support agent
  --- Watch along with the corrected transcript, summary, timestamps and
  resources on this talk's official AIE page:
  https://ai.engineer/talks/YNJvm7t3yq8-why-your-ai-ux-is-broken-and-it-s-not-the-model-s-fault
  Join our upcoming AI Engineer conferences (see https://ai.engineer landing
  page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs
  and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: >-
  https://liquidgold.cc/channel/aidotengineer/explore/video/why-your-ai-ux-is-broken-and-it-s-not-the-model-s-f-04307218f0ee
markdown: >-
  https://liquidgold.cc/channel/aidotengineer/video/why-your-ai-ux-is-broken-and-it-s-not-the-model-s-f-04307218f0ee.md
llms: null
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-24T14:11:03.875Z'
language: null
children: []
videoId: YNJvm7t3yq8
durationSeconds: 1118
publishedAt: '2026-05-17T15:30:06.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 26
    endSeconds: 60
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=26'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 60
    endSeconds: 71
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=60'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 71
    endSeconds: 191
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=71'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 191
    endSeconds: 201
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=191'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 201
    endSeconds: 277
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=201'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 201
    endSeconds: 277
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=201'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 288
    endSeconds: 322
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=288'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 322
    endSeconds: 333
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=322'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 376
    endSeconds: 463
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=376'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 376
    endSeconds: 463
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=376'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 474
    endSeconds: 553
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=474'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 474
    endSeconds: 553
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=474'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 563
    endSeconds: 675
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=563'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 563
    endSeconds: 675
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=563'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 687
    endSeconds: 777
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=687'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 687
    endSeconds: 777
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=687'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 777
    endSeconds: 788
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=777'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 788
    endSeconds: 855
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=788'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 866
    endSeconds: 942
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=866'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 866
    endSeconds: 942
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=866'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 958
    endSeconds: 1058
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=958'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 1058
    endSeconds: 1069
    watch: 'https://liquidgold.cc/watch/YNJvm7t3yq8?t=1058'
    heldReason: rights
---


# Why Your AI UX Is Broken (and It's Not the Model's Fault) — Mike Christensen, Ably

SSE ties a response stream to a single connection. The user refreshes the page, walks out of WiFi range, or opens a second tab and the in-progress response is gone. Abort and resume are mutually exclusive for the same reason: the only signal a client can send over a one-way pipe is closing it, so the agent cannot tell the difference between a cancel and a disconnect. Vercel's AI SDK documents this explicitly. Mike Christensen from Ably makes the case for treating the session itself as a durable shared resource, decoupled from any individual connection, device, or agent instance. Clients subscribe to the session rather than to a request, so reconnects resume automatically, any tab or device has full visibility of live activity, and concurrent agents write independently without routing everything through an orchestrator. The demo shows all of this: multi-tab sync, a forced network disconnect that self-recovers, two agents running in parallel, and a handoff to a human support agent who joins the session mid-conversation with the full interaction history already visible. Speaker info: - https://x.com/christensencode - https://www.linkedin.com/in/mikescottchristensen/ Timestamps: 0:00 Introduction to AI chat applications 0:51 Current implementation: Direct HTTP streaming and SSE 3:03 Three foundational capabilities for great AI products 4:34 Limitations of direct HTTP streaming 5:21 Introducing durable sessions 6:06 Resumability in streams 7:43 The conflict between SSE, resumability, and live control 9:13 Multi-device and multi-tab synchronization issues 11:12 Handling concurrent multi-agent architectures 12:54 Using Pub/Sub and Ably channels for durable sessions 14:12 Introducing Ably AI Transport SDK 15:34 Live demo of durable session capabilities 17:38 Handoff to human support agent --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/YNJvm7t3yq8-why-your-ai-ux-is-broken-and-it-s-not-the-model-s-fault Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/channel/aidotengineer/explore/video/why-your-ai-ux-is-broken-and-it-s-not-the-model-s-f-04307218f0ee · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
