Tag grouping/hierarchy

Alex Jenter 14 years ago updated 12 years ago 26
Many tags quickly get unmanageable. Tag groups would allow us to organize tags into a hierarchy.

tag-sidebar organizing complexity:hard


Released in 1.7
Do you mean tagging tags? :)
Sounds interesting, I think some UI sketches could help understanding the idea.
No, it's about organizing tags into a taxonomic hierarchy. For example, tag "programming" will contain tag "c++". Now if you pick the tag "programming", all notes having the tag "c++" will be shown, they will all implicitly have the tag "programming" now (of course the notes having the tag "programming" explicitly will be shown as well). Combined with tag union, intersection, and subtraction (Shift, Ctrl and Alt clicks), it will give great power and flexibility while being hopefully not very hard to use.
What you described is called "saved search". Please, do not corrupt the idea of tags. Use prefixes, or suggest a "saved search" feature. After all, hierarchy - and it's drawbacks - is the very reason why tags where introduced in the first place.
I think I must have expressed myself poorly and this is why you misunderstood.
First, saved searches are in a separate ticket here: http://roadmap.cintanotes.com/feedback/15284-search/

Second, there's a notion of subsets in the set theory. A note tagged "c++" is by implication about programming. Tags were introduced because with strict hierarchic taxonomy, an item was limited to just one place in it. But with the model described above, nothing would prevent a note from being part of another tag hierarchy. Continuing the example, the same note can also be tagged "project/myprj1" and "author/johnsmith". I see no drawbacks.
That explains it. Thanks.

My fear is that the tag-list will become more complex (and it's a drawback, I suppose). I can't imagine an uncluttered AND non-repetitive UI presentation.

For instance, how many times would "c++" (being part of "programming") appear in the list of tags? Would the list become a tree, or would the "c++" just be displayed twice?
(second appearance to somehow indicate that the tag is also a part of "programming")

This concept would also likely require additional dialogs/menu items to be introduced, since the tag would now have more than one property (name).

My solution would be to just tag the appropriate note with both - or all the needed - tags, and stick with the concept of saved searches as a separate, plain and simple layer of organization.
No, it won't be displayed twice. It will be a foldable tree. The tags list will become considerably shorter and you won't have to scroll it several pages down just to get to "programming".
Also note that the tag "c++" will have a fully qualified name "programming/c++", and strictly speaking plain "c++" won't be a tag at all! But CN will be smart enough to automatically expand an entered "c++" to "programming/c++" (or provide auto-complete suggestions if there are ambiguities/name collisions).
am already using prefixes for grouping tags - not pretty but it works. but i'd like "formal" tag-grouping just to be able to expand/collapse tag-groups in the tag sidebar, for neatness more than anything else
This sounds something like a hierarchy of categories and tags.
I just thought of a great use for this one: grouping synonyms and similar stuff (without actual hierarchy):cat+cats, pics+photos+fotos+фото etc.

The reason I use this software instead of something else is the interesting philosophy of everything displayed in a single flat list window, with no expanding-collapsing trees, and no tabs, and no other thing but the text in the window using eye-catching presentation.

The perfect incarnation of this software for me would be a single flat page of relational text which allows multiple definitions of the same thing with eye-catching color presentation.

In essence, like looking at a single page in "Firefox" filled with (eventually) thousands of lines of text. The only way you can find what you want quickly is by looking for alphanumeric clues by scrolling down the page using vertical AND horizontal scrollbars, and filtering the colors in your mind as you scroll, and also by usage of a "CTRL+F"  "find" feature (as done in Firefox).

--- Theoretical Example Usage ---

Start CintaNotes

Go to File > Preferences ...and set up my display preferences

File > Preferences > Display

- Word Wrap:- Yes/No  (my choice is NO)

- Note Group - Note Row:- Show/Hide

- Note Group - Tag Row:- Show/Hide

- Note Group - Frames:- Show/Hide

File > Preferences > Style and Color

- Defaults - Note Group:- Frames: Dark Brown-Black | Note Row Background: Dark Brown-Black | Tag Row Background: Dark Brown-Black

- Defaults - Background:- Dark Brown-Black | 

- Defaults - Font: Segoe UI, White, Bold

- User Menu - Color Font:- 1) Green, bold | 2) Blue, bold | 3) Yellow, bold | 4) Purple, bold (etc etc)

- User Menu - Color Background:- 1) Green | 2) Orange | 3) Yellow | 4) Blue

File > Preferences > Word Formatting

- Replace characters: replace "|" with "&" (etc etc)

- Swap prefixes: "The %word%" "A %word%" (etc etc)

I decide to create a new row of words (ie. a note) like this:   NAME1    NAME2    NAME3

This new row of words will automatically default to all white text.

I quickly highlight NAME1 and go to context menu "Color Font > Green, bold" and it changes to this: NAME1

I quickly highlight NAME2 and go to context menu "Color Font > Blue, bold" and it changes to this: NAME2

I quickly highlight NAME3 and go to context menu "Color Font > Red, bold" and it changes to this: NAME3

My new note (row) now looks like this:


I have set up my my color scheme for this note group, so I now set up my TAG scheme for the this Note Group...

The "Properties" page of "CintaNotes" presents me with 3 fields for Tags, corresponding to  the 3 "Name" fields I set up for this Note Group (it could be more if I added more "Names").

I can choose to add the Tags to one OR two OR all three of the "Name" fields.

In a "Name" field, multiple Tags are separated by a  delimiting character (the semi-colon ";")

so this word string: Highly Recommended; 1954-1956; Classical, Symphony

is in fact three separate "Tag values" for the one "Name" field of this particular "Note" split by a special character (the semi-colon),

and when I initially try to input the new Tag, I get a friendly drop down list of current Tags so I may choose one if it already exists.

This concept is similar to the "Properties" window in foobar2000 music player.

Finally, back in the main window, I right-click on the new row and go to context menu "Create Note Permutations"

which automatically spawns new notes and auto-sorts them in alphabetical order like this:


NAME1    NAME2                                       

NAME1    NAME2    NAME3                         

NAME1    NAME3                                       

NAME1    NAME3    NAME2                         


NAME2    NAME1                                       

NAME2    NAME1    NAME3                         


NAME3    NAME1                                       

NAME3    NAME1    NAME2                         

NAME3    NAME2                                       

NAME3    NAME2    NAME1                         

So far I have discussed setting up the Names and the Tags. What about hyperlinking to files and locations ....

Ideally one should have the option of choosing from any number of user specified links for that Note Row.

So for example, if I have three albums related to "Jascha Heifetz" (a classical violinist) then it would be great if I could have three links to choose from in the context menu when I right click a relevant note.  Instead of just having a context menu item named "Browse Link", one would see an expanding context menu which gives you a list of links to choose..

for example (two link choices for the same note:

"Browse Link"  >  "Jascha Heifetz - (1955) BRAHMS, TCHAIKOVSKY - Violin Concertos"

"Browse Link"  >  "Jascha Heifetz - (1956) BACH, MOZART, BRAHMS - Double Concertos"

The hyperlink preferences can be set up in a similar way to the Tag scheme, but also allow choosing a custom name for the link (for presentation in the context menu).

Concluding Thoughts...

As you can see, in my case, I am trying to present a solid page with no frames around the notes, presenting thousands of text lines, catching the eye by use of color.

I agree to group tags, but not group by tagging tags method (which use lots of time to organize it), but by auto groups method, like what delicious.com (ver 1) used to do with tags.

here is the image give you an idea how's is the "auto group tag" work:
http://www.ollicle.com/2004/oct/11/delicious_client.html (the second image, which is click-able to enlarge for full)

so, people can get grouped tags naturally by doing nothing extra, just collect and tag as we usually did, but with this "auto grouping tags", they got every tags groups or you can say it "be related".

and we can also manage tags for selected notes EASIER: when I select couple of notes, that I can check what's all the tags relating them from the left tag column, yes I know currently is highlighting in the left column, but if I got a lots of tags (like 3000+), I couldn't easily check all these related tags in one area, I don't even got a scroll bar for quick view. so if you can trim all the unrelated tags when you selecting notes, that will really helps.
As I understand the solution of 'delicious', this is a different visualization of a feature that already exists. CintaNotes already displays all related tags to a selected one with a bar alongside of the tags.
So I think yours is a different request from getting hierarchies (hierarchies are much more powerful and very different to a simple grouping)!
could cinta possible get rid of the none related tags when I choose a note, just leave the related tags there.

because I easily have 3000 of tags, and if a note related "apple" and "university", it can't be show in just one flat place of tags, I have to rolling long way from "apple" to the end, "university" to check the related tags of selected note.

hopefully I make this clear.
As far as I know: no
If you would like this feature, I suggest du open a new request so others can vote for it.
OK, will do this.
My idea of tag grouping UI is like the one Wordpress 3.3.1 admin panel uses - if you mouse over "All Posts" it opens options toward the right, the options, "Add New Post" etc. So in the tag sidebar, there is only the option "All Posts".

So if I have these tags
only "programming" will appear in the left tag sidebar - if you click on it it will pop out (toward the right) c++ and ruby

Some tags should be included into multiple groups. So I guess, grouping should be not tree-type but something like "tagging of tagging" with two or more tag levels.

For example, music composed by me should be included into groups "Music" and "My Works". So, the group "Music" will contain music that I listen as well as music that I create. And the group "My Works" will contain music that I create and architecture designed by me. Then, the group "Architecture" will contain my projects as well as photos of famous buildings of the World.

Another example: "Fluid Simulation Methods" tag should be a child of "Physics" and "Geometry" groups because of near-equal relation to both these sciences.

And if multi-level grouping is allowed, both "Physics" and "Geometry" are included into "Science" super-group. In this case, "Architecture" should be included in "Science", "Art" and maybe in "Humanities" super-groups.

This structure can be defined as semi-lattice.


If people like CintaNotes interface for it's ease, there is no problem: they just will neither expand nor use upper tag levels - just use tags of basic (zero) level that is currently present in program. Also if level contains tags but is collapsed, in should be switched to "all tags" mode.

New levels of tags are needed when the number of tags in existing level(s) exceeds psychologically comfortable count limit which is individual for every person. Psychological researches give average value of items that can be perceived at the same time: about 7 items (from 5 to 9). So the more different data categories has person, the more levels of tags may be needed. I need sometimes 2 levels, sometimes 4...5 levels of tags, it depends on the case...

Sorry Andrew but your suggestion came in a bit too late to change the implementation.
But even with the current implementation you can get what you want if you search by tag names.
I think what Andrew asked for can be done with my request for a tag-relations-explorer; check here: http://roadmap.cintanotes.com/topic/116796-tag-relations-explorer/ .
Andrews example can be shown as:
  • Music
  • My-Works
  • Architecture

This all can be done with the use of "flat" tags or as Andrew calls it "zero-level" tags.

You started implementing this idea, excellent!

Can you tell us when can we expect it?
Sorry for the delayed reply. We are currently planning to release it by the end of this month.
WOW! :) That's some good news!
Thank you :)))))
No problem) We'll release a beta version on the forum first, so any bug reports will be very appreciated.

Take a look at the old Evernote 2.2 for how tags are used. In Evernote it are not really tags but look at the way it is managed. There are only tags but the can have childs by manually D&D them on another tag or by creating a new tag using the right-click menu on the current tag.

Thanks for the advice!
Released in 1.7