Large Knowledge Bases - Ideas About Ranking

Rating Tiddlers, Viewing Tiddler “Maps” - even creating a read suggestion list of random selected tiddlers…I have tried quite a few methods of somehow either getting a better overall view of the beast I have created or just staying in touch with the most important parts, I end up with what I can “ranking inflation” because always the tiddler I had forgotten about and re-stumbled over seems to be the most important ( at that moment of course and whilst other equally important tiddlers have settled to the bottom of the pond again and don’t currently rate so high but probably would if I re-read them )…

It’s a never ending quest on a large knowledge base that is also a learning tool, a memory tool and a method of hopefully finding the deeper links or establishing patterns that allow more of it to reside in my head, I think sometimes my Tiddlywiki knows my subject better than I do.

I play around with various ranking systems, I also use the favourites plugin and a star rating plugin and various options to show tiddlers in order of last modified date or created date - it’s an endless search finding some way to make sense of it all - no complaints though - it’s an interesting journey

One idea that popped into my head is giving each tiddler a number that represents the maximum number of days that should pass before I take a quick refresher look at it, I might rank one tiddler as 100 days and one that really should be visited more often perhaps 50 days - these values would be constantly reviewed so perhaps after the most recent review I change the 50 day tiddler to a 60 day tiddler. Is that the magic tool I am searching for - something that never allows a tiddler to get more stale than I think it should? I guess when I review a tiddler - if it still seems to be mostly current in my mind, part of my awareness then the number of days I chose to trigger the review seems about right - if in contrast the tiddler contents seem a bit stale in my brain then maybe I need to adjust the number of days until next review.

I know tiddlers have a last modified date field and a created date field, I am finding myself thinking about a last viewed date field, just wondered if this triggered any thoughts in other users in similar circumstances?

I am thinking of a automatically maintained list - a bit like a list of overdue library books - a list of tiddlers that my previous judgements suggest I should read - perhaps ordered by how overdue each tiddler is in the queue of tiddlers I must re-read or review.

I guess an immediate question is what events might tell a plugin that the tiddler has been reviewed - it’s probaby unsafe to assume that appearing on the storyriver is sufficient indication so perhaps a good old fashioned button in the tiddler would be the only reliable way to trigger a “this was read-reviewed today” event.

2 Likes

I’ve done something like that before, I sorted them by when they were last edited and tried to improve the oldest tiddler in some way each day. I quite liked the system and encourage others to try it.

1 Like

@jonnie45 - one idea that comes to mind would be a spaced repetition system, since it directly deals with remembering stuff. That is, even if you don’t need to actually remember your notes, the point in time to be reminded of them again is, presumably, just after you’ve forgotten about them :slight_smile:

2 Likes

I also thought immediately about a spaced repetition system. @jonnie45, you might be interested in TiddlyMemo, or the Fishing plugin that powers it.

1 Like

I have a touch-date configured that does not change the modified timestamp on tiddlers. With created/modified and touched date available and compared with now there is very little I can’t learn from these dates. Having a touch button is actually important because you could look at something and give it no regard at all, needing to touch the tiddler is a conciouse step.

Not withstanding this it would be possible to capture navigation events and add a view stamp on each tiddler or in a data tiddler when viewed however you still don’t know if you really read it. A simple design would be a reference list from which if you open a link, it sets a viewed time stamp (use a button that looks like a link to trigger actions).

1 Like

Hi etardiff - many thanks…I took a tour of the Fishing plugin, I could see no direct control for each individual tiddler in terms of how long the interval should be between reviews, I took this to indicate that it is algorithmic based on previous user performance and not a direct user based control on a tiddler by tiddler basis. Just wondered if that was your understanding?

Thanks TW_Tones- I like the idea of the touch-date button. I am thinking in terms of a touch-date field and a review-interval field on each tiddler that participates (some low ranking tiddlers might not be included at all). I would then simply add to my existing side bar options which are all controlled by a limit filter (N) set by a slider - I already have side bar customisation buttons to populate the story river along the lines of …

“list N most recently created tiddlers”
“list N most recently modified tiddlers”
“list N random tiddlers”

To this I would add

“list N most overdue for review tiddlers”

So it might end up being quite a simple and compact thing

  • Touch-date button for each participating tiddler
  • new tiddler field for touch-date
  • new field for review-interval example 30 (integer taken to be number of days)
  • Another button on my sidebar to populate story river by tiddlers filtered on number of days overdue - difference of two fields

Another method I used was like say weekly-touch and list those with days -7 and just stamp with now.

Maybe you should be inspired by the TakeAway system developped in the Grok Tiddlywiki. Soren Bjornstad developped this system of recurring exercises to develop one’s knowledge of the Grok’s content.
Soren Bjornstad is also the author of TZK: One of the Best Zettelkasten Editions of TiddlyWiki a way to handle large amount of data collection…worth the reading.

Reading your post made me think it would be nice to have a touch-button on every tiddler - then touching a tiddler that has not been touched before creates the two new tiddler fields with sensible defaults which can be fine tuned at leisure ( say an initial review-interval of 30 days ) - tiddlers that have the two fields are considered part of the “pool” and ones that don’t are not.

Remove Tiddler From Scheme?: I would probably opt initially for the rather unsightly manual option of edit tiddler and deletion of the two fields to remove a tiddler from the review scheme - yes untidy and not polished but I would want to avoid removing a tiddler from the pool accidentally whilst scrolling up and down the story river. ( by means of example I do occasionally accidentally remove tiddlers from my favourites list - one click solutions are convenient but also convenient for mistakes - perennial usability problem ) - otherwise I end up writing “Are you sure?” conditionals - so my crude method would be unsightly YES inconvenient NO.

I guess one reason I am not so attracted to the more sophisticated and engineered solutions available is that my tiddlers vary from single paragraphs to articles, essays and whole chapters from text books - so not really a binary Q and A situation or exam preparation situation. I like simple solutions where possible and so the idea of being able to populate the story river with the ‘N’ tiddlers currently most requiring a re-read appeals to me most.

Reading your OP reminded me about a proof of concept, that I did create about 6 years ago.

A user wanted to keep track of external links s/he wanted to visit. Everytime a link was clicked the date and time should have been recorded.

While not 100% the same imo the mechanisms that can be used are very similar.

If I do understand your request right

  1. You want a reminder, to re-visit existing tiddlers in your wiki.
  2. A new “next review” date should be picked automatically, when the tiddler is viewed
    a) Different defaults should be possible eg: +30 days or +100 days from now

------- Switching to brainstorming mode -------

With my POC I did add a “comment”, because I think it’s important, to add new thoughts when “revisiting” a topic. Those notes should be “tracked” too. … At least for me, that’s important, to improve the quality of the wiki if possible.

I personally do not want to “touch” the “content” tiddler, just if I did read the content again. I think for me the tracking-timeline should be separated. Only, if I do change the content tiddler it should get a new modified date.

IMO reminders 1) can be activated using startup-actions

Add 2) Review Workflow

My idea is a bit different to what you describe in the OP.

  • Creating a review-overview, which is visible at wiki startup
  • re-viewing tiddlers in new window, while
  • allowing the main window to be used to track new info
  • So 2 windows will be visible at the same time.

could be done by extending the POC, mentioned above, a little bit. … Just some thoughts.

Add 2 a) creating a new re-view timestamp. IMO the default “review priority” should be part of the overview, so it can be changed quickly. May be a dropdown with current defaults. May be a date-picker.


The concept developed with the POC also influenced my Script Manager Edition, which is still my main private link and idea collection tool.

The process how the script manager was created is fully documented with video HowTo’s. See Google Groups: INTRO: A script and todo manager workflow / UI experiment + video howto’s

I’ll probably extend my script manager with the new ideas triggered by this thread. … But … No promises

1 Like

After lots of help from more experienced folks (extra special thanks to EricShulman and TW_Tones) I am getting somewhere. Here is a shot of my story river - the tiddler toolbar bell icon is part of the review tool, the tiddlers are self documented in the image shown.

For this case I populated the story river in a way that was designed to show those 3 specific tiddlers.

So I get a view of the ‘review’ situation for each tiddler displayed whatever method I use to populate the story river.

However, if I am particularly interested in catching up on reviewing tiddlers that are overdue ( signified by a red bell ) then there is a new button in my sidebar tab which will show only overdue tiddlers on the story river with the most overdue ones shown first. Like almost all of my custom methods of populating the pool the overdue button filter incorporates a limit on the number of tiddlers displayed which is controlled by a single universal ‘limit’ slider - I have to protect against too many tiddlers.

Areas not fully covered yet…(both with fairly easy manual workarounds).

Remove a tiddler from the review pool - current method simply delete two tiddler fields manually.

Change the review frequency for a particular tiddler from the default of 30 days - current method manually edit tiddler field. The value chosen is likely to depend on a variety of factors including how easily the tiddler content is remembered-understood, the perceived value of the tiddler content and so on, it will be a judgement call and might be changed several times, perhaps if the tool works very well I will find that I am continually increasing the interval on account of increased retention-awareness on my part.

Remove all tiddlers from the review pool - current method not practical it would be a manual deletion of the extra two fields in all tiddlers, if someone starts using this tool they should have a way of removing all changes if they lose interest.

I would add for context that many of my tiddlers are pages or chapters from books which influenced the design decisions - I particularly wanted review information to appear in the story river rather than within a plugin.

Apart from these two items it’s exactly what I wanted - at least in theory - now to see how well it actually works in practice - I have over 2000 tiddlers some quite lengthy so evaluating it will take time, I think it already guarantees that no highly valued tiddler will settle into the mud on the bottom of the pool - at least once I have had the chance to consider all tiddlers for inclusion which will be an ongoing task.

If anyone is interested I will post the code segments - I may even see if it I can put it together as a plugin not sure if anyone else would find it useful?

Thanks again for all the help :smiley:

4 Likes

@jonnie45 I have been following your today’s post. This looks like an interesting way to review previously created tiddlers. Once you are finished with the code, please do share it here.

No, you can. Just modify the “due” field. You can add a ViewTemplate with pikaday plugin to edit it.

You can even use Calendar and Agenda plugin tw-calendar with Mobile frendly agenda page layout plugin to edit the due field with proper configuration (see the doc for example with due field)

Hi, I am having a go at packaging it as a plugin initially although totally inexperienced with github so the first share might be a little less organised than that - I don’t think it will be used by many people.

Sidebar Tab

  1. Side Bar Tab Red bell button - List 20 overdue ordered by least recently reviewed - this could be improved by ordering so that it shows the most overdue tiddlers first but for now I am taking the simpler coding option. If all tiddlers have the same interval for review then there is no difference - the number of days overdue is dependent on the interval for review as well as the date last reviewed.

  2. Side Bar TabGreen bell button - List 20 that are not overdue, ordered by most recently reviewed first.

  3. Side Bar Tab Red Bin/Trash Button - feature to remove the two fields that get added to tiddlers that are included in the review pool - this would be a housekeeping act before plugin removal. It features a double nested “Are you sure you want to delete” / “Are you really sure” feature to guard against accidents - I would hate to lose months of review data accidentally.

  4. Changing the review frequency interval for a particular tiddler is still done by manual edit of the tiddler - this is only necessary if the default of 30 days is not suitable. I have reasons for not wanting a more sophisticated method if it can be accidentally triggered ( on a smaller touch screen for instance ). For now the manual method suits me.

Story River

The review information is available at all times in the storyriver since each tiddler has either a grey bell, a green bell or a red bell.

  • Tiddler Tool Bar Grey bell - tiddler is not part of the review pool and does not have the two extra fields.

  • Tiddler Tool Bar Green bell - tiddler is part of the review pool (does have the two extra fields) but it is not overdue. If you click on the green bell then you indicate you reviewed it today even though it was not overdue.

  • Tiddler Tool Bar Red bell - tiddler is part of the review pool (does have the two extra fields) and is overdue calculated on the basis of it’s own private review frequency interval - different tiddlers can have different review frequencies (measured in days) - the default is 30. If you click on the red bell you indicate you reviewed it today, it will then turn green.

I am very close to being ready to share so please indicate a method I can do so - I havent shared a plugin before - probably not yet at the stage of wanting to put it on Github etc.


It will not work on Tiddlywiki v5.2.0 - but does work on the current version of Tiddlywiki - it relies on something changed ( I think ) at v5.2.3

You can start by exporting as a JSON and adding here. People can try it, then perhaps set up a tiddlyhost site and post in the plugins topic. later you may add it to a library.

Here is my first version of the plugin now named ‘ReviewTiddlers’
It works in TW 5.2.7 it does not work in TW 5.2.0 so please only use in TW5.2.7 or greater.

This is my first real project so please try it out in a fresh empty Tiddlywiki - please do not yet use it in a wiki in which you have invested time and effort - in this context I am a “learner driver” you wouldn’t let me loose in your brand new Tesla would you?

Experienced folks should probably inspect the two files containing code first.

The plugin includes a feature to remove the two fields that it creates in a tiddler when that tiddler is added to the ‘review-pool’ as a safety feature for now I have set a limit on 10 tiddlers. That means if you have 30 tiddlers and you have introduced them all into the ‘review-pool’ you will have to perform the delete action three times to remove all tiddler fields created by this plugin. This feature does not remove tiddlers, only the fields created by this plugin. This safety limitation will be removed at a later time.

Background: This was designed with large knowledge bases in mind, in my case some of my tiddlers are of a significant length even entire book chapters and so I usually use a reveal widget to optionally hide the bulk of the content, in addition I have over 2000 tiddlers. I mention this because some folks with tiddlers that contain only a few lines of text each may wonder if it’s not easier if a tiddler is already on the story line just to read the content than look at icons on the tiddler toolbar that tell you whether you need to review the content. Like many tools it’s orientated very much to a specific type of wiki use.

Hope it’s of interest please report bugs or problems.

Jon

$__plugins_jonnie45_ReviewTiddlers.json (16.7 KB)

4 Likes

I forgot to say… to test out the situation where a tiddler is overdue a review you could wait 30 days or you could do the following…

  • Create a new tiddler and save it.
  • Click on the grey bell icon in the tiddler tool bar to include it in the ‘review-pool’ the bell icon should now be green - the ‘last reviewed3’ field in the tiddler will now be set to today.
  • Edit the tiddler

Inspect the UTC encoded date field named ‘last-reviewed3’

Screenshot from 2023-06-02 15-06-31

This tiddler joined the ‘review-pool’ on the 2nd June 2023 so the UTC coded date YYYYMMDD… starts

20230602…

To in this case you might change this to say the 1st May 2023

20230501…

And when you save the tiddler should now display a red bell icon since it now registers a last-reviewed date over 30 days prior to todays date which in this example is 2nd June 2023

Of course in regular use the ‘last reviewed3’ date would not be hand edited like this, it is automatically set by the plugin, this is for the purposes of experimentation only.

The review-interval is always expressed as a negative integer, in the above example it is -30, as we are dealing with the past not the future. This convention originates in the way the tiddlywiki operator ‘days’ works which this plugin relies on.

This is great stuff! I have a wiki at work where I think this might be very useful. It’s a large-ish documentation wiki, and for most users is simply a read-only view, but for authors/editors, this could be a very good way to help keep things fresh. (I would have to hide the new bell icon in read-only mode, but I already hide others, so that should be easy.)

A possible extension of this, or a version 2, might offer a selection of periods: when you click the bell, it shows some simple UI, probably floating right below the bell:

                +----+----+----+====+----+----+----+-------+       +--------+
Review again in |  1 |  2 |  7 ‖ 30	‖ 60 | 90 | Custom ___ | days  | Cancel |
                +----+----+----+====+----+----+----+-------+       +--------+

with each option a button, and the default of 30 days highlighted. (Obviously the values could be configurable.)

Thanks for sharing!