← back
Why Your AI UX Is Broken (and It's Not the Model's Fault) — Mike Christensen, Ably
Takeaway
Treat agent sessions as durable shared resources to support reliable, interactive AI experiences.
Summary
- Direct HTTP streaming couples an agent response to one client connection, making reconnects and cross-device continuity difficult.
- Durable sessions provide a persistent shared stream that agents write to and clients independently replay or resume.
- Reliable AI interfaces need resilient delivery, synchronized sessions across surfaces, and live steering or cancellation.
- SSE connection closure is ambiguous between a network failure and an intentional stop unless control is handled separately.
streamingdurable-sessionsux
Original 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 / 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