Live data from Hacker News

JSON Canvas – An open file format for infinite canvas data

jsoncanvas.org

1–10 of 168 posts

Re: JSON Canvas – An open file format for infinite canvas data

#3
I really like the idea of a format for interchange between infinite canvas apps, but the preset colors and list of node types makes this spec feel strangely opinionated. You could build something like Kinopio [1] but not much beyond that.

It looks really promising though! I'm definitely interested in seeing this grow.

[1] https://kinopio.club

Re: JSON Canvas – An open file format for infinite canvas data

#5
Love obsidian and it’s cute that the site itself is presented as a ‘canvas’ interface element, but…

not a great experience on mobile (iOS/safari) - pinch to zoom and drag to scroll are both a bit busted, the zoom ui controls can disappear altogether, and there’s no ui indication that the box on the right, that contains the details of the spec, is actually a scrollable container (ie no scroll bar visible)

Re: JSON Canvas – An open file format for infinite canvas data

#7
It would be nice to see actual examples. We use an infinite canvas (https://switchboard.app), but it's hard for me to map the objects we have on our virtual-desktop-like-canvas with the file format described here.

The items on our infinite canvas are more akin to a desktop app, where most objects are application windows.

Re: JSON Canvas – An open file format for infinite canvas data

#8

Love obsidian and it’s cute that the site itself is presented as a ‘canvas’ interface element, but… not a great experience on mobile (iOS/safari) - pinch to zoom and drag to scroll are both a bit busted, the zoom ui controls can disappear altogether, and there’s no ui indication that the box on the right, that contains the details of the spec, is actually a scrollable container (ie no scroll bar visible)

Really? I used the website on Chrome on my Samsung Galaxy M12 (a fairly average smartphone) and the experience was fine.

Re: JSON Canvas – An open file format for infinite canvas data

#9
Suggestion: add some metadata at the top level, including a bounding box that includes all nodes so that you can encapsulate a canvas and include it within another context before having created all the elements within it. It's redundant information and it needs to be kept in sync with the nodes and edges, but it's very useful for applications working with your data.

Also, this is not very json-ish, but optimizing your serializer so your metadata is always written first is pretty handy for embedding, since it allows you to use a pull parser and do useful things before the entire doc is parsed. (e.g. picture a huge doc being embedded and starting out as just a box and having its elements filled in async. You can't do that well if you don't know the bounding box ahead of time)

Post reply on HN