Skip to content

Ecco Pro replacement — research (closed 2026-08-20)

Section titled “Ecco Pro replacement — research (closed 2026-08-20)”

Question: Ecco Pro is the last Windows-only, desktop-only tool in daily use. Replace it, or not? Verdict: Keep Ecco. No candidate earns a migration. The capability gap that keeps it alive is closeable inside the vault — but only with custom JavaScript, and the build is a separate task. Rounds: 6 · rock: off (deliberate off-rock decision, recorded at /task-start) Deliverable: Core/IT/Utils/External/PIM-Alternatives.md — ranked comparison, linked from Focus/DASHBOARD.md Follow-up: ecco-notepads-build — the phased build, to run autonomously

  • Keep Ecco; keep migrating opportunistically. Ranked: 1. Obsidian (incumbent) · 2. SiYuan (fallback, gated — see below) · 3–7. Tana, Tolaria, Capacities, ClickUp, Dart AI, all disqualified on Talbot’s own criteria (local-first, privacy, no lock-in, model-agnostic).
  • Talbot’s hypothesis — frontmatter + Bases for per-item columns — was half right. Bases cannot field bullets inside a note (Obsidian docs: “each row is a file, and each column is a property of that file”). It works when the item is a file, and its cells edit in place and persist to frontmatter — confirmed on screen. But file-per-item flattens hierarchy to a parent: property, and Talbot rated multi-level depth HIGH: “Only simplistic task items have a single parent. Real life project management involves tasks and subtasks that are multiple levels deep.” That ruled the Bases route out for outlines.
  • The real gap was narrower than “hierarchy” — it was hierarchy inside a filtered view. The master outline keeps full depth and Obsidian Outliner folds it exactly like Ecco. Only the notepads were the problem. Full per-query-form findings are in Focus/LESSONS.md.
  • dataviewjs closes it — walk the outline, keep matches plus their ancestor chain, italicise ancestors. Logic verified outside Obsidian; render check pending in the build task.
  • Cost stated plainly: that is custom JavaScript living in the vault — the exact “build-it-yourself flexibility over practical out-of-the-box functionality” trap in SDC/Strategy/Identity/Internal View/Weaknesses.md. Ecco does it natively with no code. Talbot accepted the trade and scoped a phased build rather than more research rounds.
  • Still unmatched by any in-vault route: direct grid editing of an outline’s columns. You type [abc:: A]; Ecco lets you click a cell.
  • Gap 2 (any-device) is partly closed already — Dynalist covers phone capture/reference. remotely-save is installed but not enabled. Obsidian Sync is $4/mo annual; the vault is 57 MB / 2,022 notes, so size is not a constraint. Git-based mobile sync collides with the standing LOCAL-ONLY / never-push rule. Deliberately left undecided.
  • TASK queries look like they filter, and don’t. Round 3 nearly closed on a false positive: a TASK view rendered a nested tree that appeared to be a filtered notepad but was the entire outline — it matched top-level roots and dragged every descendant along, including three thisWeek items inside a today view. It also ignores fields on subtasks entirely, so a query matching only a deep item returns “No results to show”. Count the rows against the filter before believing a view.
  • Before ever scoping a SiYuan migration: confirm inside the application that its attribute views are not equally flat. Tables are flat; this was not verifiable from public documentation. SiYuan is the only candidate offering depth + per-item columns + editable views + local + Windows, but switching tools to fix a problem the new tool also has is the expensive failure mode.
  • Obsidian’s installer version lies. Obsidian.exe reports 1.8.10; the app actually running is 1.13.7 from the auto-updated asar. Nearly ruled out Obsidian CLI (needs 1.12.7+) on that basis. Promoted to AGENTS.md.
  • Secondary sources were wrong about Tolaria’s platforms — four write-ups said macOS/Linux only; the release assets ship Windows x64. Promoted to AGENTS.md. (It fails anyway: note-level properties like Bases, and not an outliner.)
  • A “not adopted” verdict is scoped to what it tested. KB-OS-Obsid-cli (2026-07-28) rejected Obsidian CLI for agent vault edits — still correct. It never considered render verification, which is what makes the follow-up build self-testable. Promoted to AGENTS.md.
  • Whole editing pane showing raw markdown = Source mode, not the known stale-render glitch. .obsidian/workspace.json carries "source": true per pane; editing-mode-hotkey binds the toggle to Ctrl+Shift+E.
  • notify_manager email works — tested with a real send, not assumed. Import from inside its own directory. This is the escalation path for the autonomous follow-up task.
  • Core/IT/Utils/External/PIM-Alternatives.md — the decision artifact
  • Focus/proofs/ — four working proofs (Dataview columns · Bases file-per-item · TASK depth · dataviewjs treeview). Delete or archive once the build task no longer needs them.
  • Focus/LESSONS.md — the Dataview query-form capability matrix
  • Commits: 9e4c638 35e27f1 4f2702c 29199ec 6f9c0ee 3e7573f 820de70 8de9574