I stumbled upon Obsidian on YouTube in February. It's a thing there. The fact that there's so much to talk about by YouTube content creators means that the software has done something right. It has certain depth, great flexibility and versatility, and people generally love it. But that doesn't necessarily mean it will fit my workflow.
I stopped taking notes long ago, at least in the form of daily journal entries, mostly because I found that for brain dump, or thinking aid, purposes, Dynalist suits me particularly well; moreover, I never review any of those journal entries anyway, so they are not showing any more value beyond brain dumping. Information retrieval is the main problem here. Dynalist is great for writing, or putting things in, but not good for reviewing in any organized way (except for recipes that I made myself, I do revisit those, but you know, they're just recipes...). Dynalist is utterly flexible, which is both its strong suit and weakness. When I'm in front of it, often I feel that I don't know where to start. Sometimes constraints help people, by preventing them from getting lost. For example, now I actually see how Trello helps with teamwork (though still not convinced that it's optimal for personal projects). The spatial/visual patterns orient people, help them get bearings among the vastness of information.
It takes time to write stuff in, but then I spend no time reading them out, or getting anything out of it - it's simply not worth it, I deemed sometime in July 2023, where I completely stopped my journals that I started back in 2013 (and got more serious starting 2018). I used Typora for that, and it's a pretty good writing experience. But again, information retrieval is beyond its scope of design (it does have search throughout the current directory, but that's still too limiting).
Another reasons that stopped me from taking notes is that I'm no longer taking systematic courses, and learning has become almost exclusively project-based, which I do not regret much, but I am starting to rediscover some merits in good old learning, let's wait and see. (And the two are not really mutually exclusive.)
Plus, keeping this blog alone is already some weight on my shoulder, given how non-fluent I am. But I know it's worth it, and I wrote about that before. But the point is, I think given the limited capacity I have for writing, it's just better to spend time and energy on the blog, instead of the private diary that I don't know how to make anything out of it (and I do read my own blog posts, mostly on subway). It's a sacrifice, not a painful one, but it still is.
There's already a lot of talk about how Obsidian (and some of its community plugins) can be story-changing for those like me who gave up writing because they thought ultimately it's not worth the effort (let's call it, "no gain, no pain").
Neither "live preview" (rendered Markdown preview but with inline source editing), nor Wiki links (internal links) was Obsidian's invention, but a well-implemented combo of the two, plus other good old features, such as global full-text search, tag-based organization, help shape Obsidian into something people love, or even depend upon. On top of that, it strongly promotes situational awareness on "backlinks", namely incoming links from other notes, as well as graph views of the entire network of notes, or from the standpoint of a local node. All these features help.
Then came Dataview, which as the author proudly claimed, brought a whole new dimension to note management, which is structured querying of notes metadata, either from implicit attributes (timestamps, incoming and outgoing links), or from explicit, manual annotation via either page-level metadata, or list item-level inline fields.
I think treating list items (including tasks) as first-class citizens in the query is pretty special. Without it, if we want any structure in our notes in order to be queried effectively, we have to basically create a new file for each table row, or instance of an entity class. For me, this is lame and ugly. If you have well structured and large entities, then file-level organization is justified. However, I think it's a niche use case, because for realistic large notes, they tend to be messy, otherwise, if they have a well-defined schema, it's better to implement a SQL-based application to manage that. At least use some more structured data formats like JSON, CSV, etc, and do analysis in Jupyter, for example.
Using metadata in Markdown (which has nothing to do with Markdown standards itself) to organize and query complex and large entities, I think is not a good design. However, what can be a good design is for prototyping with small entities that can have a well-defined schema, and in this case, each instance or table row can simply be a list item or task, with inline fields representing the attributes. And this is where Dataview has value. It's like a sandbox where you play with schema ideas, but there's no enforcement of anything so there's minimal friction to play around, namely, it's No-NoSQL, natural-language coding, codeless app prototyping, however you want to call it. And you don't have to litter your PKM vault with those stub files that basically only have a frontmatter section and no actual note content. Instead, you make a single playground file and start adding list items or tasks.
For similar reasons, I refrain from using project-management plugins like "Projects", "DataLoom", or "DB Folder" - I'm a minimalist, and I'm not convinced that there's a case for using individual Markdown files to store and retrieve/query my tasks - and besides the reservations discussed above, I also think Markdown notes in a PKM vault is meant to have more durable values and offer longer-term assistance than those fleeting tasks - e.g. I like how Fossil has integrated ticket system that links commits to issues, but should PKM take this responsibility? Same goes for time tracking/logging, I literally designed an app for that, it's structured, and the schema is pretty stable - again, abusing Markdown files for metadata annotation, I think, is meant for "tagging" unstructured natural language data to facilitate information retrieval, which is exactly the original design goal of Dataview author; At tht moment, I'm not saying a definitive No, but I'm yet to even come close to a real situation where I see a folder of Markdown files as an appealing solution to "object storage" for applications like project/task management.
Daily Notes for Content Splitting
This is so far the most interesting exploration in journaling workflow. I always wanted to have a single place, one file a day, to jot down all kinds of different things, sectioned by topic or area, and somehow, you can still retrieve all those pieces of content for a single topic of interest. Now with the help of Obsidian's backlink support, plus Dataview queries, this is simple to achieve.
However, there are two opposing ways to do this, which boils down to the following question: where does the raw input live? The more conventional approach would be to write the content of daily input into the corresponding topic file, and then prepare a daily index or overview in your everyday notes using queries.
My intuition is the opposite. I went with the option where raw content lives in the daily notes, and in turn, the topic pages have a view that extracts all the relevant daily content in a single place.
I thought about the pros and cons, and eventually determined that this is a design that I preferred.
In some way these two are symmetrical or equivalent, so one might say this doesn't matter, it's just a personal preference. But I think there is actually a significant asymmetry here regarding the two approaches.
If daily input goes to each appropriate topic pages, then some hot topics will grow indefinitely large, whereas the less popular ones will be mere stubs. With the alternative approach, where the content goes to the daily notes, because the total amount of content that each file can contain is capped by the hard limit of time (you can only write certain amount in 24 hours), no single file will grow disproportionally huge, it's "code-split" by force of nature, namely time.
Moreover, those topic files are meant to be so much more than a mere view of a collection or timeline of daily inputs. That should be just one section of the topic, where it serves as a reference or index of raw materials from which we hopefully get to extract more insightful distillations, and express the ideas in a more generalized picture.
And another practical benefit of this approach is, you don't have to switch between multiple topic files to do the writing. If you have many facets in your life, do you want to have a separate file for each of those? That's a decision to make. If yes, the number of switching can be overwhelming; if not, then do I use some "default" topic to lump all the unsorted writings of your life? Then you'd have to extract them into separate topics if one day you think one topic deserves its own file?
Now with the "all content in daily notes" approach, everything is always lumped in a single file, but each lump lasts only a day, so they're manageable. Each topic has a section in the daily note, and if there's an existing topic file, then you link to it; if not, then you don't, just plain text heading, or you could create a (dead) link (which is an encouraged thing to do in Wiki / PKM communities), if you believe this will someday become a topic page, but just not yet.
I like this approach, it's principled, and it has significant practical benefits.
Community Plugins
Now wearing a hat of a developer myself I think helps me make decisions that are more likely to help me stay focused on important and positive things, rather than to distract me from getting productive or feeling good.
There more more than 1500 plugins. That's a strong indicator that the creators of the platform did something amazing. Obsidian itself is not even open source, but look at all those people who write mostly open source plugins on the platform. For one, it's very webby, so to speak, so all the JS developers feel comfortable making what they want.
For me, I recognize the importance of staying focused on the main track, which for me is to write more quality notes that can be easily info-retrieved and hopefully help the future me. I love keeping records, but for so long, it feels like throwing a piece of mind into the abyss and never seeing it again.
OK let's not digress. I pick only highly orthogonal plugins that each are well-designed to enable something you can't do with Obsidian the core app plus the first-party plugins alone. Dataview is definitely the most empowering and innovative plugin, and from my basic experience, it's DSL called DQL is well designed, and the utility functions are really thoughtful, not too many of them, but it can do so much for typical needs.
Besides Dataview, I currently use two other plugins:
-
QuickAdd: it's super well-done. Has pre-made handy mechanisms like Capture to insert formatted data into a specific location in specific files; but it also has highly general-purpose mechanisms like Macro where you can call any JS user scripts to fetch and compute data and pass onto subsequent steps. I feel that I can piggy-back on this amazing plugin for most of my common needs instead of having to learn the full plugin API of Obsidian itself (I'm definitely open to learn plugin dev myself, but only when I actually have a project in mind that's just beyond the reach of a user script).
-
Omnivore plugin: it's fairly well-designed, and this is of course a different kind of plugin from Dataview or QuickAdd, which is to provide good third-party service integration. It downloads highlights and notes into your notes vault with a custom template. Backend performance can use some improvement, but I'm still a light user of read-it-later apps, I only pick articles that I know for sure I want to read and take notes on, but I think it has potential.
Again, lots of plugins that I'd like to consider, or already considering, but I purposefully refrain from just playing with plugins for its own sake, because that distracts me from the utter main point of using Obsidian: to take more quality notes, and find better retrieval mechanisms.
Also, might try to start some good old learning with the help of Obsidian note taking.
Overall, I'm truly grateful for the creators of Obsidian and its community plugins like Dataview and QuickAdd. And I'm glad to know that so many people recognize them for the great achievement.
Oh, BTW, I was surprised to see that Obsidian works not only on my old macOS 10.13, but even on my ancient Windows fucking 7 (ancient by today's tech standards). Yes, the Electron-based installer stopped supporting Windows 7 after 1.1.16, and macOS 10.13 after 1.5.3, but the super cool thing is, the app can update just the actual webapp bundle, without upgrading the binary Electron host. This is thoughtful as hell. Because by nature, webapps are actually great at backward compatibility - Chrome, Firefox, all other Chrome-derived browsers like Edge, Vivaldi, have stopped shipping updates to my two geezer systems, but I never once noticed a webapp that does not work on those outdated browsers, not even Figma, or Skype. That's one of the advantages of web techs. If Obsidian were written in a native tech, then I'd be out of luck (think all those shiny new apps like Zed, Warp, Fleet, heck, even new languages/runtimes like Zig, Deno, if any one library they depend upon drops support for an OS, they themselves lose compatibility automatically).