After much internal debate we chose the JSON format. We stay committed to keep it as open and easy to work with as possible. Plugin developers are already parsing and modifying the JSON file to programmatically change a Canvas view, and I think that's a fantastic start!
Now that you crossed that line, I hope the next "custom format" will be a "real" outliner. You are surely familiar with outliners ;-) It is about full block-level support really, and all what that allows (API, backlinks, query, aliases...)
Anyway, Canvas Rocks! Thanks!
You can see the spec for .canvas here: https://github.com/obsidianmd/obsidian-api/blob/master/canva...
If I understand it correctly, the use case is to link existing MD notes visually. That's a different way of looking at the data than the two-way backlink approach that was the foundation of Obsidian (and other personal wiki tools).
I'm interested in this, as I currently use a combination of Obsidian + SimpleMind, but currently SimpleMind has more features (full fledged mindmapping app), and I like having two separate spaces to sketch out ideas.
For smaller scale mindmapping though, I am finding Canvas very usable already for such an early release. The ability to easily link or embed to markdown files (or create new ones) is really nice, and I like having all my work in a common area. Community created plugins will also dramatically expand the app.
There will always be advantages for the dedicated apps as well, but this is going to be a great option for many.