tag dropdown slowdown - solution/discussion

301 views
Skip to first unread message

HC Haase

unread,
Feb 7, 2020, 7:06:26 AM2/7/20
to TiddlyWiki
TLDR:
Problem: the tag dropdown slows down when you use to many tags
Proposal: 1. only show e.g. first 10  hits and cycle through pages or 2. require min. 3 characters before showing results (like the search)

Problem
I see it mentioned more and more here on the forum, and I am beginning to experience it in my own wiki. When the tag space gets big, the dropdown tag-picker slows down a lot (in edit and in view mode). It is especially a problem on mobile/android where it can make the hole wiki unresponsive for a long time, but it also happens on my desktop now.

If you use the journal button hand have a journal tag, it quickly becomes impossible to press that tag pill

I am also wondering what is the point of the tag pick drop-down? For me, it is to quickly choose a tag. But if I get 50 tag suggestion, that will not help me find what I am looking for. So I type instead to limit the relevant suggestions. So why have all tags shown in the tag-picker to begin with? It would make more sense to only see a limited number of hits.

Some might say that one should avoid to many tags to solve this. But that is not a solution IMO. Tags are what makes wiki'ng great, and they are visible unlike custom fields. In TW tags are both network/categories and hierarchy. Therefore, we need a lot of tags (the strength becomes the weakness).

Proposal
I see two possible solutions to this. The first I think would be the best.

1.
Limit the tag-picker to the first 10 hits and have button to cycle to next 10 (maybe have a setting where you can change the number of hits from 10 to whatever)

2.
In edit mode, require 3 character in the input before showing results (like for search)


Discussion
I like the first solution best because this will show you tag suggestions whit out any input and it solves the problem for both edit and view mode tag-picker.


I also think that whatever solution for this, should be a part of the core. As the problem with too many tags is a fundamental scaling problem that can hit everyone.


What do you think?
Do you have a better idea for a solution?

Ton Gerner

unread,
Feb 7, 2020, 8:11:54 AM2/7/20
to TiddlyWiki
Hi,

Ad 2  see https://tiddlywiki.com/#Hidden%20Setting%3A%20Tags%20Minimum%20Length so you can experiment with it already

Cheers,

Ton

Hubert

unread,
Feb 7, 2020, 8:57:55 AM2/7/20
to TiddlyWiki
Hello,

Ad 2  see https://tiddlywiki.com/#Hidden%20Setting%3A%20Tags%20Minimum%20Length so you can experiment with it already

Thank you for that Ton! A nice optimisation feature that I didn't know I needed.

It looks like yet another example of a useful feature that is missing in the documentation.

Regards,
Hubert

Mohammad

unread,
Feb 7, 2020, 9:15:41 AM2/7/20
to TiddlyWiki
I did not know too!

Thanks Ton!

A Gloom

unread,
Feb 8, 2020, 5:50:49 PM2/8/20
to TiddlyWiki
I was going to post a perfoemance tip post about that hidden setting-- once I went over 500 tags I would get a noticeable lag when the dropdown reacted to text typed in for adding a tag-- the hidden setting cured that lag issue for me.

That setting perhaps should be unhidden by adding it to Control Panel-- i made a crib/cheat sheet listing the hidden settings listed at tiddlywiki . com

Only drawback-- if you have tags whose letter length is under the number you set

at setting of 2, for a single letter tag you use letter then blank space
at setting of 3, for a single letter tag you use letter then blank space, and a second blank space
at setting of 3, for a double letter tag you use letter, second letter, blank space

TonyM

unread,
Feb 8, 2020, 9:11:14 PM2/8/20
to TiddlyWiki
HC,

Thanks for starting this discussion - it really helps both learning and development to run such threads.

I would find a limit on the tags would inevitably confuse me and possibly result in my creating new tags of a similar name. Personally I just quickly type a number of characters to quickly limit the choices, perhaps a small delay rather than a character limit would allow you to do the same rather than limit it to three characters, or a setting like for search that sets the minimum number and the delay time.

I have a different perspective" To me tags are a quick to use ad hoc method for selecting/categorising tiddlers. This extends to tags that group tags like "status" could tag new, inprogress and done, but they need to be removed as well as added. This is one case where a single value in a field works better. 

Personally I try and avoid tags and use fields instead because I try not to "pollute" the tag space. I may even use tags initially then migrate all tiddlers so tagged to all tiddlers with a given field/value.

Not withstanding my alternate approach what would I do if I had too many tags. first I would find a way to divide them into subsets, the simplest being tags with a given tag, or tiddler vs system tiddler. It is only once you find a way to group your tags can you build something to view a subset of tags. I would tend to keep the default drop down or tag search and build another restricted in some way by a filter. For example every status tag could have the field status and have a method to select a tag only from the status tags etc... The selection of status tag may only appear on tiddlers with an field object-type with the value task, object-type[task].

However for a really intense user of tags marios alttags/gentags plugin allows you define multiple tag fields, and the available tags in each alternative tag group are only search for within the existing tags used in that tag field.

In the longer term I would like to see us developing more list fields like tags and provide a method to migrate tags to these alternatives. Tags are a wonderful free method of "tagging" but more often that not we actually use tags as keyword list, a status of which a tiddler can only have one at a time, or primary categories where only one category can be assigned and/or multiple category fields. Another is a keyword field that one adds search terms you want found but that do not necessarily appear in the tiddler.

In the world of data/knowledge and Information management there are a set of well known concepts such as tags and categories (subjects/Domains/Genra are others), for which I would like to see a mechanisium to define and use these as part of the Standard distribution. To me these would mitigate the need to deal with large numbers of tags.

Not withstanding my different approach I see no reason not to enable a filtered tag selector to help in your case. Let me know if you would like one developed. I think a tag pill style that allowed to to tag from its dropdown according to a filter would be nice.

Regards
Tony

HC Haase

unread,
Feb 10, 2020, 9:59:48 AM2/10/20
to TiddlyWiki
@Ton Gerner
Thank you. my wish was already there.



lørdag den 8. februar 2020 kl. 23.50.49 UTC+1 skrev A Gloom:
I was going to post a perfoemance tip post about that hidden setting-- once I went over 500 tags I would get a noticeable lag when the dropdown reacted to text typed in for adding a tag-- the hidden setting cured that lag issue for me.

That setting perhaps should be unhidden by adding it to Control Panel-- i made a crib/cheat sheet listing the hidden settings listed at tiddlywiki . com

I strongly agree that this should be in the controlpanel. when I think of it, why hide any features at all? At the least, the hidden features could be put in a "advanced settings" tab or something similar, if we want to warn people before messing with them.


Only drawback-- if you have tags whose letter length is under the number you set

at setting of 2, for a single letter tag you use letter then blank space
at setting of 3, for a single letter tag you use letter then blank space, and a second blank space
at setting of 3, for a double letter tag you use letter, second letter, blank space

I find it quite fast and intuitive to just type 3 spaces. If we want to make a bit nicer option, we could add a button to expand the list, to the drop-down text (dont know the correct word for this) :

So instad of
"Search text too short"
It colud be
"Search text too short (expand list)"

But I still like the first proposition better, as I dont see the point of showing more than  10 to 20 hits as more is just noise IMO.

Mark S.

unread,
Feb 10, 2020, 12:43:25 PM2/10/20
to TiddlyWiki
I hack $:/core/ui/EditTemplate/tags and $:/core/macros/tag-picker so that tags can be broken into functional units. That way I don't have
to deal with all tags at once. Instead I pick from a drop-down to see only tags that are themes, or that start with "R_", or that are used for "tools", or various sub-topics.

This of course won't help if your tags are homogeneous, with nothing to separate functional groups.

HC Haase

unread,
Feb 11, 2020, 2:33:47 AM2/11/20
to TiddlyWiki


søndag den 9. februar 2020 kl. 03.11.14 UTC+1 skrev TonyM:
HC,

Thanks for starting this discussion - it really helps both learning and development to run such threads.
 
Glad to hear it. Thanks for your detailed response.

I would find a limit on the tags would inevitably confuse me and possibly result in my creating new tags of a similar name.

As I imaging it, I don't think so. As soon as you begin to type, the tag list would reflect that (like it do now) and you would find the tag. And as it is now, when the list of tags run of the page of a pc screen, I don't think it gives more clarity than a limited list. (but of course I can't speak for you). 

Personally I just quickly type a number of characters to quickly limit the choices, perhaps a small delay rather than a character limit would allow you to do the same rather than limit it to three characters, or a setting like for search that sets the minimum number and the delay time.
 
I guess a delay could also work but I dont see the advantage over character limit.


I have a different perspective" To me tags are a quick to use ad hoc method for selecting/categorising tiddlers. This extends to tags that group tags like "status" could tag new, inprogress and done, but they need to be removed as well as added. This is one case where a single value in a field works better. 

I agree that tags are quick ad hoc categorising, but I think tags is also "more" (wiki structure). I also  agree that fields work better in these category/value scenarios.

Personally I try and avoid tags and use fields instead because I try not to "pollute" the tag space. I may even use tags initially then migrate all tiddlers so tagged to all tiddlers with a given field/value.

Here is the problem again (not with you but with the tech). You and others avoid using the tags because the tags fail at their job. Should we not fix the tag mechanism instead of adapting our behaviour? 


Not withstanding my alternate approach what would I do if I had too many tags. first I would find a way to divide them into subsets, the simplest being tags with a given tag, or tiddler vs system tiddler. It is only once you find a way to group your tags can you build something to view a subset of tags. I would tend to keep the default drop down or tag search and build another restricted in some way by a filter. For example every status tag could have the field status and have a method to select a tag only from the status tags etc... The selection of status tag may only appear on tiddlers with an field object-type with the value task, object-type[task].

However for a really intense user of tags marios alttags/gentags plugin allows you define multiple tag fields, and the available tags in each alternative tag group are only search for within the existing tags used in that tag field.

In the longer term I would like to see us developing more list fields like tags and provide a method to migrate tags to these alternatives. Tags are a wonderful free method of "tagging" but more often that not we actually use tags as keyword list, a status of which a tiddler can only have one at a time, or primary categories where only one category can be assigned and/or multiple category fields. Another is a keyword field that one adds search terms you want found but that do not necessarily appear in the tiddler.

I think we have opposite views here. A separatist vs a unionist :)
you want  to make subsets of tags and @P Marios gentag makes subset of tagfields. You say that "more often that not we actually use tags as keyword list,... or primary categories " But why only one at a time? In my view this is exactly the power of tags. I want my wiki to grow buttn-up. I dont want to make a distinction betwene keyword and category before the difference present itself. Therefore I want the tags to simultaniusly be keywords, categories and search terms. I need to go with the flow (maybe I should start a new threat to go deeper in this).

I think the problem with using special fields or an extra special tag-field is that you don't have one place to look for something. Fields are great for custom things, but tags are better. I think tags has some big advantages "out of the box":

  • automatic toc
  • drop down picker (when it works ;))
  • colouring
  • consistency across different wikis

Let us take advantages of that instead of avoiding tags. Make tags great again.

In the world of data/knowledge and Information management there are a set of well known concepts such as tags and categories (subjects/Domains/Genra are others), for which I would like to see a mechanisium to define and use these as part of the Standard distribution. To me these would mitigate the need to deal with large numbers of tags.

Do you care to talk some more about the world of information management and the utility of well known concepts? this could be interesting

Not withstanding my different approach I see no reason not to enable a filtered tag selector to help in your case. Let me know if you would like one developed. I think a tag pill style that allowed to to tag from its dropdown according to a filter would be nice.

Yes, thank you I would. I'm imaging a filter that limit the length of the tag drop-down list and a setting for the user to set that limit. I don't know it if would be too much, but it could be useful to have a fourth/back arrow to cycle to the next e.g. 10 hits, or if not, just a button to show all. But maybe this would be redundant because you get more precise results when you type.

Regards
Tony


TonyM

unread,
Feb 11, 2020, 5:27:42 AM2/11/20
to TiddlyWiki
HC

I started work on providing a filter to the tag drop downs and was asking myself how I may filter them to reduce them in number. 

I then referred back to your original thread and note a large contributor to your problem is the journal tiddlers,

  • Is that because you use a given days journal title as a tag to organise information by day, So have a lot of date tags?
You are I assume aware that rather than click the drop down right away, if you start typing the list will be filtered, however on first click into the tag name entry, it shows all tags right away.

What if this click or responce to each letter typed was disabled and you had to use the dropdown by click or tabbing to the "tag dropdown", before the list appeared, then the list will only be those tiddlers that match the search string? This could popup again after 3 to 4 characters are typed because by then the possible tag list is reduced. 

If however your list is not reduced much after 3-4 characters then I believe there is another approach, please give me an example "string" where you get too many tag suggestions after the all tag list is displayed if possible.

Regards
Tony

HC Haase

unread,
Feb 11, 2020, 8:53:06 AM2/11/20
to tiddl...@googlegroups.com


tirsdag den 11. februar 2020 kl. 11.27.42 UTC+1 skrev TonyM:
HC

I started work on providing a filter to the tag drop downs and was asking myself how I may filter them to reduce them in number. 

I then referred back to your original thread and note a large contributor to your problem is the journal tiddlers,

  • Is that because you use a given days journal title as a tag to organise information by day, So have a lot of date tags?
This was just to give an example. It is not a particular annoying problem for me. the use case was, ifyou use the new journal button, say once a day. after some time you will have alot of tiddlers with the tag journal. and if you press the journal tag you will get a very long and slow list.

You are I assume aware that rather than click the drop down right away, if you start typing the list will be filtered, however on first click into the tag name entry, it shows all tags right away.

Yes I am aware. and the first click slowdown is the problem.

What if this click or responce to each letter typed was disabled and you had to use the dropdown by click or tabbing to the "tag dropdown", before the list appeared, then the list will only be those tiddlers that match the search string? This could popup again after 3 to 4 characters are typed because by then the possible tag list is reduced. 

This is actually a quite good idea with a mix of both approaches. Though I dont know how if these buttons are small on mobile.

If however your list is not reduced much after 3-4 characters then I believe there is another approach, please give me an example "string" where you get too many tag suggestions after the all tag list is displayed if possible.

no I have not had this problem.

Maybe this is feature creep. but I remembered bimlas had some solution where he added a line to the viewtemplate with a list of (selcedted) often used tags. Maybe instead of just showing the alfabetically first rags on the first click, we could only show a list of "selected" tags. when you start to type or press the tag drop down you could get the normal list. - just a thought.

Regards
Tony

TonyM

unread,
Apr 20, 2020, 10:08:24 PM4/20/20
to TiddlyWiki
HC,

I just read your last post again

Yes I am aware. and the first click slowdown is the problem.

Perhaps you did not get my hint - don't do the first click !

Use the tab, to tab to the tag field and start typing the first list that is presented will be reduced by the letter you typed.

Regards
Tony

HC Haase

unread,
Apr 21, 2020, 4:23:32 AM4/21/20
to TiddlyWiki


tirsdag den 21. april 2020 kl. 04.08.24 UTC+2 skrev TonyM:
HC,

I just read your last post again

Yes I am aware. and the first click slowdown is the problem.

Perhaps you did not get my hint - don't do the first click !

Use the tab, to tab to the tag field and start typing the first list that is presented will be reduced by the letter you typed.

ah I see. thanks for clarifying. In the mean time  I have sued the solution of waiting for 3 characters. This works very well! and I can always bypass it by typing three spaces. 

TonyM

unread,
Apr 21, 2020, 8:07:41 AM4/21/20
to TiddlyWiki
Good tip with 3 spaces as well

Tony

Tony K

unread,
May 2, 2020, 6:38:09 PM5/2/20
to TiddlyWiki
Hi 

I am trying to accomplish the same. anyone can point me to an example please?

TonyM

unread,
May 2, 2020, 7:50:23 PM5/2/20
to TiddlyWiki
Tony,

You need to be more specific, simple workarounds exist in this thread that are just the way you use it. I think you need to state exactly what you are looking for.

Regards
Tony

Tony K

unread,
May 3, 2020, 2:48:15 AM5/3/20
to TiddlyWiki
Hello Tony

I want to have multiple drop down menus on the top of the edit box of a tiddler.

My tags are divided into (Type: Document Code etc..) (Action: Review Rename Delete) (Category: Archive...)

I want to have one drop box for each so I can select my tags faster

Birthe C

unread,
May 3, 2020, 5:54:01 AM5/3/20
to TiddlyWiki
Hi Tony K,

Maybe you would like this plugin popuptagger
I do realise that it would be tagging i view mode.

Birthe

Tony K

unread,
May 3, 2020, 9:08:10 AM5/3/20
to TiddlyWiki
Thank you Brithe

yes it is very close to what I want I just don't seem to understand how to create my own tag structure lol

Birthe C

unread,
May 3, 2020, 9:34:53 AM5/3/20
to TiddlyWiki
Tony K,

To be honest it also took me quite a while the first time I used it. Rereading the instructions several times and trying to set up my own groups. Do start your own as adviced. It is easier when you can look at Eucalys original. To be it was a question of trial and error.

Birthe
Reply all
Reply to author
Forward
0 new messages