Tagging, also known as labeling, is a pretty new concept in software. This concept is so simple, it’s surprising that it took so long for it to become popular.
I’ll explain what tagging is by example. Assume you send an email to all your friends about a party you’re throwing. In your email program you created a special folder for the party. You already have a folder for each of your friends, where you store emails you previously got from them. Now you start getting replies from your friends about the party and you have a problem – should you put the emails in the party folder or in the folder designated for each and every friend? Or maybe you should save a copy of each email message in both folders?
What if you could do both without copying the email message? Using tagging, instead of the traditional hierarchical concept (like the folder tree structure), you can apply the tags “Bob” and “Party” to the only copy of an email message. You can think about it as if the email message “belongs” to both “Bob” and “Party” categories.
Tagging has become very popular lately. GMail, Google’s mail service, has labels instead of the traditional folders. It takes a while to get used to it, but later on you realize how much better labeling is. Another example is the website del.icio.us, which not only lets you store bookmarks (aka favorites) to access from anywhere, but also lets you tag them. What’s especially nice about this is that you can see how many people have tagged a certain link, like the links tagged “programming”.
There’s more to tagging, but I think that’s enough as an introduction.
Did you know that tagging eforces termination of security protocols?
http://www.di.ens.fr/~blanchet/publications/BlanchetPodelskiFOSSACS03.html
However sometime tagging is not polite.