User Attributes or Tags?

Over many years in many forums I’ve seen readers struggling with tags. They become a hobgoblin or fetish. In my view, tagging is like trying to explain a universe of meaning while using a language that has a vanishingly tiny vocabulary. The tagging process always starts with excitement and good intention and becomes a chore. Tinderbox offers so many more elegant ways of understanding ones notes – more than any other application on macOS. Sometimes I wonder “why did you spend all that money so you could tag notes? You could have used Finder and Ammonite.”

1 Like

I wasn’t really thinking about Tinderbox when I wrote those words – I was trying to make a point that applied to outlines in general, whatever program (or piece of paper) they appear in.

But yes, I agree. I am moving in the direction you suggest.

I spent about five years studying the problems faced by the British army in adapting to the changed conditions of warfare in the First World War. One of the greatest barriers to adaptation was prior knowledge. There are various psychological studies carried out in the past fifty years or so that suggest that experience is actually a significant obstacle to effective work in some scenarios. I’m sure this applies to Tinderbox. One of the problems for users is that they have to forget what they have learned while using programs in the past. This has really been at the root of my difficulty, too. And because the program is so deep, it can take significant effort to gain enough knowledge to see how previous practices can be abandoned and new ones adopted – perhaps practices that don’t have any analogues anywhere else. I wish I had the ability to describe the sense of steady revelation that I have been experiencing over the past couple of weeks – insight and understanding do not come easily.

In the Churchill College archives in Cambridge there is a note written by General Rawlinson in about 1916 (can’t remember exactly) which says something like “exchange of ideas is vitally important”. In the context of the British Army of the time, that was virtually a revolutionary manifesto. I find it odd to be in the same position myself 100 years later – struggling to understand something that could alter not only my whole way of working, but my understanding of what I am trying to do. (And incidentally, I do not mean to trivialise the events of the First World War by comparing what I do with what happened then.) Having been “bogged down” myself, this has been a very interesting couple of weeks that opens up all sorts of possibilities.

4 Likes

There is nothing stopping you from doing that. Well, there is one thing stopping you – the fear of painting yourself into a corner.

You’ve written a lot in this thread. Have you started adding notes, and adding tags or user attributes to them? What have you found so far?

Chances are, you won’t paint yourself into a corner. Tinderbox gives you the tools to transform your data from one representation to another. You probably don’t know how to do that yet, and that’s fine. That’s why we have the forum, so people who have gone through this before you can help you out.

tags-to-attributes.tbx (54.4 KB) is an example TBX I put together that shows one way to convert tags to attributes and back.

I did that in five minutes. Could you do that on your own today? Maybe, maybe not, I don’t know. But what you could definitely do is share a document that includes the two notes – without stamps – and ask, “How do I get from the first note to the second note?” And a few people here will pop in to show you how to make it happen.

What’s better from a philosophical standpoint, tags or attributes? I don’t know, and I don’t think it really matters. What matters is that you try something and make progress, and learn from it. Which one do you have a hunch about? Go that direction. Then come back here and share your experience. What do you like about the approach you tried? What don’t you like about it? Ask for suggestions on how to proceed?

I’ve been in your shoes, and here’s how I would apply that thinking to this specific situation:

What I tried: Thinking upfront about which approach I should use
What I liked about it: Taking some comfort that I’m doing things the right way
What I didn’t like about it: The nagging feeling that I’ll run into a wall; avoiding my work by overthinking my approach.
What should I do now?
Suggestions from people who have done this before: You have some good ideas. Try them out. Come back and ask for help when you feel a different kind of stuck.


I love this! I definitely have not thought about it in these terms before. I find it hard to get away from the hierarchical thinking.

I keep a lot of stuff in boxes at home, so this could be helpful. Plus it’s called Tinder"box"…

Thank you for the contribution. The example tbx is a nice demonstration of what is possible. I’m sure I shall use it for something.

Lots of software is described as “flexible” or something of the sort, but I am beginning to realise just HOW flexible Tinderbox is, and what can be achieved with it. This is one of the problems: you have to use it a certain amount to realise that the paradigms you had before don’t necessarily apply, and you have to put in a LOT of work to find out what is possible. It’s one of those cases in which you find that your imagination comes up short.

I actually have a few small databases that I’m working with at the moment. In most of them I have adopted a habit of including tags in the text of the note (typically by typing something like “tags = §freud §superego §morality_principle”). It is a much quicker way of adding tags than pulling down the attributes window, but you don’t get the benefit of using the Attribute Browser to find them.

SO – I’m sure I could copy the “tags” from the text and insert them into the $Tags slot – but how?

I look forward to the next instalment of the discussion!

Here’s my take on that:

text-to-tags.tbx (61.1 KB)

The tag-matching feels a bit hacky and I’m sure could be done better. I also think there’s probably a way to find notes that are fully-tagged (i.e. all §tags have been added to $Tags) and notes with missing tags (i.e. some §tags haven’t made it into $Tags yet). But this is what I’ve got for now :slight_smile:

Extraordinary. I never cease to be amazed at how quickly people can put together these things. Thank you. I will store that up for future use. Mind you, any time I see code with the letters “var” in it, I know I am out of my depth. I took an aptitude test for programming about forty years ago, and they told me to forget it!

Cheers.

2 Likes

I’m coming to see that the totemic nature of ‘tags’ is as unhelpful as that of hierarchies. ‘tags’ are simply a more recent word for ‘keywords’ (probably as it sounded cooler and less techie) which are themselves simply metadata. A value in $MyString as as much of a ‘tag’ as a value in $Tags. But, of course, if tags are the only metadata one has been offered for keywording one’s data it’s unsurprising that it is hard to see the bigger picture.

Using tags, or rather one bucket for all your custom metadata, isn’t necessarily helpful. Mapping tags ingested form other apps to $Tags can be initially useful to provide coherence/sync. But beyond that, or if generating data from scratch within Tinderbox, there’s little upside to putting all your metadata in one field/attribute/list. If you take someone’s contact info, you wouldn’t put all the address, zip, phone, email, etc., into tags as it would make it far harder to find, say, that person’s street. In the same way, gaining comfort to split out your tag-bucket into discrete attributes (of ‘fields’ if you prefer) starts to unlock being able to do more with your information.

To close, their’s nothing wrong with sticking to hierarchical outlines and single-tag-bucket practices learnt in the past. However, to move beyond that limited practice is to take the training wheels of your use of Tinderbox. A database would want you to define all your attributes before you know you really need them. A strength of Tinderbox is you don’t need to do that - add new attributes as you see a need for them.

1 Like

Very interesting. I like the contact info analogy. I like the idea of letting the structuring information emerge from the data as it is perused and understood, too. It reminds me of doing qualitative studies in psychology. Miles and Huberman, where are you?

This is the point I tried to make above

Indeed, we’re in agreement and I don’t think I’m altering your point but expanding another aspect of it. sme folk only know of ‘tags’ as other tools only offer one method of keywording.

To help flesh out some ideas expressed above, I’ve shown some of my own current early stage work. To avoid thread drift it is in a separate thread, here.

Pat,
I cant run the stamp… is this only working in version 7? (I still use version 6)

The whole discussion is interesting… but I wonder if useful, except that it proves we love exchanging. :slight_smile:

Examples might help. I associate User attributes to some permanently recurring dimensions that I need in order to characterize the notes, that permit me to move the notes, to classify the note, whereas “tags” allow to indicate information related to the content of the note. Tags are as variable and diverse as the words in the content of the note. Tags are like underlined words in a book.

User attributes are like the handles of the tools you use to move the notes, whereas tags are part of what you shovel around. They just indicate content. Thinking is wometimes about moving things around (user attributes help in doing this) whereas keywords are like flags, colors, visible signs about the content.

And then you have Mark Andeson who has better examples…

Having said that here is a question: how can I collect all the tags in one key attribute (called “Tags”) in one list of all tags?

For example:
Note 1
Tags : Blue, fruits, painting

Note 2
Tags : Yellow, fear, policy, workers union

Result of the exercise would be a list of tags :
Blue
fear
fruits
painting
policy
workers union
Yellow

Any suggestions ? Probably involves exporting this user attribute.

Collecting all tags into a master list could be done with an agent that queries every note with non-null tags, and adds them to a set attribute in a certain “collector” note.

Use the values() operator, which is designed for just this. See the linked article for detail on the scope/syntax. But for instance, to get a Set (i.e. no dupes) of all $Tags values:

$MySet = values("Tags");

I often use this pattern. Let’s say I want to make a new note for each discrete author in references I’ve imported. I Make a new note and give it this rule;

$Text=values("Authors").isort.format("\n");

That gives me a sorted list of names, one per line in the note’s text. I can then explode the note and I’ve then got a note per author. I use this a lot in my own research to drill down into metadata (i.e. user attributes) I’ve populated when working on the source data (e.g. the example I posted a link to a few posts above). In that case I’ll definitely be extracting a list of editors in a thread so I can compare it with a list (from another TBX) so I can identify which participants are also bot operators.

2 Likes

Yes ! Thank you Mark. VERY useful indeed.

In addition to the suggestions from Mark A and Paul W, here is another case where the attribute browser can be your friend. Using just the data for Note 1 and Note 2 that you set out above, plus a note Note 3 that shares some tags with the previous two, with literally two minutes’ work you can put together this attribute browser view. It groups all the notes under each relevant tag. At the same time, it can show you, in the column on the right, the complete list of tags that each note has.

This is showing you something different from the list that @mwra produced, but it’s another way to look at the data. But it might also be a way of getting toward what you’re looking for. (If you have three minutes rather than two, you can refine this in all sorts of ways – sorting the items in each grouping, ruling-in or ruling-out certain tags or certain items; etc.

This obviously becomes more useful when you have not three items but many hundreds – for instance, when I’m working on an article or book, I assign theme or topic categorizations to material as I receive it. Then when I am working on the writing, I can see which 8 or 10 references, out of hundreds or thousands in total, are relevant to the theme I’m working on. And in other columns in the view I can see what other categorizations I’ve given those items, what the original source was, whether I’ve included them in previous drafts, etc.

I’d agree with @PaulWalters and add also that it’s ‘tags AND’ not ‘tags OR’ and - as I write @JFallows sensible prod for using the under-used Attribute Browser (for which feature I think we owe @JFallows some kudos).

Initially @MartinBoycott-Brown probably does want to use $Tags - or any Set-type attribute (so as to avoid duplicate values). Tip: for a new project of this type don’t over-look ‘suggested values’ to speed data entry. It I was using this close reading technique, I’d consdier using some scipt (outside TB) that I could import and explode to give me notes equating to chapter/page/numbered paragraphs. By using structured input and prototypes I could seed some of the details @PaulWalters sensibly suggests.

The or-vs-and part relates to teasing nuance out of initial tags. So, you mention ‘deportment’ so for all notes with the the $Tags ‘deportment’ you might want to revisit, using the back-references @PaulWalters suggests to add nuance as to why/how this subject is mentioned. This extra finesse of metadata makes it easier to find ‘deportment’ mentions for reason X vs. reason Y - something tags likely won’t give.

1 Like

I find all these discussions really interesting. Here’s an additional real-world illustration, of the way I use the sainted Attribute Browser to manage large quantities of thematic data:

As I’ve been collecting data for a writing project, I can assign values to it on the way in – themes I think it applies to, cities it applies to (for a city-structured narrative), whether or not it’s been used, etc. And of course as I go along I can add, subtract, shift, change, discard, etc those assignments.

Then I can use those various categorizations to affect how I see the info. Here is the view I might want to look at while writing about particular cities:

The really important thing about the attribute browser is that, in adjoining always-available tabs, I can see the same corpus of data sliced-and-diced in a different way, For instance, at the next tab over, I have the data grouped not by city name but by theme:

In this case I’ve added columns to show what city the various items are about.

And in others tabs I have it grouped by chapter organization; or by whether it’s used or not; or whether it’s “Hot” and important to add; and so on.

This is a very powerful feature of the multifaceted Tinderbox array of tools.

1 Like

@JFallows — when you finish that book, how about a “life with Tinderbox” book? :smile:

1 Like