[Article] UI-Based Chatbots vs. Text-Based Chatbots: Task Completion Rate, Time-on-Task, and User Satisfaction#10
Conversation
EntelligenceAI PR SummaryIntroduces a new article and associated image assets comparing UI-based and text-based chatbot approaches.
Confidence Score: 5/5 - Safe to MergeSafe to merge — this PR introduces a new article Key Findings:
Files requiring special attention
|
WalkthroughThis PR adds a new technical article comparing UI-based and text-based chatbots, covering performance metrics (task completion rate, time-on-task, user satisfaction), cognitive load theory, academic citations, and a technical implementation guide for the OpenUI toolkit with code samples and token efficiency benchmarks. Six supporting image assets are included to illustrate the article content. Changes
Sequence DiagramThis diagram shows the interactions between components: sequenceDiagram
title OpenUI: From User Query to Rendered UI Components
actor User
participant App as "Chat App"
participant Lib as "Component Library\n(openuiLibrary)"
participant LLM as "LLM"
participant Stream as "OpenUI Lang Stream"
participant Renderer as "Renderer"
Note over App, Lib: Setup Phase (once at initialization)
App->>Lib: openuiLibrary.prompt(openuiPromptOptions)
Lib-->>App: systemPrompt (component-aware instructions)
Note over User, Renderer: Runtime: User sends a query
User->>App: "What parameters does /auth/token accept?"
activate App
App->>LLM: { systemPrompt, userMessage }
activate LLM
Note over LLM: Model decides at runtime<br/>what component to render<br/>(table, form, card, chart...)
LLM-->>Stream: OpenUI Lang tokens (streaming)
deactivate LLM
Note over Stream: e.g. root = Stack([paramTable])<br/>paramTable = Table([...fields, types, flags])
loop Token streaming
Stream-->>Renderer: next OpenUI Lang token
Renderer->>Lib: resolve component(token)
Lib-->>Renderer: React component
Renderer-->>User: progressively rendered UI
end
deactivate App
alt Text-based chatbot (old approach)
Note over User: Reads prose -> parses relevance -><br/>holds in memory -> navigates elsewhere<br/>4 steps before task completion
else UI-based chatbot with OpenUI
Note over User: Sees interactive component<br/>(table, form, card) -> acts directly<br/>Task completion inside the response
end
🔗 Cross-Repository Impact AnalysisEnable automatic detection of breaking changes across your dependent repositories. → Set up now Learn more about Cross-Repository AnalysisWhat It Does
How to Enable
Benefits
|
|
LGTM 👍 No issues found. |
|
Hi @vishxrad, @zahlekhan, |
|
Thanks @Rahulkhinchi03 , reviewing this |
Closes #9
Summary
A research-backed comparison of text-based and UI-based chatbots across task completion rate, time-on-task, and user satisfaction. The article makes the case through peer-reviewed UX research and is useful to any developer building a chatbot on any stack. OpenUI enters in the second-to-last section as the practical implementation path, not as the predetermined answer.
What this covers
Research citations
Nguyen, Sidorova & Torres (2021). "User interactions with chatbot interfaces
vs. menu-based interfaces." Computers in Human Behavior, 125.
https://www.sciencedirect.com/science/article/abs/pii/S0747563221004167
Følstad & Skjuve (2022). "Understanding the user experience of customer
service chatbots." International Journal of Human-Computer Studies, 161.
https://www.sciencedirect.com/science/article/pii/S1071581922000179
Nielsen Norman Group. "The User Experience of Chatbots."
https://www.nngroup.com/articles/chatbots/
Forethought CX Platform Review (2025).
https://forethought.ai/blog/why-are-some-chatbots-still-bad
Code
All code samples use
@openuidev/react-ui@0.10.2and@openuidev/react-lang. Verified against the published npm package docs. Imports use correct subpath exports including@openuidev/react-ui/genui-libfor prompt generation. OpenUI Lang syntax example taken directly from the live playground output.Visuals
Writing standards checklist