Prior Art Request - Has someone done this MRU Most recently used. Or advanced challenge

156 views
Skip to first unread message

TW Tones

unread,
Oct 20, 2020, 7:00:36 PM10/20/20
to TiddlyWiki
Folks,

There are many cases when selecting tiddlers or values in fields, where having list of possible values return either those most recently used or even most commonly used.

Often referred to as MRU's "Most recently used".

  • It seems to me this would be a useful feature in tiddlywiki, it could have an action or macro that adds MRU values to a JSON tiddler, set a time stamp and increment a count every time its used.
  • This data tiddler would them be used in a select statement to pre-populate the possible values on a drop down. Ideal filtered by a search or allow the optional entry of new values.
  • The pre-release has a new feature https://tiddlywiki.com/prerelease/#keyboard-driven-input%20Macro that will help here.
Has anyone worked on this previously or want to take of the challenge of building a generic solution for the community? I will eventually but have toooooo much to do.

Regards
Tones

bimlas

unread,
Oct 21, 2020, 5:01:08 AM10/21/20
to TiddlyWiki
Just yesterday I remembered Andy Matuschak, who also lacks a similar feature (https://notes.andymatuschak.org/z3N113rxPFreW9xUkLkUFomr2LUqfXbdCo3M), so I implemented it. If you have a change request, feel free to report!

si

unread,
Oct 21, 2020, 6:44:08 AM10/21/20
to TiddlyWiki
Hi bimlas this is great! I was looking for something like this a few months ago.

Is there a technical reason to store the "count" and "last" values in a totally separate tiddler? It seems like it would make more sense to store them directly as fields in the actual tiddler that they relate to?

Si

bimlas

unread,
Oct 21, 2020, 7:07:53 AM10/21/20
to TiddlyWiki
Si,

Is there a technical reason to store the "count" and "last" values in a totally separate tiddler? It seems like it would make more sense to store them directly as fields in the actual tiddler that they relate to?

This is what I was thinking about, plus the counters will be lost by renaming the tiddler.

On the other hand, they are not tied to the tiddler itself, but rather to the wiki. For example, if you import a tiddler that has a counter into another wiki, that counter in the other wiki becomes meaningless.

In this solution (setting the tiddler's own field), I don't even like that the "modified" field changing after each opening of the tiddler, since its "last" and "count" fields would always change, so the "last" field could be completely omitted and only the "modified" field should be monitored. This reminds me that this would also modify system tiddlers by default. 

TW Tones

unread,
Oct 21, 2020, 8:40:23 AM10/21/20
to TiddlyWiki
Bimlas,

Thanks for this example. In this case you are answering a question I did not yet ask, you are recording the most recently viewed tiddler, and most viewed tiddler. 

To me this fits the analytics approach to tiddlywiki we have not yet fully explored , thanks, I love it.

I too have being doing a lot to monitor or allow changes on tiddlers without touching them. For example I have a note button that takes notes relating to a tiddler without changing the tiddler. Especially useful for annotating core tiddlers but I plan to use a Unique serial number to overcome renames. I will publish this soon in a copy of tiddlywiki.com, for research and notes linked to the documentation, after the next release. Obtaining and setting a unique serial number follows similar logic to your solution.

If we can capture various actions and count them for tiddlers from view, like your example, to edit, but perhaps even when found in search or jumped to in the story river etc... this information can accrue then tell us a lot about our own or other users behaviour.

I also have a tool that lists the history tiddler and this is very effective for a particular session, because the most recent is listed at the top, including the 2nd 3rd ... etc... I hope some day to also allow history to accrue across sessions.

BUT, in this case I am interested in a MRU for values selected and applied to say field selection, or tag assignment. As a result if we do anything if we go to do it again the last and previous values selected will be in a list. I expect some kind of action we can call in the select widget will support this. Then below the MRU list would be other values not in the MRU list which are available for that setting. I will use a filter here, so in some cases we get the values from a preconfigured list, and others we get it from existing values already used eg each field value.

So what I am asking for here is sub tiddler values, setting fields tags etc... although as I said I love your solution for analytics.

I feel strongly that two areas popular in many modern applications we can make use of in tiddlywiki, such as;
  • Analytics and "MRU Values" are as yet untapped possibilities. Many of our enthusiasts for example love to find information from references, back links and tags etc... to discover "organic relationships", but the order and patterns of use by ourselves or users can help inform or bring to the top the things of most importance to us, or for that matter neglected items.
  • The other popular method involves smart search and suggestions based on related date using knowledge of previous searches and connections, we could call this "little data" as opposed to "big data" that adds a level of machine learning to our tiddlywikis. Just look at Google search and the suggestions, if we could get wikis to respond to search and analytics we could once again help the "knowledge collectors" learn even more from their repositories, to the extent of giving results that look like magic.
    • In this smart search approach it is actually possible to do without a TOC etc... because the information appears when it is needed, not that TOC and other structures do not simultaneously have use cases. Imagine an automatic TOC that builds itself from each users or all users activity.
Related ideas
  • We can also make use of the existing change count to see numbers of edits in a session, making this also be multi-session, ie carry over values for analytics across sessions.
  • Even just counting how often each button is selected will quickly track usage and allow us to show buttons most used and hide others behind more.
Regards
Tones/Tony

bimlas

unread,
Oct 22, 2020, 1:51:46 AM10/22/20
to TiddlyWiki
TW Tones,

... I plan to use a Unique serial number to overcome renames. I will publish this soon in a copy of tiddlywiki.com, for research and notes linked to the documentation, after the next release. Obtaining and setting a unique serial number follows similar logic to your solution.

Regarding ID links: in your solution, does the tiddler's "title" field contain the ID, or is it stored in a separate field? So if I want to switch to your solution, do I have to (at least once) rename the tiddlers?

I also have a solution that I could post on the forum right now, but it’s not perfect yet, so I care how you solved it.
 
If we can capture various actions and count them for tiddlers from view, like your example, to edit, but perhaps even when found in search or jumped to in the story river etc... this information can accrue then tell us a lot about our own or other users behaviour.

If I were to modify the script to count the opening of the tiddler for that day as well (i.e. it would be stored that the given tiddler was opened 20 times on 22/10/2020), an interesting analysis could be performed, e.g. I could see which other tiddlers I opened most of the time when I opened that particular tiddler (I probably read related topics on the same days).
 
So what I am asking for here is sub tiddler values, setting fields tags etc... 

I understand what you mean. This is a pretty good idea for MRU! If I have time, I'll see what I can do. 

wjam

unread,
Oct 22, 2020, 2:21:49 AM10/22/20
to TiddlyWiki
or you can use my history/bread crumbs plugin , internaly it uses the history tiddler  $:/HistoryList so no extra fields are requred
  

K.R. Wim/wjam

TW Tones

unread,
Oct 22, 2020, 2:27:29 AM10/22/20
to TiddlyWiki
Bimlas,

The unique serial number solution has grown and is uncovering a wide range of possibilities. As I explore I have not being able to finish a published solution.

Here is access to a messy development wiki. Look for the red stamp, look in the subtitle of tiddlers and the projects sidbar tab. 




Regarding ID links: in your solution, does the tiddler's "title" field contain the ID, or is it stored in a separate field? So if I want to switch to your solution, do I have to (at least once) rename the tiddlers?

Yes for standard tiddlers, later I plan to store it separately for system shadow tiddlers so I do not change shadows into tiddlers.
 
If I were to modify the script to count the opening of the tiddler for that day as well (i.e. it would be stored that the given tiddler was opened 20 times on 22/10/2020), an interesting analysis could be performed, e.g. I could see which other tiddlers I opened most of the time when I opened that particular tiddler (I probably read related topics on the same days).

Yes, another insight. I imagine if on was to browse a wiki following leads on a particular subject at the end we may capture the set of tiddlers and relationships.

As you know if you open control panel, you can select a tab, then another tab and perhaps change a setting. I am looking at ways to build breadcrumbs and menus from this including being able to "record" the steps taken, to include in documentation. 
 
 
So what I am asking for here is sub tiddler values, setting fields tags etc... 

I understand what you mean. This is a pretty good idea for MRU! If I have time, I'll see what I can do. 

Thanks Bimlas,

The history mechaisium does a lot of this but not fully, perhaps its mechanisms are a source of ideas/code.

If we could intervene in any navigation activity we could extract usage from there.

Tones

TW Tones

unread,
Oct 22, 2020, 2:54:32 AM10/22/20
to TiddlyWiki
Bimlas,

I will give your questions a little more focus.

In my serial number solution, it is optional to add a serial number, it gets a number and increments it, it adds a prefix if wanted to the serial number (eg wiki-name or epoch or user) , but the number part always increments in a give wiki keeping it unique. For non system tiddlers it stores this in a field on the current tiddler. I am building the mechanisms to create new tiddlers and automatically assign the serial number. and in cases of new here or clone the parent serial number is set n new tiddlers along with a new number for the new tiddler. As soon as this field is created it is available in the subtitle, however you can not edit it in the edit view. 

What I have discovered is you can create child tiddlers, and call them whatever you want or nothing; let the child tiddler be titled by the serial number. or the prefix and the serial number. Not needing to name tiddlers is helpful in some cases.

I think Mario's alias plugin may work well with this giving every tiddler and alias of the serial number, and perhaps some additional config in the relink plugin should work a dream. Ultimately I hope to to modify or enhance the TOCP plugin and use the kin operator for a comprehensive solutions.

I am considering the ability to include a separate child serial number which is made up of the parent serial number and a new serial number issued for each new child tiddler of the parent tiddler. This allows further tricks down the track.

Regards
Tony
Reply all
Reply to author
Forward
0 new messages