• @maryjayjay@lemmy.world
    link
    fedilink
    116 months ago

    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.

      • @Natanael@slrpnk.net
        link
        fedilink
        3
        edit-2
        6 months ago

        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

      • @maryjayjay@lemmy.world
        link
        fedilink
        3
        edit-2
        6 months ago

        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.

    • @prashanthvsdvn@lemmy.world
      link
      fedilink
      English
      2
      edit-2
      6 months ago

      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.

      • DarkenLM
        link
        fedilink
        36 months ago

        Don’t underestimate the legacy code. There’s a reason we avoid it.

        • @prashanthvsdvn@lemmy.world
          link
          fedilink
          English
          16 months ago

          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.

          • DarkenLM
            link
            fedilink
            16 months ago

            I was just making a joke. Hopefully, those apps are not like the hardcoded messes that I’ve had to deal with before.

      • @maryjayjay@lemmy.world
        link
        fedilink
        26 months ago

        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

        • @prashanthvsdvn@lemmy.world
          link
          fedilink
          English
          2
          edit-2
          6 months ago

          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.

          • @maryjayjay@lemmy.world
            link
            fedilink
            1
            edit-2
            6 months ago

            That’s awesome. I’d like to investigate it more…

            You have the following contacts:

            • coursemate
            • commiteemember1
            • commiteemember2
            • commiteemember3
            • prguy

            How would you like to tag them?

            • @prashanthvsdvn@lemmy.world
              link
              fedilink
              English
              16 months ago

              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.