Findings: Like many interesting problems I do not have a completely clear picture what I need but it is becoming clearer.
At the moment I have two new buttons on my side bar - there will be one when I have added some kind of control to rank in increasing or decreasing - until then I am happy to prototype with two buttons.
Already I am finding some good ideas in tiddlers that are over one year old and yet had zero back links and so were only really ‘discoverable’ through tags - I thought for instance I had discovered something new recently but it turns out that the seed of the idea was over a year old - my earlier tiddler had some good ideas that I had become disconnected with. Of course older tiddlers often lack some tags and links precisely because they are old and written at a time when those additional tags and similar tiddlers did not yet exist. Many of my tiddlers although single topic contain 500 to 1000 words.
Backlinks are a very good indicator but they do not tell the whole story - they are asymmetric to my ranking code because I only detect the backlinks and not links in the regular text entry of the tiddler so sometimes there is a really useful tiddler that has a lot of backlinks and clustered around that useful tiddlers perhaps even more useful ones that have no backlinks because I originally linked in one direction.
I have played around also with star ratings plugin $:/plugins/tobibeer/rate - where the field to contain the integer star rating is held by an integer ( 1 to 5 ) as a dynamically added field in the tiddler - by this I mean that the field is added to the tiddler when you first assign a star rating - it also disappears if you later change your mind and give that tiddler a zero rating.
Also the upvoting tool from Kooma $:/plugins/kookma/vote - if I understand this one correctly it does not actually add a field to the tiddler but instead maintains it’s own table of votes for all tiddlers which is held in a special tiddler? I stand to be corrected on this one If my understanding is correct then I did find this one less useful - I would have preferred a field added to the tiddler being voted on so that code written by me could then be independent on Kooma’s code and then simply display tiddlers in the main story river according to how my own filters interact with the vote number stored in the tiddler.
Finally I have my own tags called simply “1” and “2” - these I assign to tiddlers I find particularly useful a bit like “silver” and “gold” medals - currently I do not have “bronze” - there is no “3”.
Are these lots of different ways of solving the same problem? Yes certainly but that does not mean that they are redundant, each has it’s strengths and weaknesses.
For instance the strength and weakness of both the stars plugin and the upvoting plugin are that you do not have to go into edit mode just click on the widget - this does also mean that accidental voting may occur - this would be easy to do on my mobile phone for instance - consequence could be that one of my most useful tiddlers disappears to the bottom of the pond again.
There is psychology here as well - for instance I have resisted adding “3” and then “4” and “5” to my own tagging system because I know that once a tiddler has been assigned “5” ( lowest score in my case ) then I will probably never look at it again and so it loses the opportunity to be reconsidered in the light of changes to my understanding of the area my knowledge base concerns, this is infact why I also have a button on my sidebar called “random 10” - it simply shows a random ten tiddlers on my story river so that every so often I shake the dice and give myself the opportunity to reconsider tiddlers that would otherwise receive no attention.
Possibilities also include ranking on the lines of “importance by association” - tiddlers that are ( for instance ) linked to high ranking tiddlers are themselves considered of high rank but not necessarily assigned a high ranking score directly - so a dynamic decision at the time the story river is populated.
For the time being then I advocate quite a number of different approaches - the whole issue of assigning importance to tiddlers is complex and at least as complex as the way the knowledge base has evolved and been interlinked.
What I do feel is that it would be very nice if the standard wiki - out of the box so to speak facilitated ranking by having user available fields - probably just integers provided for the purpose or if official support was provided for the kind of dynamic fields that tobibeer provided - it would be great to have functionality capable of visiting every tiddler according to a filter and updating the various rankings by means of user registered functionality or simply published frameworks for this.
The goal for a support framework, a tool kit if you like would be to
-
Simplify plugins written with the purpose of assigning integer rank to tiddlers and have a common way of storing the rank. I do not favour rank being stored in special tiddlers because I think it is less accessible to developers having a rudimentary knowledge of Tiddlywiki - for instance in my case I can write filters and add pill buttons to my side bar to filter on criteria I consider of interest but I do not have the technical expertise to write the above plugins mentioned above - I can usually tweak them after study of the code but that is all.
-
Provide methods for updating ranking not just on a single tiddler when someone has voted on it but on all tiddlers - for instance the ranking based on the number of backlinks may require periodic refresh although I do not believe it would necessary require automatic update - I would happily press a button once a day to update.
The justification for wanting common ground - a best practices toolkit is to try and ensure that the methods for assigning, updating and reading rank are similar and suited to as many ways of working as possible - for instance I found it much easier to create buttons for the tobibeer ranking system ( to display on the story river ) because I just had to react to a field stored in the tiddler containing a simple integer - I found this less easy with Kooma’s voting system because as far as I understand it the rankings for all tiddlers are stored in a special tiddler rather than the actual tiddler being ranked. I think if the storage method and the methods of access, update and so on have a common feel then we might see more and more interesting ideas develop which can be adapted to suit the individual user. Ideally I would like to focus on the algorithm that calculates rank ( if rank is not a simple user assignment as it is in the case of upvoting and stars ) and probably develop several different models in the attempt to better understand the connections and priorities in my own knowledge base. It is very unlikely that one view of the world will satisfy every user and every wiki - we all think and organise differently but I do feel a vanilla toolkit to facilitate the housekeeping activities would enable non-expert coders in Tiddlywiki to focus on the meat of the problem rather than the housekeeping.
Sorry it’s so long but I think ranking is an absolutely critical part of any large knowledge base wiki particularly if the knowledge base is not focused on a hard science where there may be fewer alternative views or perspectives on a particular area of study where the individual may find their viewpoint is in constant development and the knowledge base is constantly in revision, review and mining for new connections and explanations.