Tag pairs
I’ve been designing a new tagging feature for ShelfCentered, and I think it’s one that should be widely used everywhere tags are used. Regular vanilla tags are pretty useless I think, since everything lives in one huge namespace. They can only be strings, and so can’t contain any structured information. I know, for example, that some people like to indicate whether they lent some of their items to other people and when. Most cataloging products include a feature like this. My idea is to roll uses like that into the tags, offering complete flexibility to the user, as well as offering the power of structured data.
They will work like this: instead of a tag just being a string, it will be a pair: name and value. The name is a string, anything you want, like “Category”, “Lent To”, or “Location in House.” The value is a typed field where you choose the type: text, number, date, url, or boolean. If you want to indicate who you lent a book to, make yourself a new tag pair “Lent To” of type text, and add it to your catalog, then fill it in when you lend something. Use “Lent On” with the date type to indicate when you lent it.
Having named fields lets you organize tags in any way you want. Having typed fields will let you search and sort in new ways, and goes light years beyond what regular tags are capable of doing for organizing data.
I think this will catch on. It’s like having database software attached to your shelves!