[Proposition] Canvas for Joplin?

Hi everyone,
I've been thinking of something lately :

Wouldn't it be neat to have canvas/whiteboards in Joplin, in a similar fashion to those of Obsidian/Logseq ?
See Obsidian canvas and Logseq whiteboards.

They would be :

  • A third type of entity, on the same level as notes and todos and with the same properties (can be placed into notebooks, given tags, etc).
  • Editable ; you can place and link notes, perhaps even attach files.
  • An infinite space, allowing for huge and small projects alike.

Why ?

The way I see it, notebooks and tags come into play when it feels wrong to put too much content in the same note. They help order, split, and link multiple notes together, but they don't really help visualize the whole thing.
Hence, I believe an option to approach notes visually (i.e. canvas) would be a great addition to Joplin.

However, I am aware that this does raise some questions, as it challenges the simple approach to note taking that Joplin has committed to (which is one of the main reasons I use it, besides being open-source) ; and moreover, it cannot be stored in or represented as plain markdown.

But

  • It is a pretty straightforward concept ; most people are already accustomed to using a virtual desktop on their computer.
  • Just like notebooks and tags, if your goal is to take simple markdown notes and synchronize them across devices, canvas can be ignored completely.

Now here's something I wasn't able to come up with a clear answer to :

Would it be better integrated as a feature or as an extension ?

  • On one hand, making it a full-blown Joplin feature means seamless integration (drag and drop of notes and attachments, mobile support, fast loading/transitions, etc), consistent look, and more importantly, continued support as Joplin evolves.
  • On the flip side, an extension doesn't impact the approach/philosophy already established for the project, simplifies things in the decision-making process (mostly which file format to use for the canvas), and doesn't increase the workload of Joplin's maintainers.

That's it ! Perhaps I'm overthinking it ; but in any case, I'd be happy to hear y'all's thoughts on the matter !

P.S. : Many thanks to Laurent and all the contributors, Joplin is an amazing tool ! :‌)

Yeah, it would be really cool to have that! Always liked that I can just sketch something quickly with a pen when using OneNote or physical notebooks.

But as I understand, these are separate kinds of notes, right? Like there's text/markdown notes and whiteboards/canvases, and they are completely different things?

If Joplin could support either third-party file types or allow the replacement of the text editor, it would be easier to create such a kind of plugin.

Yes, as it is implemented in Obsidian and Logseq, it's not a note in and of itself.
You can place notes on it though, as well as attachments and shapes. You can then link these objects together, and even draw directly on the canvas.

So the idea would be to have something like this available in Joplin, even in a more primitive form. The part I'd be interested in, is being able to place down notes and draw/place arrows/lines to connect them together.

You can try it out over there : Logseq Demo, just click on « Whiteboard » in the menu on the left.

I also recently tried LogSeq and there were many things I really liked. Most of that is also achievable with Joplin with some additional work. However, the canvas is definitely something I'm missing in Joplin. I love taking notes by hand and I wish I could directly write into Joplin and use that to connect different notes.

There were also things that I didn't like with LogSeq, mostly regarding the editing but also that they do not have an open backend to self-host the way I can do that with Joplin-Server. So I'm not migrating away. But I wish we had some Canvas! :nerd_face:

It's a good idea. I like canvas!

Canvas for Joplin 3.0? :smiley:

Leaving a reply to show my support for this idea! Would love to have this implemented.

Could this be achieved by storing the canvas as some kind of file attachment in a note (along the lines of how we store .pdf file or .jpg files in notes), with an extension that could recognize such notes/attachments and allow manipulating them?

Perhaps by using a special tag to find/enable such notes?

When browsing the Anytype forum, i stumbled upon this post which I found quite interesting and which I have copied (and slightly modified) below:


Obsidian had recently released their canvasing functionality as an Open Source file format (.canvas ) that can be adopted by anyone. It would be really nice have the ability to utilize this functionality & format inside of Joplin (or at the very, very least… be able to preview it):

HOW COULD IT BE DONE

Here are the release notes note on JSON Canvas 4. It has other additional resources / links included.

It could be built out to include Drawing / Whiteboard features as well, which would be really helpful.

REAL WORLD USE CASES

The video above should provide a great example of how it could be used. It is similar to:

  • Scrintal 3
  • Mind Map tools
  • Features that Affine 3 has

RECOMMENDED ALTERNATIVES

None at this time. It is a great jumpstart to providing this kind of functionality in Joplin, instead of having to build out Canvas functions from scratch.

I wonder if that file format could work with the existing Plugin: js-draw integration at all.

I just found this library. May be it could be built with this tool.

If tldraw integration would suffice, there's already a plugin for the similar but open-source Excalidraw: Plugin: support Excalidraw in joplin

@muzak thank you for mentioning this plugin!
I've made it working with couple of adjustments mentioned in latest post of its topic.

While tldraw is really cool, the ability to actually make a canvas using existing joplin notes and modify those notes in canvas is really what I’m looking for. For me it’s pretty much the biggest missing feature from joplin that I would use daily.

Yup, I feel the same way.
And it is the number one missing feature for me as well, by a long shot !

I definitly would use that as well!

making Joplin features more close to OneNote is an awesome idea. Exactly the canvas is what I use there most

The current way of using Joplin Drawings is much better than i thought though. I should use it more often. Please keep it and keep developing it further. Things i would love to see implemented very much would be

  • smoother pen strokes by faster recording and direction prediction or such things to make it usable for writing long texts with stylus

  • allow much bigger drawings without long saving times

  • making stroke lines of varying thickness possible so you can draw pretty things

  • clipboard pasting of images especially screenshots into drawings

  • support the stylus pen delete button on samsung tablets would be cool

  • making drawings scalable in the md file would be nice! maybe thats just a bit of CSS

Thanks for all your work!

Well I'm not sure about how OneNote works, the canvas / whiteboard feature I was proposing was more about being able to place down notes and text on a flat surface, move them around, etc.

See Obsidian's short demo video.

However, Logseq's implementation allows freehand drawing, so it would definitely be a welcome addition !

We are planning to add this feature, although we call this Visual Workspace:

But maybe we should call it Canvas if that's how these UIs are generally known. I would really like to have this feature for my own usage as I think it's a nice way to visually organise multiple related notes.

Hell yeah, that's awesome !

Also I think Visual Workspace is not a bad name, as in it's easy to tell what it's about. Perhaps just a bit long, but that's nitpicking.

And for the file format, maybe it'd be nice to reuse Obsidian's open JSON Canvas format ?