Ideas for representing notes as a chronology

Thanks for the tips. I watched a ~1-hr. Youtube video last night on levels of MOCs and things are starting to get clearer.

I also grapple with this issue - my notes are mostly event based, tracking news events that can develop over a few days, weeks, or longer.

Rather than editing and reediting a single encyclopedic entry, I prefer to create an initial MOC note (e.g. “COVID19”) and then sub-notes with a timestamp and short description (“2020-12-02 COVID19 vaccines report 95% effectiveness”) with more detail and source links in the note body. Occasionally I’ll take a recent group of these micro notes and write a longer summary with some analysis (e.g. monthly or quarterly).

That new note can also link to the MOC, which makes it show up in the MOC’s list of back links. For especially important notes, or occasional summary notes on a topic, I can add them manually into the MOC, or copy and paste search results for any note that contains a link to the MOC back into the MOC (and prune that as needed).

4 Likes

@icebear, thanks for sharing your method. This is very helpful. I have two use cases where a chronology is important.

The first use case is a timeline to track something like an event, progression of a child’s illness, etc. Your method works well.

The second case has to do with a tool I’ve used for over a decade called OmniOutliner. As the name implies, it’s an outliner, and has a lot of additional features. I have a top-level entry for every personal task / project / event. Each of these entries has their own log, so each task / project / event has it’s own chronology, as well as other subsections for to-do’s and things like that. I can certainly see how I could use MOCs to represent this hierarchy, and even have a separate folder in the vault for each task / project / event. Or specify the hierarchy on the tag, such as

  • #NewCar-Log
  • #NewCar-Tasks

although I see this use of tags to be sustainable only if these task / project / event notes are their own vault, lest I run into name collisions when I want to re-use a name. Right now I’m not sure of the pitfalls of one method over another.

OmniOutliner has some other valuable features that work with the chronology and I’m not sure how I could implement them in Obsidian.

The first is numerical or time roll-ups. Sometimes I like to keep track of time on a project; for example, so I don’t spend too much time on a hobby. In OmniOutliner I could define a numerical or time field, and those values roll up the hierarchy. So for example, if I have three log entries for the photography topic, 1-hour each, at the top of the log it reports three hours. and those three hours roll up to the top of the activity. I could certainly specify this as a key, but I’ll have to work up an external way to count those values.

The second feature I use heavily, and I’m really hoping I can do this in Obsidian somehow, is a weekly or biweekly review. Since all the entries are time-stamped in OmniOutliner, I can use a filter rule such as “show me all the entries for the past week” and I will get a custom view of the hierarchy with only those entries. Each entry connects up through the hierarchy to the top, so I can see the context of each entry as a complete hierarchy, and I can review my activity for that selected period of time. I’m hoping I can do something similar in Obsidian, to be able to see all the entries for a period of time for personal review. I suppose I could have a “top-level” MOC that links to all entries and thus provides a master chronology, but it seems like the bookkeeping would be heavy. Any ideas here would be appreciated. Thanks again.

Edit: I should make it clear what I mean by the bookkeeping being heavy. If I have a “top-level” MOC linking to all entries across all tasks / events / projects so that I have a master chronology for which I can walk backwards, this means I’m updating at least two MOCs to make an entry: This master chronology MOC, and a MOC for the task / event / project. Maybe this isn’t as much overhead work as I think it is. Am I approaching this incorrectly?

1 Like

This is why I prefer to link the MOC(s) in the actual notes, rather than commit to updating every MOC itself. Only one file to edit - the note I’m working on. When I open the MOC I look at backlinks, instead of a list of links.

One other thing I’m experimenting with is including date links like [[2020-12-03]]. This means I can go to a daily note and see in its backlinks any notes either composed on that day or referring to an event that occurred on that date (I haven’t yet settled on a convention).

2 Likes

This is why I prefer to link the MOC(s) in the actual notes, rather than commit to updating every MOC itself. Only one file to edit - the note I’m working on. When I open the MOC I look at backlinks, instead of a list of links.

This is an interesting idea. Of course the backlink list could be very long, and not being fully conversant yet in the GUI, I’m not sure how that affects usability. On the surface it seems like it would work fine. Off the top of my head, the only possible problem I can see is if you want to answer the question, “Which notes are associated with this MOC,” The answer is in the backlink list, not in a note. Having a list in a note is handy if you decide you want to do something with the list outside of Obsidian. By having the links in the MOC, gathering the notes external to Obsidian is easy; it’s the list of links in the MOC note. I don’t know how easy it would be to get that same list out of the backlinks list in the GUI. One could search for the actual link definition, and the search list would be that same list of notes, but it seems to be the same problem, just in a different GUI list.

One other thing I’m experimenting with is including date links like [[2020-12-03]]. This means I can go to a daily note and see in its backlinks any notes either composed on that day or referring to an event that occurred on that date (I haven’t yet settled on a convention).

This is yet another interesting idea. I was thinking that if I always want to have the option to see any set of my notes as a chronology, I would have to format the note title as:

YYYYMMDDhhmm.Title

so that searches would always return notes in chronological order. (Although right now I don’t know if there’s a way to get Obsidian to insert the timestamp in the title.) I really need the timestamp down to the minute if I want to absolutely guarantee that notes are in chronological order. Sometimes I’ll have some important phone calls throughout the day, and their order represents a chronology of back-and-forth communication.

With my thus-far limited knowledge of Obsidian, I’m not sure if reversing the link direction saves anything. You either define a link to the note in the MOC, or a link to the MOC in the note. The one situation where there is a savings is if your note structure requires that some notes are in more than one MOC. Then there’s a savings because you can just define the multiple links-to-MOCs in the note quickly, versus having to visit each MOC separately and enter the link for the note. The efficacy of this method will come down to how easy it is to work with the association as presented in the backlinks list.

But if you’re only associating a note to a single MOC, I don’t see a savings: you define the new note link in the MOC, get out of edit mode, then click the link to create the note.

This is a helpful conversation and you’ve given me some things to think about, so thanks for that!

If order of creation corresponds to intended chronological order then both search results and backlinks can be ordered chronologically by “↑↓” icon.
image

Timestamp can be conveniently inserted by AutoHotkey(for Windows) or Keyboard Maestro.
related:

  • Obsidian-only functionality: Obsidian→Settings→"Core plugins"→"Zettelkasten prefixer".
  • AutoHotkey code:
:?*:\time:: 
  SendInput, %A_YYYY%%A_MM%%A_DD%%A_Hour%%A_Min%%A_Sec%
return
; semicolon initiates comment
; "?" = triggers anywhere 
; "*" = triggers immediately 
; "\time" = input string
; output is in format "YYYYMMDDhhmmss
; "%A_YYYY%" = YYYY
; ...
; "%A_Sec%" = ss

@icebear, I’ve done some investigating since we had this dialogue. This method you suggested does have merit, but there’s a limit in Obsidian that prevents me from wanting to use this method for chronology: the Backlinks list doesn’t have a copy function like the search list. Being able to copy out the notes is important.

If I ever want to work with a set of notes outside of obsidian, it’s generally easy to do: structure a search to find the set of notes I want, then copy the results. Now I have a list of the file names for those notes. Unfortunately Backlinks doesn’t have a copy function. If I were using your notation ([[2020-12-03]]), then in order to see a list of notes taken on that day, I would select this dated note and the list is in the Backlinks. If I wanted to do a “rollup” (collect notes taken for the week or month and put them in as links on a weekly or monthly MOC) I don’t have an easy way of getting that list out of the Backlinks list. I’m hopeful that the copy function will be added to the Backlinks list, because I think this method is ideal, if I could just perform these rollups to consolidate notes, by copying the notes out of the Backlinks list.

@malecjan, thanks for the advice. I did find the Zettelkasten timestamp since I wrote that. Also, thanks for the info on the sort order; I didn’t think to look there. However, that would rely on filesystem metadata (file creation / modification dates), and I don’t like relying on file metadata because I consider it brittle.

I add time indicators in multiple ways.
Timestamps in titles (but always as postfix not as prefix e.g. “My great concept 20201220091453”), this mostly to ensure uniqueness.
By linking to day log pages (“Daylog 20-12-2020”)
and thirdly by adding year, month and date as #tags in the shape of #2020- #2020-12 #2020-1220

This last variety I use to get some of the chronology you ask about. It allows me to see which notes were created the same day or month, and whether an idea I wrote about was from a few years back, or is more recent etc. I’ve started doing with the idea that it would allow me to also visualise notes chronologically. I’ve done this since I started using Obsidian last July, but haven’t yet used those day tags for visualisation yet. I have used it to find notes that are “near in time” to the one I’m contemplating/reading.

Thanks for that input @ton. I’m not sure if you have the timestamp on all note names or only some selectively. If it’s on all notes, I don’t think you’ll need the date tags because the timestamp is already in the note name and can be found via search plugin:

All notes same day:
file:20201220

If it’s possible you could have other dates in the title causing false-matches, we could be more concise:

file:/20201220.{9}$/

which forces the date to be in the right place. The “.{9}” indicates there are 9 other characters to the end of the file name (which includes the hidden file name extension). All notes on the same month is similar:

file:/202012.{11}$/

And of course the entire year:

file:/2020.{13}$/

If this is something you use heavily, then you could star the search for easy retrieval as a template. Another ease-of-use method I’ve employed as the number of important complex searches has grown is to have a Search note which is a dictionary of searches and their meaning so I can easily cut&paste complex searches. This ensures consistent search results with no typo causing a bad match, possibly without realizing it.

1 Like

I have timestamps mostly on my conceptual notes, mostly not on factoid notes or resources. I have the time tags in most conceptual and factoid notes. It depends how I think time w.r.t. a note might be relevant for future-me during search. Using those terms better in search is something I still need to ensure becomes a stronger habit, so thanks for the examples.

@ton Simplification for redundant tags ‟in the shape of #2020- #2020-12 #2020-1220” → #2020/12/20:

Nested Tags: you can now nest tags with unlimited hierarchies using the syntax #parent/child/subchild.

  • Searching for tag:#parent will now match #parent/child.
  • Tag pane now has an option to display nested tags in hierarchy or flat mode.

source: Obsidian Release v0.10.3

3 Likes

Nice, you’re making a pretty strong case for OmniOutliner here :sweat_smile:

Thank you for that @malecjan . Since I read your comment I’ve adapted all my date related tags to nested tags #yyyy/mm/dd . That cleans up the list of tags nicely!

The initial post of this thread hits home. I am a fan of time-based systems. Time is one context that is poorly served across applications. Command-line or scripted tools can be written to portray a chronological view of work/changes made but something like this should be basic functionality.

Perhaps I missed something in this thread but all file systems facilitate creation date and modification date. I understand that a file may be modified substantially or superficially. A timestamp in the file is an intentional action which is meaningful from the perspective of the author.

But I, for one, would also love to see an Obsidian feature or plugin that displays a chronological view of all notes, with the ability to toggle between creation and modification date and to look across the vault or a portion of the vault. There are times when I’m talking to someone and I’m recalling something vaguely but I know the time frame when I wrote it. Lest you suggest “Get better at tagging”: You can’t predict all the possible ways something might be useful; one tags based one one’s needs, context, and familiarity.

I am reminded of David Gelertner’s Mirror Worlds. I keep thinking about this concept every once in a while and wish someone would build this at the level of the OS but I’d be happy to have at the level of Obsidian, for now. Here’s a page that displays a visualization of what it might look like: Mirror Worlds :: Network-1 Technologies, Inc. (NTIP)

Note the ability to pull a file out of the stack with the possibility of putting it back into the stack and continuing to browse.

@miguelmarcos Using file creation date would not be reliable. When you move files from one computer to another the creation date is typically reset to the date the file was created on the new computer. (there are some ways to preserve this but not using the methods most people use)

And that’s not all. Just look at this StackOverflow answer on all the different ways creation date can be reset when copying within the same computer. (on Windows)

You can encode the date as a prefix to the file name e.g. YYMMDD Note name here but that brings its own issues. It’s still probably the best way to go for chronological ordering of notes.

I use this approach for my meeting notes for exactly the reason you describe.

Hi, @davecan. I just took a glance at that Stack article. File date stamps behave as I expect them to.

  • If I move a file, the create date remains as is
  • If I copy a file the create date of the new file is the creation date of the new copy
  • If I modify a file the modify date changes but not the create date

My point is that when you migrate files from one computer to another the create date can be reset, so your chronology is disrupted.

@miguelmarcos

This functionality is already completely implemented in core Obsidian.
In global search, type two double quotes "" to search for empty string. This matches every file in a vault.
“Portion of the vault” is vague specification but maybe “path:search operator is what you are looking for.
Sorting by creation/modification date can be done by ↑↓ icon above search input box.
There are also icons to modify amount of displayed content or to copy sorted list of filenames into clipboard.
In order to use it as additional plugin which does require to close another opened list of search results, consider supporting request Allow Multiple search panes at the same time

Awesome. I wouldn’t call that elegant but it works. Thanks.