ymappr is the second product I build as an indie maker. A to-do app using mind-maps. It got some traction on Hacker News and I ended up with 150 registered users in two days. Then I moved on, the technical challenge was too time-consuming: too many new technologies to master in a short amount of time. My front-end development skills are too limited to build something usable and beautiful.
The biggest issue I had while building this product was how to represent mind maps in an efficient and manageable way. This post is an attempt at describing how I might have finally found a solution to this problem.
Why it's an important problem
Mind-maps are incredible tools to display both operational and strategic elements of a project.
They have the potential to describe both macroscopic and microscopic scales of a concept, which is why they are more powerful than mere lists.
Lists are flat structures, they can only be one-dimensional, and yet lists are still the main data structure used in project management. It's hard to represent the different layers of abstraction of a project with lists. In Trello for example, you need to create one board per project and it's hard to link your company's vision to operational tasks. There is no such problem with mind-maps which are multi-dimensional by design. You can put your vision at the root node of the mind-map, link it to your mission statement, break it down into goals and objectives, then write down user stories and atomic tasks. All this complexity can be represented in one fell swoop. We all know it's important to "Start with Why", and yet there is no software tool to easily bridge the Why to the How to the What.
How do we make beautiful mind maps? Never found the right piece of software to draw them easily, the way Trello makes lists so simple to create for example.
Mind maps are drawn using complex technologies - SVG or canvases - which make them hard to manipulate and render across the Internet. How can we make it easier to manage?
A mind map with many layers quickly gets out of hands. How can we navigate them efficiently?
Mind maps are in fact nested lists. A simple yet powerful idea.
Lists are HTML elements taking a few milliseconds to render. No need for complex technologies and easy to manipulate. (solution to sub-problem 1)
Nested lists are easy to grasp (that's how file storage is organized) and easy to navigate (up/down/next/previous). (solution to sub-problem 2)
Notion proposes them to create hierarchical content, but from what I saw internal nodes are not actionable.
I'm going to develop ymappr as an in-house tool to serve 200WaD's project management needs. Then if people like the result and are willing to become paying customers I might think of releasing it as a by-product. Time will tell.