Full disclosure first: I build Mermaid Plus at NGPILOT, and serveral macro apps for Confluence, which is exactly why I’m asking instead of pitching.
Here’s the situation I keep running into, and I suspect it’s common across every macro category. A team picks a macro app — draw.io for diagrams, Excalidraw for whiteboards, a markdown macro, advanced tables, task lists, a Mermaid macro, whatever fits at the time. It works. A year or two later something changes: a new tech lead with different preferences, a feature you need lives in a different app, licensing gets painful, or the team simply falls out of love with the tool. So the team decides to switch.
And the decision process is almost entirely about the future: which app is better for the content we’re going to create. The past — the hundreds of pages that already have the old app’s macros — gets one line in the plan: “we’ll migrate them as we go.” Everyone nods. Nobody has ever actually seen “as we go” happen.
The reason it’s genuinely hard, in case you haven’t switched macro apps before: Confluence macros are stored per-app inside page storage, and every vendor wraps the content differently — one keeps the source in a macro parameter, one in attachment blob, one next to a companion block. The new app you’re switching to can’t read the old app’s format. The old app has to stay installed just to keep the existing pages rendering. A real conversion means somebody writes a parser for the old format — per app, sometimes per app version.
So I’m asking teams who have actually been through a switch:
- What did you do with the existing pages? Convert them all in place before the cutover, freeze them and start fresh in the new app, or run both apps side by side indefinitely?
- Did the old app stay installed just to keep old pages rendering? For how long — and what finally made you remove it?
- Big-bang conversion or page-by-page as each page gets edited? Which one held up?
- Did migration capability influence which new app you picked — as in, “we chose X because it could import from Y”? Or was that never a real factor?
- And the honest one: did you just leave the old macros to die, and did it matter as much as you feared — or was the content mostly stale anyway?
The bigger question underneath: macro apps have no common interchange format, so every switch re-pays the parsing cost from scratch — and that cost quietly shapes which apps teams dare to adopt in the first place. Should import/export of existing content just be table stakes for any macro app on the Marketplace? Or is per-app migration the permanent tax of a healthy ecosystem?