87 lines
4.0 KiB
Markdown
87 lines
4.0 KiB
Markdown
# Non-Linear: Ideas Borrowed from Existing Products
|
|
|
|
## Overview
|
|
|
|
Design ideas mined from existing products, evaluated against Non-Linear's "focused dev tool" philosophy.
|
|
|
|
## ✅ Adopted for v0.1
|
|
|
|
### Keyboard-First + Command Palette (from Linear)
|
|
|
|
Every action has a keyboard shortcut. `Cmd+K` command palette is the primary navigation method. Graph navigation via `Alt+↑/↓/←/→`. Context-aware palette shows different actions depending on current view and selection.
|
|
|
|
### Triage Inbox / Rootless Inbox (from Linear)
|
|
|
|
Nodes without a parent land in a staging inbox. Triage = assigning a parent, which places the node in the tree. Decouples "capture" from "organize." Agents can triage via API.
|
|
|
|
### Backlinks / Inbound Link Surfacing (from Obsidian)
|
|
|
|
Every node surfaces inbound lateral links: "3 tasks blocked by this." Count badges on nodes in layered overview. Agents can query "what depends on this node?" for impact analysis.
|
|
|
|
### PR / Commit ↔ Node Coupling (from GitHub)
|
|
|
|
Short typeable node IDs (`NL-42`). Commit message parsing (`fixes NL-42` → status change). PR linkage appears in node's activity feed. Branch naming support (`feature/NL-42-login-flow`). GitHub/GitLab webhooks trigger node updates.
|
|
|
|
### Scoped Conversations + Selective Watching (from Slack)
|
|
|
|
Watch granularity: single node, subtree, or project-wide. Event type filters (status changes, comments, agent actions). Mute noisy subtrees. Agent-specific filter.
|
|
|
|
### Plan-Then-Apply (from Terraform/Pulumi)
|
|
|
|
Structural changes show preview: reparent consequences, bulk operation impact, deletion cascades, permission boundary changes. Agent proposals submitted as reviewable "plans."
|
|
|
|
### Cycles as Time-Boxing (from Linear)
|
|
|
|
Cross-cutting temporal view over spatial tree. Cycle = named set of node references + date range. Color highlighting in all views. Agent scoping to current cycle.
|
|
|
|
### Complete Change History / Blame Timeline (from Git)
|
|
|
|
Every mutation is an event: status, assignment, comment, link, reparent, label. Compact timeline in focus widget. Diff-style for structural changes. Agent-readable via API.
|
|
|
|
### Breadcrumb Navigation (from VS Code)
|
|
|
|
Full root→node path as clickable segments. Always visible in focus widget. Keyboard shortcut to jump to any ancestor.
|
|
|
|
### Natural Language Node Creation (from Todoist)
|
|
|
|
Parse tree path (`Auth > Login flow`), labels (`#bug`, `p0`), assignment (`@agent-1`) from text. Integrated into command palette. Fuzzy-matches node names. Falls back to inbox if path unresolvable.
|
|
|
|
## ⏳ Deferred
|
|
|
|
### Auto-Linking External Signals (from Sentry/PagerDuty) — v0.3+
|
|
|
|
Production errors auto-route to the right component subtree. Deferred because it can overwhelm UI and requires mature graph structure before automation.
|
|
|
|
## ❌ Not Adopting
|
|
|
|
### Rich Document Blocks (from Notion)
|
|
|
|
Turns dev tool into workspace platform. Nodes have rich markdown descriptions, not embedded apps.
|
|
|
|
### Multiplayer Presence / Cursors (from Figma)
|
|
|
|
Overkill for small teams (3-5). Ambient awareness handled by activity feed and scoped notifications.
|
|
|
|
### Canvas / Sketch-to-Structure (from Excalidraw)
|
|
|
|
Cool demo, unclear daily value. Entry experience (create root → add children) is fast enough.
|
|
|
|
## Summary Table
|
|
|
|
| Idea | Source | Status | Version |
|
|
|------|--------|--------|---------|
|
|
| Keyboard-first + Cmd+K | Linear | ✅ Adopted | v0.1 |
|
|
| Triage / rootless inbox | Linear | ✅ Adopted | v0.1 |
|
|
| Backlinks | Obsidian | ✅ Adopted | v0.1 |
|
|
| PR/commit coupling | GitHub | ✅ Adopted | v0.1 |
|
|
| Scoped conversations + watching | Slack | ✅ Adopted | v0.1 |
|
|
| Plan-then-apply | Terraform | ✅ Adopted | v0.1 |
|
|
| Cycles (color-highlighted) | Linear | ✅ Adopted | v0.1 |
|
|
| Complete change history | Git | ✅ Adopted | v0.1 |
|
|
| Breadcrumb navigation | VS Code | ✅ Adopted | v0.1 |
|
|
| Natural language creation | Todoist | ✅ Adopted | v0.1 |
|
|
| Auto-link external signals | Sentry/PagerDuty | ⏳ Deferred | v0.3+ |
|
|
| Rich document blocks | Notion | ❌ Rejected | — |
|
|
| Multiplayer presence | Figma | ❌ Rejected | — |
|
|
| Canvas sketch-to-structure | Excalidraw | ❌ Rejected | — |
|