Tinderbox Chronicles, part 3

It has taken me longer to put together this third installment of my Tinderbox Chronicles than I had intended (look at part 1 and part 2 for the other installments). As I began writing about actions and attributes, I found myself drifting dangerously into the realm of tutorial, and with an application as rich and feature-packed as Tinderbox that can be very dangerous. If I don’t watch out, I could easily find myself mired in this project for months.

So I have decided to take you through one project that demonstrates some of Tinderbox’s strengths, and show how agents and actions work.

I work for a small, nonprofit publisher of books about sexual abuse. For a recent meeting, I wanted to create a visual representation of our catalog of titles, showing how old our books are by the type of book. The first step was grabbing title, ISBN, price, author and other information on each of our publications which I already had in a spreadsheet on my work PC (transfered to my MacBook via Dropbox). I then opened a spreadsheet in Numbers (the Apple iWorks spreadsheet).

The next step demonstrates one of Tinderbox’s cool features.

I selected and copied all the cells of the spreadsheet, including the headings of the columns. Then I just pasted this information into an open map in Tinderbox, which created a new item and populated this item with a sub item for each of the rows in the spreadsheet. But wait, there’s more. Tinderbox also automatically created attributes for each of the top row headings, made these key attributes and added the information from the spreadsheet.

Here are some screen captures to show you what I mean:

A spreadsheet imported into Tinderbox
A spreadsheet imported into Tinderbox.
Imported item showing the key attributes imported from the spreadsheet
Imported item showing the key attributes imported from the spreadsheet.

(Two notes regarding the spreadsheet import: 1. Tinderbox will only execute this properly if every cell contains content, so even if I have no data for a cell, I just add “n/a”. 2. The fact that the items in the first screen capture are arranged in columns and rows is incidental, and is not indicative of the spreadsheet from which they came — I don’t want to give the mistaken impression that my spreadsheet is duplicated in Tinderbox.)

So now I have my data on board. Let’s make some sense of it.

I want to color each title based upon how old it is, breaking our catalog into three groups: new, moderate and old. Book age is one of the key attributes imported with the spreadsheet, so this is easy to do using agents. First, I will create an agent to turn all new titles blue. I tell it which notes to act on, then tell it what that action should be.

An agent that colors "new" titles blue
An agent that colors "new" titles blue.

Again, this is not a tutorial, so I won’t go into too much detail about the procedure, but notice that there is a query that basically says that for the key attribute “Book_Age” look for those that say “up to 4″. Then there is an action that says to turn the color to blue; ; i.e. $Color=“blue” (Tinderbox is very sensitive, which I find a little frustrating as I fiddle with the syntax to get it to actually do what I want).

After I create the other two agents (green for moderate, warm gray for old titles), my map now looks like this:

All books in the catalog have been color-coded based on age
All books in the catalog have been color-coded based on age.

Now I have a quick visual guide to the age of our books… looks like we need to add some new titles! (Those larger boxes are the agents — which have also captured clones of the originals, and displays them as sub-items.)

Next I want to break the catalog down into the three types of books we publish: workbooks, professional books and books for lay people. To accomplish this, I create adornments with queries that will “suck” in the appropriate titles. Adding queries to adornments is similar to creating queries for agents. I create one adornment for each of the three types, and it looks like this:

Adornments automatically collect books by type
Adornments automatically collect books by type.

Of course, I could have done this by manually dragging each note onto the appropriate adornment, but this is much faster and far more fun.

In this post I’ve introduced the notion of agents and re-examined adornments. At first blush adornments and agents can seem similar, which they are. But there are crucial differences. An adornment remains a decorative embellishment, a superficial visual container. An agent is more pro-active, going out and hunting for notes that meet its query rules. It acts on the notes, and, optionally collects clones (or aliases, in Tinderbox parlance). With these tools, which are easy to learn (other than I had to fidget with the syntax in adornments and agents), I was able to quickly create a map that shows me the ages of our book titles by type. And, as the creator of Tinderbox would say, this is only the starting point.

15 thoughts on “Tinderbox Chronicles, part 3

  1. Thanks for the great tutorial! It’s always useful to hear from other Tinderbox users.

    Did you know that adornments can “sort” as well? You might want to sort the three types of books by alphabetical order (if you wanted to find particular ones fast), or by how old they are. Either way, it’s yet another example of how Tinderbox can make our info useful to us, without much work.

  2. Great series. Thanks for sharing with the Tinderbox community. I am curious what was the action code to “collect” the notes in your adornment.

  3. Thank you for the new installment! I have the distinct feeling that your series provides for an excellent bridge between the most basic features of TB – like throwing notes into it – and its finer details. Please go ahead and share what you learn!

  4. Thanks for taking the time to do this kind of write-up. Question, how sensitive is Tinderbox to one’s temperament?

    For instance, it seems to me that information managers like DevonThink are best suited to people who are librarians at heart, motivated to groom and classify.

    I’m more like a greyhound. I can focus on a toy for hours and hours and hours…but once I’ve eviscerated the thing and got the “squeaker” out of it, I’m off chasing rabbits.

    I need something that can help me focus, but not require constant fiddling to be useful. Something between a stuff-box (heck my hard drive is a stuff-box!) and DevonThink.

    How does Tinderbox fit in that regard?

  5. Hi, Phil,

    My experience with Tinderbox is that it is a “fiddler’s” paradise. For me, that’s both a strength and a weakness. I don’t think it will ever be my main, go-to information manager for that reason. But it is a great application for pulling apart information and putting it back together in a more meaningful way. In fact, I don’t think there is anything else that comes close to it. But if you are looking for one repository for your data that you can just use and not think about, I suspect you would not be happy with Tinderbox.

    Thank you for reading my posting.


  6. Thank you so much for this tutorial. I am a graduate student who works with a lot of ancient and modern texts on philosophy and religion. My strength is comparative analysis. I have been looking for a tool that allows me to do this sort of cross referencing on my computer and to keep all my data sorted. As well as serve as manager before analyzing the data and overlap. It seems that TB maybe the way to go.

    What do you think about this?

    Secondly, I have also been interested in writing more about sexual abuse. I see you work with a publisher on that. Do you have any books you can recommend that address the relationship between sexual abuse and religion. In particular, I am looking for discussions and statistics on the way religious perspectives influence or fuel sexual abuse situations either for the good or the bad.

    1. Marcus,

      I’m sorry I didn’t respond sooner to your comment. I had not been receiving notification that I’d gotten comments. Anyway, thanks for your comment.

      Regarding your question about sexual abuse, I am not aware of any specific titles that address your question. We don’t publish any like that. Our books are mostly about treatment and prevention. We don’t currently publish any books specifically about the social influences of sexual abuse. That sounds like an interesting topic, however. If you find any books about it, I would welcome hearing about them.

      Thank you, again.


  7. I am thrilled to see that adornments can collect notes automatically. I was a bit underwhelmed by the manual collecting of notes, which I thought was the only way.

    Your series on Tinderbox got me a bit more motivated to learn how to use it. Thanks.

  8. Hi Vermonter,

    Thx for the very simple, crystal-clear tutorial. It’ll help me a lot as a new Tinderbox user 🙂

    Just wondering why Mark Bernstein (whose support is really “legendary”, that’s true) didn’t put a link pointing to your blog on Tinderbox website. I had to read 15 pages on Scrivener’s fora before I eventually stumbled upon a link to your stuff.

  9. Hi Steve,
    Thanks for mentioning that.
    It seems pretty hard to subscribe to Mark’s Tinderbox blog though (no RSS feed whatsoever, or am I blind?…).
    Anyway, thanks for the great link to study Tinderbox!

  10. What you’re describing is a tool that approximates the operation of the human brain. Is there where to introduce emotion as a variable anywhere in Tinderbox? Is it possible to receive a certificate for having taking training courses? I have a classical music industry project that would be perfect for Tinderbox. How many hours would it take a skilled professional to create a turnkey system? Are there templates? Fabulous stuff. Keep it up.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s