Live data from Hacker News

JSON Canvas – An open file format for infinite canvas data

jsoncanvas.org

11–20 of 168 posts

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

#11

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.

> It would be nice to see actual examples

If you click "Toggle output" on the linked page, you can see the code for the page itself

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

#12
This looks a little pre-1.0, it's quite short on detail. For example:

file (required, string) is the path to the file within the system.

What kind of path, within what system? It's not clear that the 'file' type couldn't just be another kind of 'link'. If various fields like 'background' were defined to be URLs, that would offload a lot of complexity onto existing web specs.

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

#13
post #11

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.

> It would be nice to see actual examples If you click "Toggle output" on the linked page, you can see the code for the page itself

Thanks. The available types definitely do not map to what we do. It seems the format is more suited for displaying DAGs.

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

#15
Whoa! Didn't expect this to bubble up to the top of HN. Some context about why we created JSON Canvas:

https://obsidian.md/blog/json-canvas/

We just released it today, so this is still a very nascent project. A little over a year ago we released Obsidian Canvas. The .canvas file format has felt stable enough to give it a name and resources that other apps can freely use. See the original Show HN:

https://news.ycombinator.com/item?id=34066824

The spec is conservative, and definitely does not support many features canvas apps will want to implement (yet).

The purpose of giving JSON Canvas a name and site is to encourage an interoperable ecosystem to grow around this format. We're definitely looking for feedback of all kinds!

It's great to see all the suggestions already shared in this thread because it starts to provide a roadmap for how this could become a more useful format for other apps.

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

#16

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

Thinking about it, I'm not sure any interchange spec would leave useful room for innovation. This isn't like EPS or PDF or something where the kind of output is well-defined (printable graphics + text) and the innovation is in the editing interface. The innovation in canvas apps is surely in the semantics of the nodes themselves; but if you add some new node type with special behavior, how can you usefully export that to other apps? You could make it a black box that can round-trip safely, but that doesn't seem very useful. Maybe if it's something like an HTML embed or iframe?

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

#17

This was released (and originally implemented) by Obsidian: https://obsidian.md/blog/json-canvas (see also https://news.ycombinator.com/item?id=39670684 )

I would highly recommend using this plugin with it - https://github.com/rpggio/obsidian-chat-stream

It has basically changed the way I interact with LLMs and research and plan things

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

#19

This looks a little pre-1.0, it's quite short on detail. For example: file (required, string) is the path to the file within the system. What kind of path, within what system? It's not clear that the 'file' type couldn't just be another kind of 'link'. If various fields like 'background' were defined to be URLs, that would offload a lot of complexity onto existing web specs.

Yeah, other details are missing too. For example backgroundStyle:

> cover fills the entire width and height of the node.

Does that work like the CSS background-size: cover; or background-size: 100% 100%;?

> ratio maintains the aspect ratio of the background image.

Does that mean CSS cover? contain? Something else?

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

#20
post #6

What is the upside of using an infinite canvas? I tried playing around with them in the past but I think my brain's mental model of how to parse data is incompatible with "clutter" (for lack of a better term) of an infinite canvas.

Check out this video from one of my favoriate infinite canvas softwares, especially beginning around 1:25 (which I'm deep-linking to):

https://youtu.be/GblI7GI0jQ4?t=85

(Alas, the original desktop app (iMapping, in Java) as shown in the video is no longer being developed, and now they are only developing the web app (Infinitymaps) only run in the browser, which imo is not the best fit for infinite canvas apps which can be very resource-intensive)

Also see the app author's own all-purpose mega-map that he used to organize everything: https://youtu.be/bTQWL5wmdZY?si=6VrnPIErOzasisEe

Post reply on HN