I think the question boils down to something like “For this data set, is there information captured by a tree representation that’s not captured by a list of categories?” Trees, or graphs in general, can capture path-based relationships. Categories are based of course on set theory.
I think both have their place, and like anything within mathematics or programming it comes down to which metaphor more naturally and easily expresses what you’re trying to do. I find trees and graphs easy to think about and represent visually, but it all depends on the problem space and the approach.
Note: This is assuming the kind of “tree” we implement permits multiple inheritance if needed.
Hierarchical tags is also possible. In fact Gmail has it, so you can for example create a work tag and then subtags for each company you worked at, and do similar things with hobby tags, and apply multiple tags
I have a bachelor’s degree in maths so I get where you’re coming from. I’m asking, what specific functionality would nested tags provide that unnested tags do not. What is the return on investment for implementing this feature? Describe how this might improve your user experience with collections of objects? What actions in a user interface could you perform or would be made easier with nested tags that are not possible or are more cumbersome using only unnested tags?
Consider a data set that is naturally hierarchical and path related relationships are the central purpose of the data. Let’s say a genealogical database like some services run.
I can see a way of doing it with tags but mostly what I’m picturing has to add additional metadata to the tags that essentially represents the graph and has to add extra logic for resolving all of it.
If stored as nodes and edges you also have the capacity to add additional features to the relationships easily and naturally. That allows you do induce various subnetworks by edge flavor pretty easily. Network metrics such as centrality and clustering also fall out naturally.
Again, you can do it in tags because you can represent the network data as a table, which would in turn be translatable into possibly some long and complex tags. Or maybe there’s a more natural way, but for me the graph is easier to think about and write interesting algorithms for.
Mostly when you have multiple events where you could have made few tags and sub tags to capture the data instead now you have make multiple tags with parent and children as a tag
I’m not sure how much legacy code is written for contact apps in smartphones. But given the amount of tweaks and changes apple and Google make in each of their releases I would expect they wouldn’t have any problem integrating this feature.
Also you mentioned legacy code, but why T9 dialing isn’t a thing anymore coz that would be available if they were simply extending from legacy codebase.
But as someone who designs software I don’t immediately see any additional functionality. I’d like to understand the benefit to see if I want to incorporate the feature sometime
Alright I’ll provide a use case scenario. I wanted to this functionality when I was in uni where a lot of my contacts had more than one role to play and I had trouble remembering all the roles my contact would have. Let’s say one of my contact was my coursemate but also worked in organizing committee of an event. I knew other members of the organizing comittee as well. So in the event that I needed to share an information with the entire organizing committee, I needed to remember committee list members instead of software helping me. And what about another contact who also part of the event but was on a different team like Public Relations. You could say just another tag would suffice no need for nested ones. But this kind of events happens multiple times and I would have to create multiple tags for multiple events (instead of nesting) and it becomes cumbersome managing the list.
As a software engineer I’m interested in the value that would add over simply having combinations of the tags as is possible now
I think the question boils down to something like “For this data set, is there information captured by a tree representation that’s not captured by a list of categories?” Trees, or graphs in general, can capture path-based relationships. Categories are based of course on set theory.
I think both have their place, and like anything within mathematics or programming it comes down to which metaphor more naturally and easily expresses what you’re trying to do. I find trees and graphs easy to think about and represent visually, but it all depends on the problem space and the approach.
Note: This is assuming the kind of “tree” we implement permits multiple inheritance if needed.
Hierarchical tags is also possible. In fact Gmail has it, so you can for example create a work tag and then subtags for each company you worked at, and do similar things with hobby tags, and apply multiple tags
I have a bachelor’s degree in maths so I get where you’re coming from. I’m asking, what specific functionality would nested tags provide that unnested tags do not. What is the return on investment for implementing this feature? Describe how this might improve your user experience with collections of objects? What actions in a user interface could you perform or would be made easier with nested tags that are not possible or are more cumbersome using only unnested tags?
Consider a data set that is naturally hierarchical and path related relationships are the central purpose of the data. Let’s say a genealogical database like some services run.
I can see a way of doing it with tags but mostly what I’m picturing has to add additional metadata to the tags that essentially represents the graph and has to add extra logic for resolving all of it.
If stored as nodes and edges you also have the capacity to add additional features to the relationships easily and naturally. That allows you do induce various subnetworks by edge flavor pretty easily. Network metrics such as centrality and clustering also fall out naturally.
Again, you can do it in tags because you can represent the network data as a table, which would in turn be translatable into possibly some long and complex tags. Or maybe there’s a more natural way, but for me the graph is easier to think about and write interesting algorithms for.
Check this use case I mentioned here: https://lemmy.world/comment/6114731
Mostly when you have multiple events where you could have made few tags and sub tags to capture the data instead now you have make multiple tags with parent and children as a tag
These kind of tags are supported in all kinds of note taking apps. I don’t think it would be an Hercularian task to achieve it.
Don’t underestimate the legacy code. There’s a reason we avoid it.
I’m not sure how much legacy code is written for contact apps in smartphones. But given the amount of tweaks and changes apple and Google make in each of their releases I would expect they wouldn’t have any problem integrating this feature.
Also you mentioned legacy code, but why T9 dialing isn’t a thing anymore coz that would be available if they were simply extending from legacy codebase.
I was just making a joke. Hopefully, those apps are not like the hardcoded messes that I’ve had to deal with before.
You’re right, it’s almost trivial.
But as someone who designs software I don’t immediately see any additional functionality. I’d like to understand the benefit to see if I want to incorporate the feature sometime
Alright I’ll provide a use case scenario. I wanted to this functionality when I was in uni where a lot of my contacts had more than one role to play and I had trouble remembering all the roles my contact would have. Let’s say one of my contact was my coursemate but also worked in organizing committee of an event. I knew other members of the organizing comittee as well. So in the event that I needed to share an information with the entire organizing committee, I needed to remember committee list members instead of software helping me. And what about another contact who also part of the event but was on a different team like Public Relations. You could say just another tag would suffice no need for nested ones. But this kind of events happens multiple times and I would have to create multiple tags for multiple events (instead of nesting) and it becomes cumbersome managing the list.
That’s awesome. I’d like to investigate it more…
You have the following contacts:
How would you like to tag them?
Let’s say I have 4 contacts A,B,C&D
A is both a course x mate and committee member for event 1 So tags for A are /batch20xx/course_x/ /event1/OC/
B is senior of course x and also a committee member so tags for B are /batch20xy/course_x/ /event1/OC/
C is a batch mate but on a different course y and also part of committee member and tags are /batch20xx/course_y/ /event1/OC/
D is also a batch mate and course mate but is in PR So their tags are /batch20xx/course_x/ /event1/PR/
I hope this helps.