16 ms·
Obsidian Canvas uses a new JSON-based file format that we have open-sourced under MIT license. You can see the spec here: https://github.com/obsidianmd/obsidia
by kepano 4y ago
Obsidian Canvas uses a new JSON-based file format that we have open-sourced under MIT license. You can see the spec here:
https://github.com/obsidianmd/obsidian-api/blob/master/canvas.d.ts https://github.com/obsidianmd/obsidian-api/blob/master/canva...
Just like all other files in Obsidian, canvas files are your own and local to your device. You're still linking to your own Markdown files which are just as future-proof as ever.
We decided to create the .canvas format because there wasn't any pre-existing canvas-type format we could find that fit our priorities around longevity, readability, interoperability and extensibility.
The .canvas format is designed to be as easy to parse as possible. We've already seen a few plugins take advantage of it, and we hope that more tools will become available that can use the .canvas format.
- helloguillecl 4y agoGreat! I love the philosophy around open and clear formats. Like I have said before, a second brain should be as open and reliable as possible.
- imperfect_blue 4y agoTrello boards export to JSON, would you consider it open? OneNote notebooks are also an open and well-documented specification, as well as local first and backed by a very reliable company, which makes them just as open as Obsidian by those standards. https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-one/73d22548-a613-4350-8c23-07d15576be50 https://learn.microsoft.com/en-us/openspecs/office_file_form...
- kepano 4y agoThe Canvas JSON is not an export format, it is the file that the app actually reads and edits. Being explicitly MIT licensed also gives permission to other people/companies to build their own tools using that format.
- helloguillecl 4y agoExporting is different than "being stored in". Since it does not represent the full state of the data, no.
- Macha 4y agoOneNote and this canvas format might be equally open and interoperable, but it's a hard claim to justify that onenote notebooks are as open as a folder of mostly standard markdown (the two exceptions being wikilinks and embeds)
- generalizations 4y agoI peeked at the onenote format standard [1] and the obsidian canvas standard. The difference is hilarious. The onenote standard is painfully complex, provided as a .pdf, and binary to boot. Compare to an example obsidian canvas - this is obvious, text-based (I could read it with notepad++) and easy to understand just by reading it: { "nodes":[ {"id":"6c711bf8c24c4f5b","x":-226,"y":-62,"width":400,"height":400,"type":"file","file":"testin/2022-10-14.md"}, {"id":"4dd7d04cdd0b379c","x":-530,"y":-209,"width":250,"height":60,"type":"text","text":"this is a note"} ], "edges":[ {"id":"0c589a4d6bbb06aa","fromNode":"4dd7d04cdd0b379c","fromSide":"bottom","toNode":"6c711bf8c24c4f5b","toSide":"left"}, {"id":"eda9f3edb3ec232a","fromNode":"6c711bf8c24c4f5b","fromSide":"top","toNode":"4dd7d04cdd0b379c","toSide":"right"}, {"id":"abf404722ba48c3b","fromNode":"4dd7d04cdd0b379c","fromSide":"top","toNode":"6c711bf8c24c4f5b","toSide":"right"} ] } [1] https://interoperability.blob.core.windows.net/files/MS-ONE/%5bMS-ONE%5d-220517.pdf https://interoperability.blob.core.windows.net/files/MS-ONE/...
- afturner 4y agoThe local first approach is the primary reason I use Obsidian. I trust that I can _depend_ on Obsidian because of this. On the other hand, this has also caused some headaches around using it on mobile.. but so far this has been a worthwhile tradeoff. Thanks for all the hard work!
- reneberlin 4y agoSyncthing comes to my mind for that specific need. https://syncthing.net/ https://syncthing.net/
- Macha 4y agoSyncthing on mobile is a little clunky because of OS limitations on background processes. Basically the reason I pay for Obsidian's own sync addon
- rg111 4y agoYou can always use Mega sync. And it has 15 GB free forever, just like Google Drive. Mega sync has native clients in MacOS, Linux, Windows, iOS, Android.
- Macha 4y agoDoes it not ultimately have the same problem? i.e. when you open obsidian, there's no guarantee the files are up to date as Android may have killed the third party sync program. And on iOS, there's no way for the sync program and obsidian to share the same filesystem short of the obsidian devs explicitly integrating
- jonas-w 4y agoAndroid does have Content Providers [0], basically apps can provide a "filesystem" which isn't locally stored on your phone and act like Network Shares. Caveat is that you need an internet connection. [0] https://developer.android.com/guide/topics/providers/content-providers https://developer.android.com/guide/topics/providers/content...
- alpaca128 4y agoMarkdown was never intended for data with a graph structure, so I think it's the right decision to use a different simple format instead of creating yet another bloated non-standard Markdown variant.
- erksa 4y agoYes! Compliment the standard, don't obfuscate it even more. As someone who mostly write org rather than md, but sometime have to write md in various places, it's confusing that they're not all the same.
- encryptluks2 4y agoAgreed here too. This was a poor choice IMO. They call it canvas but it looks like a poor hybrid between mind mapping and UML. Markdown already supports hierarchy. I am guessing this let's you set coordinates for how to lay the canvas out but this is exactly why I'd never use it.
- alpaca128 4y agoYou say you agree but then state the opposite opinion? > I am guessing this let's you set coordinates for how to lay the canvas out but this is exactly why I'd never use it. You wouldn't like a text editor that automatically rearranges source code or sections of a document without you having a say in it, and for the same reason I find manual layout for this graph feature absolutely necessary. And beside that it's very likely you'd want some other metadata that just have no place in standard Markdown. Maybe a viable alternative would have been generating graphviz dot code and embedding it in Markdown code blocks, which would make it compatible with other tools as well - that could still be added via plugins.
- easybake 4y agoThank you.
- cwilby 4y ago~Can't wait to try this out~ just installed, thank you!
- sneak 4y agoThis isn't what "open sourced" means. Photoshop is proprietary software with a well documented file format anyone can read and write. So is this software. "Open source" is not branding, it means something. It's okay to make and promote and sell proprietary commercial software. That's what you are doing, be proud and clear about it. Pretending your efforts have anything to do with free software is deceptive.
- talkin 4y agoYou’re focusing on a single word in a sentence which was just about the format.
- sieabahlpark 4y ago
- kepano 4y agoYou are confusing two different ideas here. The Canvas format is MIT licensed in the same way that Markdown uses a BSD-type license. That means we are giving explicit permission for anyone to use the format and build apps, scripts, plugins on top of it. Photoshop/PSD on the other hand is a closed proprietary format: https://en.wikipedia.org/wiki/Proprietary_file_format https://en.wikipedia.org/wiki/Proprietary_file_format
- cxr 4y agoThis is a pretty grating response, given how pointed it is. It's not made any better by the first sentence; it seems that you are the one confusing two different (types of) things: > The Canvas format is MIT licensed in the same way that Markdown uses a BSD-type license. In no sense are these two things comparable. "Markdown uses a BSD-type license" is a true statement because "Markdown", in the context where it makes sense to say this, is a Perl script—a program, licensed in a way that is not uncommon for open source programs to be licensed. Your canvas format is not a program. It's a 70-line TypeScript interface definition, going by your own link: <https://github.com/obsidianmd/obsidian-api/blob/master/canvas.d.ts https://github.com/obsidianmd/obsidian-api/blob/master/canva...> To call this "open source" (let alone open source "in the same way that Markdown" is) is a very odd choice. It's less odd for anyone who recognizes that it follows a common pattern, where folks with something to sell often openwash what it is that they're selling based on the (not unfounded) perception that having it be thought of as more open than it really is tends to confer certain positive benefits. It's why Steve Jobs lied about FaceTime being an open standard, for example. Whether or not you're giving any explicit permission to build apps, scripts, plugins, etc. is largely moot—to be frank, you don't have the power to dictate otherwise. On the other hand, if you're saying that you're aiming to steward and participate in what (you hope) turns out to be a vibrant ecosystem built on a common format, then that's cool. But say what you mean, though. Calling it an open format or an open standard would be fine; "open source", however, this is not.
- howmayiannoyyou 4y agoWe're using whatboard.app for this at present. A bit different in approach, but a more more manageable and less infinite canvas. That said, this looks really cool and may be worth the desktop-app install.
- smusamashah 4y agoThis is great. Just testing it out with a goal to switch from OneNote to canvas. It can borrow a few things from OneNote e.g. - cards resize automatically with text. - OneNote starts with a cursor, clicking anywhere on canvas and writing is a single click operation. - There are no hard borders around cards in OneNote. - OneNote is WYSIWYG which this canvas isn't currently. This is not a definitive list and I know its too early to ask for new features and stuff. Good things to consider IMO.
- CuriousSkeptic 4y agoJust as a data point. This feature of one-note (text boxes where you click) is the single reason I’m looking for something else. I absolutely hate any interface that has me fiddle with layout when I’m trying to focus on semantics. Not that this should impact Obsidian much, since I assume the canvas thing is optional there, just a data point. Related to infinite canvas _do_ checkout “The Humane Environment” [1] it has a few interesting takes As for a more semantic approach to layouting, I think Flying Logic[2] makes a decent job of it [1] https://www.goodreads.com/en/book/show/344726.The_Humane_Interface https://www.goodreads.com/en/book/show/344726.The_Humane_Int... [2] https://flyinglogic.com/ https://flyinglogic.com/
- smusamashah 4y agoI use OneNote extensively and as I understand each page is like a white board where you can write anything anywhere. If I wanted a linear interface I would be using Word instead.
- Ruq 4y agoI like the hard borders.
- gareth_untether 4y agoLong time user. It’s so fast and fantastic to have full control.
- andrewmutz 4y agoI can't use this for work unless I pay $50 per year, is that right? If I sign up for the Sync or Publish plans, do I still need to pay $50 per year to use it at work? Or is that included?
- arwineap 4y agoI don't think you would need either sync or publish at work. I haven't used canvas yet, as it's a new feature, but obsidian is a key app at work for me. Up to this point at least, it's been free :) Make a private repo, and git commit / push / pull your obsidian notes and canvases just like you would any other shared repo
- luismedel 4y agoA few days ago I wrote a small utility to setup cron-like timers to pull/push my Obsidian notes :-) https://pypi.org/project/grony/ https://pypi.org/project/grony/
- kobaltauge 4y agoLove when someone find a solution for his issue. For your convenience try the Git Plugin in Obsidian. Probably it will help you.
- luismedel 4y agoThank you! I know the plugin, but it seems to work only for Github hosted repos. I want my notes to be elsewhere.
- benhurmarcel 4y ago> but obsidian is a key app at work for me. Up to this point at least, it's been free That's against their license. You're essentially pirating it. https://obsidian.md/eula https://obsidian.md/eula
- 4y ago
- lost_tourist 4y agoYes, I much prefer local and do my own backups (rclone to backblaze) on just about everything. I only drop stuff on iCloud when I need to share it and a couple of ongoing spreadsheets I use to track stuff.
- insane_dreamer 4y agosmall thing but downloading and installing the obsidian snap package requires the `--dangerous --classic` arguments with snap (since it's not coming from a repository); may want to add that to the instructions
- ljw1004 4y agoWhat does it mean to open-source or MIT-license a "file format"? The MIT license is a license about copyrighted software, allowing people to use/modify/publish that software. But a file format isn't a piece of software. Are you open-sourcing the specification document for the file format? (people are still free to write software that reads+writes the file format even if the specification document isn't open-sourced). Are you open-sourcing your particular library for reading the file format? (I'm confused here, because you stressed that the file format was so simple, so I'd have expected it easy and maybe even desirable for many people to come up with libraries for reading+writing the file foramt?)
- kepano 4y agoI wish I could edit my post to simply say open format for now. The MIT license currently refers to the spec and the documentation. Over time it will also include any tooling we open source (e.g. validator, linter, migration tools). The intention here is to work towards a shared format for this type of relational+spatial data, and we're hoping to collaborate with other members of the ecosystem to make something that can have interoperability and longevity.
- deafpolygon 4y agoIt's just a marketing gimmick. Anyone is free to write software that modifies a file - there is no copyright law protecting that. This is one of the reasons why many large corporations are pushing hard towards cloud - they can protect the format AND the platform then monetize it at will. End users lose control. I will give them points for putting it in a readable file format. But placing it under an MIT license and "open sourcing" it, doesn't do anything - and they know that. It's just fluff to market their new features. Edit: Re-reading what I posted, In case it's taken the wrong way, I am not disparaging the team at Obsidian in any way: I think they do good work and make great software. IANAL > The file itself is considered instead to be an idea or a system and is therefore not protected by the laws of copyright. So the description of a file format is copyrightable, but the format as it exists in its medium is not. https://www.fileformat.info/mirror/egff/ch08_09.htm https://www.fileformat.info/mirror/egff/ch08_09.htm
- tlarkworthy 4y agoI was just researching graph representations. I would have used dictionaries for edges and nodes indexed by their IDs.. because that representation is json-merge patchable, which is useful for specifying atomic bulk graph operations.
- deleted 4y ago[deleted]
- readerbaza 4y agoWhy every electron app feels the need to reinvent the window border/title? Does this look OK? https://i.postimg.cc/4ymyHWxF/window-border.png https://i.postimg.cc/4ymyHWxF/window-border.png