Tinderbox Forum

User Attributes or Tags?

I’ve dabbled with Tinderbox at various times over a number or years, but I’m now making a rather more serious effort to understand the program. I am presently wondering whether to use Tags or User Attributes for some of the meta data that I might include with my notes. Do people have any standard practices that they have found to work well in their experience?

I realise it is terribly vague of me to say “What do you use Tags / User Attributes for?” It would be natural to reply to me “What do YOU want to do?” but sometimes you don’t know that you want to do something until you realise it is possible, or some example of usage inspires you to make experiments. You could say this is a tribute to the flexibility of Tinderbox when you realise that the possibilities are beyond what you are capable of imagining. Or it might be an indication of how thick I am.

Anyway, what is to stop me from unimaginatively sticking everything in Tags and not bothering with User Attributes? All contributions welcome.

Perhaps I should say that I’m a sort-of historian and a sort-of psychologist who collects material from both fields and has decided it is time to try and make sense of some of it. If possible.


I wouldn’t worry about technically distinguishing between tags and attributes. Tags are, after all, attributes.

The built-in $Tags attribute is a set-type attribute, which means it can hold a series of strings. The meaning of the strings is whatever you want. They could be a set of names of colors, or a set of names of emotions, or a set of brands of canned tomatoes, or whatever. There are neither rules nor best practices for tagging. Tags are completely idiosyncratic, contextual, with no objective meaning. The downside of this is the lack of structure.

For structure, you can create a virtually unlimited number of attributes. There are several kinds of attributes: strings, colors, numbers, dates, sets, lists, files, URLs, booleans, etc. Attributes hold information about your note(s). You have considerable flexibility in designing and using attributes. Say, you want to make notes about operas. So you can create attributes for: $Composer, $Librettist, $FirstPerformanceDate, $AriaList, $SIgnificantRoles, $SeenPerformed, etc. Some of these are string attributes, some dates, some lists, some boolean.

You could load all the information in those attributes into $Tags, also, but you’d end up with a bit of a messy text that is hard to figure out. Parsing $Tags for meaning is usually difficult. Most people who use tags a lot end up keeping a sort of cheat sheet to explain to themselves what their intention for such-and-such tagging scheme is. It’s usually not difficult, on the other hand, to guess at the intention of an attribute – $AriaList probably doesn’t refer to brands of canned tomatoes.


Thanks – that helps. I suppose I was thinking about the philosophy behind using User Attributes rather than Tags, not the technical differences. I guess making a User Attribute for yourself presupposes that you have a particular category in mind, with a finite (though potentially large) set of values of a particular type. $Priority might be from 1 to 5, and would make little sense as a tag. But if a note is a quotation from a book, does it make sense to indicate that with a boolean User Attribute, or is it enough to have the word “quotation” among your tags? I think the point you make about structure is important. If you create a User Attribute, perhaps you do it because you already have a structure in mind, but you can use a tag without having a previous idea of what the structure is – and perhaps the structure might emerge or become apparent from viewing the tags. I’m thinking out loud, so this is still rather woolly.

I take your point about lists of tags getting messy. I don’t have a scheme for tags. At the moment I merely enter words that are significant, rather like highlighting concepts or scribbling key words in the margin of a text, so that you can see what the major concepts are without having to read the whole thing.

Thanks again.

That’s a good case. If I’m making several notes and one of them happens to be a quotation, but I’m not interested in keeping track of quotations, then I might add “Quotation” to $Tags and move on. As time passes, though, I might realize this set of notes is becoming more focused on references and quotations. So I could decide to add a boolean key attribute $Quotation and maybe add the Reference prototype to my document, with its key attributes. So then I would browse my notes with Attribute Browser, find the ones tagged “Quotation” and adjust their attributes to be more formal by clicking $Quotation = true and file in some of the reference information if I have it or can locate it.

This is a case of “incremental formalization”, which Mark writes about frequently. I started the document with an informal, occasional use of tags, and evolved from there – gradually going back over my notes, curating them, and formalizing the portion of my document that contains notes with quotations.


I am slowly coming to realise how important, and how useful, this idea is. And I’m realising that, among the software tools that I’ve used, Tinderbox is the one that makes it easiest (I was going to say “makes it possible”, but you could probably stretch other programs to do it – it would just take a lot of effort and would not be nearly so effective).

I’m beginning to combine this insight with another one, which is that hierarchies are not a good way to go about things. Most tools seem to be very much about hierarchies, but this one isn’t. Indeed, I think the fact that it has an outliner has a tendency to lead you up the garden path. The program suddenly made sense to me when I got rid of the hierarchies and started thinking in terms of attributes and tags as a way of processing material. I was going to say “organising material”, but again I think that is not quite the right idea. “Formalisation” is better. Part of the problem is that “organisation” of the material makes it difficult to see it in another way. I was having this problem with DEVONthink, which is all about folders or groups.

As you will gather, I’m still thinking out loud, hence the ideas are not too clear. But it seems to me that hierarchies are not a good idea because they are too rigid and do not lend themselves to incrementation – by that I mean that if you change the position of an item in a hierarchy, you have “destroyed” what was there before. You have replaced one interpretation of the data with another one. On the other hand, if you add a tag or a User Attribute, you retain what was there before and add something new. The work you did before in arriving at the conclusion that a certain tag was appropriate is not lost or erased in the process of adding another one.

I’m not sure if this makes any sense, but I’m groping towards an understanding of how to use the program.

One thing has become clearer to me – Tinderbox is a “meaning-making” program. I’m reminded that Jerome Bruner wrote that the principal function of the human mind is meaning-making, and I’m very interested to see how this program can help with that. But I’d better stop before my brain boils.


You’re on the way.

I find it useful to think of the outline in Tinderbox’s own terminology. It is a set of “containers” – not a set of levels, or hierarchies, etc.

A room full of containers of interesting things – including boxes in boxes – is not a hierarchy. Nor is a document full of notes that contain interesting things. Sometimes we need cabinets or boxes because we don’t want to put all of the collection out on the table at once and clutter the scene. The same with notes.


I’m glad you think so – it’s only taken about fifteen years.

Hmmm. I think you’d have a hard time convincing the average human brain not to see it as a hierarchy! We are already primed to see such arrangements as having precedence, going from left to right (if you are a Westerner) and I would fully expect such interpretations to be pre-conscious. But cognitive psychology is not my field, so I won’t go on.

However, I think I have finally worked out what Agents are for – which is to do precisely what you mention, and pull out only a selection of the notes. I had been wedded to the idea that you put things in boxes permanently (in hierarchies) and opened a box having previously opened the box that contained it. But it is much more useful to have boxes that alter themselves to contain only the things you want. So I suppose I’m saying that, at this point, it seems much less useful to sit and choose where to put things in Outline view than it is to create Agents that will find stuff, thereby creating “targeted” boxes. The original position in the container is no longer of such importance to me. This is something of a relief – I don’t like making decisions, and deciding which box to put things in was taking up too much time and energy!

1 Like

Amen. I totally agree.

My datasets are of a size (thousands of items) such that they’d overwhelm a single map. But the storage containers are a convenience for keeping navigation around the document. After initial creation, I ensure that a note doesn’t depend on its outline location in order to be pertinent. IOW, if I find it expedient to change the way I store things, either for analysis or for pragmatic export structural reasons. Therefore I ensure any initially hierarchically derived data is captured in attributes and that the superset of things (such as source notes) use a single prototype. If I’ve 5,000 source notes stored in a set of containers but they all have the same prototype it’s trivial to find and act on them all. The notes manner of storage becomes incidental.


Cultural determination, probably.

Anyway the suggestion is actually about breaking metaphors. Using software is entirely about manipulating metaphors and sometimes they need smashed.


I agree, but as a “sort-of-psychologist” I’m aware that some things that are going on in the mind happen before we are aware of them, which can make them harder to overcome. See this article:


and this one:

But we are straying off topic!!

Thanks to both for the input. I continue to be illuminated.


[I use “keyword” & “tag” as synonyms. Tag is 57% more efficient since it is 3 characters vs 7 for keyword. :sunglasses:]

I’ve been using “tags” since 1990 in two Contact Management (CRM) products. When I stumbled upon the first—CAT (Contacts-Activities-Time) from Chang Labs—I was entirely unaware of the power & utility of tags. That collection of tags in CAT grew to 700+. Entirely unmanageable.

Significant, redundancy & ambiguity.

Second/current since 2006 CRM tool is Marketcircle’s (www.marketcircle.com) Daylite. Although 20 years newer, the basic functionality across CAT & Daylite are almost identical. Presentation is better in Daylite, but it’s still missing needed functionality to manage the collection.

After serious pruning in the transition from CAT to Daylite, the Daylite tag collection is now down to 390 & could use another good 20% pruning.

The fundamental challenge of tags is how does one remember what they actually mean? What’s meaningful for me today, may be quite opaque in 6 months.

For structure I lean to a MAJOR-MINOR format.

Example: “Skill - Records Management” or “Skill - Watson” indicating a particular skillset an individual has.

Hierarchical is fine—CRM’s have a basic Company-Person-Notes/Activities hierarchy. But life intrudes & that’s where the overlapping “sets” of tags comes into play. I can put a Company, Person, Note, Email, etc. into multiple “containers/sets of interest.”

Another thought on hierarchical vs container. We should not let the constraints of our (relational) database tools cripple us with the need to use unique primary/hierarchical keys.

The human brain, after all, files thusly: {water, ice, snow, rain, cloud, hail,…} in close proximity to each other, but NOT in a hierarchical structure.


This is very much how I see it too. For me a giant step in feeling fluent with the program was recognizing that I could use “actual” containers when they happened to be convenient, for instance to hold notes about an upcoming specific event or on one confined theme. But – the discovery – that I could create virtual containers whenever I wanted, as circumstances and needs changed. Moreover, I could create those virtual containers either through agents or with the (miracle tool) attribute browser.

So, yes, I’m happy to speak of containers – with the caveat that, at least for me, the constantly re-invented ones are the most useful.


Just to return to the point I made about Tinderbox being a “meaning-making” program, I only realised this yesterday, and it makes me wonder if using Tinderbox in some ways mirrors learning. One problem with outlines and hierarchies, it seems to me, is that they are rigid and the meanings that you assign by placing items in them is “definitive”. Once you have given a meaning to an item by placing it in a certain position in a hierarchy or outline, you cannot change its position without “destroying” that meaning (and the work you did to choose that place). You replace one meaning with another. But if you add a tag to an item, the previous meaning is not totally replaced. It may have changed, in that you now have to see that meaning in the context of the new tag, but the original meaning (and the work done to assign it) have not been completely lost. It is this incrementation – the accretion of meaning – that is beginning to make me excited about Tinderbox and its possible uses.

I’m leaning towards the idea that “organising” is the wrong paradigm. Meaning-making is what I should be doing.


I think my tagging problem is a bit more tractable. Most of the concepts in psychology are well established, so if I tag a note with “egocentrism” almost any psychologist in the world will know what it is about. Similarly, in my historical work a tag like “bsttle_of_sedan” will be clear to almost anybody. I will get into trouble if I start tagging things “napoleon” because in certain periods pretty much everything will have some connection with him. That is when the major-minor might be useful (and I note it is a system used by my local university library in their catalogue). But I find myself thinking that if I have a database in which “napoleon” is a useful search-term, the database has probably got too big and unfocused. Better to search inside a database which is all about Napoleon. But not everybody might be able to do that.

And as I indicated in the post above, I’m beginning to think that (for me) the idea of structure is the wrong one. I owe this partly to James Fallows, who observed that associations are what count. In other words, any “structure” is notional, and is temporary, and based on the interpretation of what is presented to you as the result of a search – it is not something imposed intentionally at the outset (which tends to preclude other [perceived] structures from emerging into view as the result of a search).

1 Like

Notes can be aliased an placed in other containers. Either manually, or via agents.

The outline view is only one of Tinderbox’s tools and is not necessarily the best view for understanding relationship / association. Maps, with links and adornments, Charts, Timelines, Attribute Browser – all of these are primarily associative in nature in ways far more powerful than Outline. Many users’ most important work in Tinderbox is done without attending to the Outline view.

Try an experiment: take a document that is built solely on the Outline + tags, and create the same thing on a map – without containers but using adornments and links to explore the associations among the notes. You will likely arrive at a very different understanding of your notes.

1 Like

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.


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!