Feature Intro: Bubble Chats
Or: when the desk is the product, not the transcript
Source: /Users/nitishchauhan/Downloads/1 Feature intro - Bubble Chats.md
Phase: final
Previous: Trajectory - Inner Map · Index - Feature Intro Bubble Chats
Status: draft
Pipeline: CONSTITUTION - Publishable Asset Pipeline · 00 - Master Index
How this one actually started
I kept describing Atlas like it was one clever tree.
Branch here. Fork there. Never lose the logical spine. That is real. Deep reasoning needs relationships.
But the other half of how I actually work kept leaking into the same pitch: three chats open at once, one for a side definition, one for a wild tangent, one for the main plan, none of them forced into parent and child. Drag them. Kill them. Leave them floating.
The useful cut was not “branching is wrong.” It was: I was smuggling two different modes of thinking into one system name. Once those modes separate, the rest of the bubble desk almost designs itself: Session as the unit, interrupt-spawn without abandoning the main thread, recovery that restores geometry, panels that are not only AI, and a closing claim that most AI clients are still messaging apps.
What follows is the feature intro that froze after that cut. Design conversation, not a finished paper. The open questions at the end are still open on purpose.
The real question under the feature list
Is the product a smarter chat transcript, or a spatial thinking desk where conversations are tools you arrange?
That is the fork this piece stays on.
1. Two modes, kept on purpose
Mode 1: Structured Branching
Purpose:
“I don’t want to lose the logical flow.”
This is for deep reasoning.
Main
├── 1.1
├── 1.2
│ ├── 1.2.1
│ └── 1.2.2
└── 1.3
Everything has relationships.
Mode 2: Floating Workspace
Purpose:
“I’m exploring. Don’t force relationships.”
Figma meets ChatGPT. Chats sit as free rectangles on a surface. You drag them, resize them, close them, move them. No hierarchy. No branching. Just thinking.
+---------------------+
| Chat A |
+---------------------+
+------------------+
| Chat B |
+------------------+
+------------------+
| Chat C |
+------------------+
+----------------+
| Chat D |
+----------------+
Names that stick
Call them Conversation Mode and Workspace Mode. Switch with one click. Do not collapse them into a single tree and pretend the second need never existed.
2. Session is stronger than folders
A Session is one thinking episode. Everything inside belongs to it.
Session
Morning Research
├── S1
├── S2
├── S3
├── S4
└── S5
On export:
Morning Research/
S1.md
S2.md
S3.md
S4.md
Session.json
metadata.json
Clean pack. One closed loop of work, not a permanent graveyard of half-named files.
Visual titles, internal UUIDs
Internally keep UUIDs. Visually, auto-title from the first prompt:
💬 PDF Summary
💬 Electron
💬 Cursor
💬 Python
💬 VPS
You remember the bubble by what you asked, not by S3 forever.
3. Interrupt cognition: temp, spawn, pin
Temporary chats
Sometimes the whole need is:
“What’s Electron?”
Read. Done. Delete. Gone forever. No guilt. No clutter.
⌘ + W
Gone.
Quick Spawn
⌘ + N
Instant floating chat. Cursor already inside. No menu. No dialog. Just type.
ADHD-style spawn beside you
You are in Chat A. Suddenly: “Oh wait…”
Instead of leaving the thread:
⌥ + Enter
Creates Chat B floating beside it. Focus switches instantly. Main thread stays. Side itch gets a surface.
That is not a power-user easter egg. That is matching how interrupt-driven thinking actually moves.
Pinning
Some chats are load-bearing:
📌 Main Plan
Pinned. Never closes by accident. Everything else can disappear.
4. Session close, recover, promote, timeline
Closing the session
Closing Main can ask:
Close entire session?
✓ Save
✓ Compress
✓ Export
Cancel
Then all floating windows disappear together. It should feel like ending a work session, not like hunting stray tabs.
Session Recovery
Like VS Code resume. Yesterday:
Morning AI
(Resume?)
One click. Every floating panel returns exactly where it was: same sizes, same zoom, same scroll positions.
Promote to Primary
“Primary stays in the center” is a useful default, not a law. The main discussion changes mid-session. Any floating window can become Main:
Right Click
↓
Promote to Primary
Now every other window belongs to it. Flexible ownership, not a fixed altar in the middle.
Session Timeline
Bottom of screen. Narrative, not only state:
09:02 S1 Started
────────────
09:15 S2 Spawned
────────────
09:40 S3 Spawned
────────────
10:20 Returned to S1
────────────
11:01 Closed S3
The day has a story. Spawn, return, close. That matters if the product is about how thinking moved, not only what text was saved.
5. Not every panel is AI
Floating Notes
Some windows are sticky thought capture only:
Todo
Research later
Book
Idea
Question
No tokens. No model. Capture without turning every itch into a chat bill.
Floating Browser (and polymorphic objects)
Instead of Chat in one app, Browser in another, Finder in a third, Atlas holds panels that can become:
- AI Chat
- Browser
- Markdown editor
- PDF viewer
- Whiteboard
- Scratchpad
One workspace. Multiple object types. Chat is a citizen, not the only species.
6. Window physics as product soul
Fun is not decoration here. It is how willing you are to keep rearranging thought.
Grab a chat and flick it aside. Smooth spring animation. Magnetic snapping. Zoom. Keyboard shortcuts for everything. No lag. 60 FPS.
Closer to moving index cards across a desk than managing software windows. If the cards feel heavy, people stop spatializing and fall back to one long scroll.
7. Questions before the technical specification
These are not trims. They make the design richer before locking a TRD.
1. Multi-model support
Should each floating chat use a different model at once?
- Chat A → GPT-class
- Chat B → Gemini
- Chat C → Claude
- Chat D → DeepSeek
Comparison becomes a spatial layout, not a settings pilgrimage.
2. Shared session memory
Should Chat B automatically know Chat A?
Default preference that held in this design pass: fresh context by default, with an option to inject context when you mean it. Independence first. Link when intentional.
3. Cross-chat drag and drop
Drag an answer from Chat B into Chat A as quoted context. Candidate for a signature interaction: the desk does what copy-paste menus never teach.
4. Live compression panel
Do not wait for end-of-day dump. A side panel continuously builds:
- Key questions
- Emerging themes
- Decisions
- Open loops
Then the session summary is half-written before you stop working.
5. Universal command palette
One shortcut, VS Code-shaped:
⌘ + K
From there: create chat, search sessions, switch models, compress session, export, search every conversation you have ever had. No menu hunting.
What I was hunting by the end
Out of the feature pile, the durable claim is not any single shortcut.
Floating workspace + Session model is a distinctive interaction model. Most AI chat clients are still designed as messaging apps. This direction is a thinking workspace, where conversations are tools you arrange spatially instead of a single scrolling transcript.
That is the design direction worth protecting when the technical specification starts: keep Conversation Mode for logical flow, keep Workspace Mode for relationship-free exploration, make Session the unit of close/recover/export, and treat panels as objects on a fast desk, not tabs in a chat client.
Gemma 14 Phase 3. Experiential series angle from Index - Feature Intro Bubble Chats. Related Atlas spine lives in sibling indexes (MVP roadmap, technical specification) without merging this intro into a TRD.