Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to actually use this plugin? #2

Open
Ahmadpoormokhber opened this issue Sep 25, 2024 · 9 comments
Open

How to actually use this plugin? #2

Ahmadpoormokhber opened this issue Sep 25, 2024 · 9 comments
Labels
documentation Improvements or additions to documentation

Comments

@Ahmadpoormokhber
Copy link

I have installed the plugin, read the manual did all the instructions but there is not any button anywhere to scan my notes or set them for reviews. In other words I don`t see any way to use the plugin after enabling it in the obsidian setting.
The options of this plugin look great on the paper but how am i going to be able to use it at all? @zachmueller

@zachmueller
Copy link
Owner

Ah, I need to make it more clear in the documentation. It relies entirely on use of commands. Very briefly here:

  • One thing to note is that since this is all about applying spaced repetition to your notes, you won't be able to immediately see notes pop up in the "review queue" right after you onboard them. This is because there's a default interval of 1 day before the onboarded note will turn up. Upon onboarding, the se-last-reviewed value is set to the current timestamp, so it'd be the same time the next day before that note will show up in the "review queue"
  • The mental model for how to think about when notes will come up for review is to take the se-last-reviewed timestamp and add se-interval (unit of days) to derive the "due date". If no notes' due date values are in the past, then that means no notes are up for review (aka the "review queue" is empty).
    • I do wonder whether the terminology of "due date" here is confusing since it's actually the time at which the note becomes "reviewable" in some sense through the intended workflow. I'm also open to modifying the behavior to allow every note in the review queue to still get called up when running "Open next review item", so let me know if that makes more sense to you than my current setup of it restricting to "past due" notes.
  • The "Log review outcome" command is technically a bit overloaded in terms of what it does. When running the command, if the note is not yet onboarded to the spaced repetition queue (i.e., the appropriate frontmatter properties are not yet there), then it will first simply onboard the note by adding the necessary frontmatter properties.
  • When running the "Log review outcome" command on an already-onboarded note, it will pull up the review options (defaults to Fruitful/Ignore/Unfruitful, from Andy Matuschak's proposed options in his notes). You may select any of those options, then it will accordingly update the frontmatter values to push out the next review for that note into the future. This is where the spacing algorithm gets applied.
  • Once you have one or more notes where their "due date" is in the past, running the "Open next review item" command will pull up the next item in the "review queue" within the active note pane. If no notes have a due date in the past, then that means there is nothing to review at the current moment.
  • To get a feel for the workflow, one thing I do while testing is manually edit the se-last-reviewed frontmatter property to some date in the past. By doing this on a few different notes, you can get a feel for how it goes to have multiple notes in the queue and take action on each in the queue as they come up. Note: manually editing the frontmatter properties is not at all necessary during normal use of the plugin, but it's totally fine to do so if you want to manually manipulate where a given note may show up in the review queue. An example of what a typical session of following my spaced writing practice looks like:
    1. Run "Open next review item" to pull up the next note in my queue
    2. Read the note, make any edits as desired, etc
    3. Run "Log review outcome" and select the appropriate option
    4. Run "Open next review item" again, which pulls up another note (since the se-last-reviewed & se-interval values were updated in (iii), that prior note now is somewhere further down in the review queue)
    5. Repeat (ii) through (iv) until I feel like stopping the session

Also, since the flow is very command heavy, I highly recommend setting hotkeys for at least the "Log review outcome" and "Open next review item" commands. My personal setup of hotkeys for the commands are:

  • Log review outcome = Ctrl + R
  • Open next review item = Ctrl + Shift + R
  • Capture thought = Alt + I
  • Toggle note contexts = Alt + T

I'll update my README file once I've got a clear enough explainer from any back and forth here. I very much appreciate the ping to ask for clearer documentation!

I'll also note that if there's a particular spacing algorithm of interest, please let me know. I think it'll be more likely that I'll be able to implement specific new options for new spacing algorithms than for me to figure out enabling custom scripts.

@Ahmadpoormokhber
Copy link
Author

Thank you for your response. After reading your comment I came up with some more questions :)
1.Regarding the idea of manually changing se-last-reviewed to sometime in the past to see how it works. I did it for a few notes but they didn’t appear in a queue. I think I`ve been missing something.
2. Is there actually a way to import all the notes for the plugin to be reviewed at a defult period? I have more than 1000 notes and cannot add every one of them manually.
3. I guess that would be great if there was a simple button/icon in the ribbon menue that would open a deck of your cards divided into that 3 groups. It would make it easier to use and visually more understandable.

@zachmueller
Copy link
Owner

Thanks for the follow ups!

  1. Currently it does not present an actual queue that you can review, though it's something I would like to add in some form as an alternate way to inspect the review queue. Taking from Andy Matuschak's ideas, the primary rationale for the structure is to minimize the mental effort required to pull up what's next, thus a simple command to pull up the next item without having to "select" something from a list is the primary intent. But in the past I have created Dataview queries for myself on top of the same frontmatter properties to be able to see a handful of items that are next in line. I had been thinking of making such a Dataview query generatable by the plugin that folks could use if they want to interface with the queue in that manner. That effectively leads to a dependency on another plugin, though. Would a Dataview query be sufficient as a starting point for what you're looking for here?
  2. Oooo, that's a good call. That should be easy enough to implement, might be able to tackle that after work today.
  3. Got it. I should be able to add that sometime soon too. I personally don't use the ribbon icons and rely much more on hotkeys for workflows, but totally understand others prefer using ribbon buttons. A follow up question here though: what do you mean by "3 groups" in this context? and how are thinking "open a deck of your cards" might look? Maybe a better understanding of the kind of use case you have in mind could help me in ensuring I have the right structure in mind.

@Ahmadpoormokhber
Copy link
Author

<But in the past I have created Dataview queries for myself on top of the same frontmatter properties to be able to see a handful of items that are next in line. I had been thinking of making such a Dataview query generateable by the plugin that folks could use if they want to interface with the queue in that manner. That effectively leads to a dependency on another plugin, though>

Yes, it looks like a good idea for a new plugin.

2.Thank you!
3. By the 3 groups, I mean: fruitful, unfruitful, and ignore. And by deck, I mean something like this—that is, a different window displaying your Anki windows or your sets of cards (Notes). I understand, however that this feature may contradict your philosophy of the whole plugin and the method.
Decke

@zachmueller
Copy link
Owner

I pushed a new release. I'm not sure how the timing usually goes for propagating through to be downloadable for users, I've pushed a couple different updates today and still haven't seen them show up when I check for community plugins updates within my normal vault. Maybe I'm not doing all the right steps to get that to show up on the Obsidian side, but if it's just a timing thing then at least a basic implementation of onboarding all notes in the 1.2.0 release.

Regarding (3), I'm not following. The different options (e.g., Fruitful/Ignore/Unfruitful) are solely intended to influence how far to punt out the note for its next review (i.e., due date). So they are not intended to persist beyond the calculation to update the se-interval value. I'm curious what you're expecting with showing them as separate cards? Understanding that better will help me figure out both how to clean up my documentation to clarify as well as understand whether there's another kind of functionality I should be exploring 😊

@zachmueller
Copy link
Owner

Ok, looks like 1.2.0 did push out properly now. That's got a simple implementation for onboarding all notes if you want to try that out. As with any action that touches all/nearly all notes in your vault, I recommend backing up your full vault before running that action in case it messes with notes you didn't want it to. I added the ability to exclude particular directories from the onboarding (useful for things like templates that can't have frontmatter).

Let me know whether that helps with trying things out. I'll work through how to clear up my documentation to explain usage better.

@zachmueller zachmueller added the documentation Improvements or additions to documentation label Sep 26, 2024
@Ahmadpoormokhber
Copy link
Author

This is much better now! Thank you for your contribution,

@zachmueller
Copy link
Owner

Cool, good to hear! I'll leave this issue open until I get around to expanding on my documentation better for how to use the plugin. Let me know if other questions arise as you try to use it.

@Ahmadpoormokhber
Copy link
Author

Great! Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants