Lessons Learned from the Friends Episode Tagging Product

The Basic Theory and Definitions

Tagging involves associated an item with a concept. We’re saying Item X is somehow related to Tag Y. In its most pure form, we’re not commenting on how these things are related, just that they are – Item X is somehow a member of the set identifed by Tag Y.

Some definitions (for the sake of this document only – I don’t claim these are universal)

flowchart LR
    I1[Item 1]
    I2[Item 2]
    I3[Item 3]

    T1[Tag A]
        T2[Tag B]
            T3[Tag C]
                T4[Tag D]


    I1 --> T1
    I1 --> T3
    I1 --> T4

    I2 -- Tag Assignment--> T1
    I2 --> T2
    I2 -->T4

I didn’t want to get pedantic about definitions, because tagging content is literally one of the simplest and most basic information archtecture models. However, in some places before, I need to refer to some structural aspects, and I wanted to baseline a vocabulary.

What does applying a tag say about an item?

When you apply a tag, what are you saying?

How this relationship is implied depends on what the tag represents. The tag #ross-rachel meant, “This episode advanced the storyline of the romance between Ross and Rachel.” While the tag #treeger just meant, “Treeger appears in this episode somewhere.”

The former is more all-encompassing than the latter. The latter is basically trivia, while the former usually always mean one of the storylines was fundamentally about Ross and Rachel and the contents of that storyline would impact further episodes.

When is something “tag-worthy”?

When does the relationship between…whatever, and a tag rise to the level of applying a tag?

For example, the tag #chandler-monica means that the episode somehow advanced the relatioship between Chandler and Monica….or does it? Should I have applied it to any episode that involved Chandler and Monica in a relationship? There’s kind of three “levels” that situation?

  1. Chandler and Monica appear in an episode
  2. There is some reference – either spoken or visual – to Chandler and Monica being in a relationship
  3. One plotline of the episode is centered about the progression of their relationship (“progression” is important here – a plotline could involve them, but not be about them, if that makes sense)

#1 is silly because they ere in every episode. #2 would be important duing a specific period of time when their relationship was…novel; when it was new and a specific story arc. However, as the relationshop worse on, #2 really didn’t apply much because the relationship kind of…settled (?) into the background, which means we’re left with #3 – episodes that very specifically involved some aspect of their relationship.

The larger point here is that a concept of theme is “tag-worthy” only in relationship to the larger context. Something might have been tag-worthy at one point in time, and not in another.

When is something too common to tag?

Earlier I talked about tagging #treeger. This is because Treeger only appeared in 5 episodes, so it was vaguely interesting whenever he showed up.

But consider Gunther. Do we tag his appearances? He appeqred in 150 episodes (64% – it was more odd when he wasn’t in an episode…), and to my knowledge, he was rarely important to any plot point (one major exception: he told Rachel that Ross cheated on her, but this happen off-screen). At best, Gunther was mostly… set dressing? He would show up and say a joke or two, but that’s about it.

So, do I tag every episode with Gunther? At what point does something just become… background noise? (Sorry, Gunther…)

When do you have to explain the tag assignment?

The reasoning for some tags might not be obvious. If I tag something with #guest-star, for example, the immediate question is: who was the star?

I solved this by allowing for some explanation – if a tag has a little information icon on it (🛈), then you can mouse over for more information. I would use this with guest stars to explain who the star was.

I did it a few other times, like to explain a #monica-obssessive assignment when it just happened in the end credits. I also did it a couple of times with #real-world-person.

It’s handy, but I don’t think this is common in most tagging systems.

Can/should a tag ever only have one assignment?

Remember that the entire purpose of a tag is to group things together. So what would be the point of have a solitary tag assignment?

There’s mostly no point to this, because tags are designed to “connect” things. However, this does happen because tags can be exploratory. One of the entire points behind tagging is to organize a domain of information from the “bottom up,” which means you might tag something in the expectation that other things will join it, but you don’t know this for sure.

Also, maybe you’re just tagging something descriptively? If I tagged an episode as #tear-jerker (I didn’t…) then I’m saying something about the episode, even if I’m not connecting it to anything. It’s a label I’m slapping on it – a channel to provide a dimension or perspective.

Can tags every be hidden for administration or search biasing?

In this project, all the tags were open and available for review and browsing, but in some projects, I’ve had hidden tags. These were usually for searching biasing, but a few times I used for adminiatrative organization as well.

For example, a tag of #this-writing-sucks is probably not something you want to display to the content consumer, but a report of all content tagged like that can be a handy way to create a “work list” to manage tasks and keep things organization.

To “hide” tags I’ve done one of two things:

  1. Had a separate field for “admin tags”
  2. Allowed parentheticals. So, if you put a tag in parenthesis, it was assumed to be “hidden” and would be handled as such (like: politics, congress, (this-sucks), foreign-policy)

Which brings me back to the question: are hidden tags still tags? I think so. If you’re only using them for search biasing, they tend to be called “keywords,” but if they function the same as tags for all other purposes – they’re just not displayed to the end user – then that naming is fine.

Could we apply an intensity level to tags?

What if tagging something wasn’t binary, but a matter of degree? Would there be value in applying an “intensity level” to a tag?

For example, if we were apply a tag of #joey-actor, we could apply it a low intensity for the episode where Joey misses the Days of Our Lives float on Thanksgiving. Technically, that happened because Joey was an actor, but it’s more about Joey being kinda dumb, and the related plotline is more about Phoebe trying to teach him to lie (“A raccoon…!”)

But what about the episode when Brooke Shields plays the deranged fan who believes Joey is Dr. Drake Ramoray? That’s much more “about” being an actor than the Thanksgiving thing. What if we could apply…more “tag-ness” to it: joey-actor:3 So, we’re applying 3x the joey-actor than a normal tag assignment?

This wouldn’t be hard technically, and the colon-based example from above would be fine to annotate it. But what would we do with this information?

…I have no idea? When we list the items assigned to that tag, we could order them by this value in reverse (no specified intensity would be assumed to be 1). In that case, the episode that were really about something would be listed first.

(That doesn’t apply to this project, since items are episodes and I was always sorting them by air date. But maybe you could give the user the option to sort by intensity?)

However, intensities would be tricky because we’d be asking multiple people to coordinate opinions on intensity. Or we’d be asking one person to know about all potential intensities to form a mental scale. For example, say if you were to leave Item 13 at the default, but decide that Item 43 was 2x the intensity. That’s fine until you come to Item 96, which is more intense than 13 but less intense than 43. Can we do an intensity of 2.5?

I feel like you’d have to keep it very simple.

(Although, on that simplied scale, we might just use a “+” for more intensity and “-” for less…)

This is one of those things that might be a solution in search of a problem. However, it would help solve the “tag indecision” problem. I would have been much more likely to tag something if I knew that I could specify an intensity level.

My problem was that I almost didn’t want to tag the episode when Joey missed the parade, because I would think about other episodes that had an higher intensity of joey-actor-ness, and I’d think this wasn’t equivalent. I might have been more likely to tag because by leaving it at the default intensity (and giving a corresponding raise to the Brooke Shields episode’s intensity), I could accurately represent how I felt about it.

What does it mean when something has no tags?

There were a handful of episodes to which I didn’t assign any tags. Does that mean nothing happened in those episodes? Well, no, it just means nothing happened that merited a tag assignment …in my subjective opinion, based on my natural tag selecting tendencies.

Looking at all the notes above this one, there were some epsiodes that involved things that didn’t merit a tag, either because they were ubiquitous, or unique, or otherwise didn’t rise to the right level. If we decided to tag Gunther, for example, then some untagged episodes would get tagged for him.

Still, I always felt badly about it. And if I watched all the episodes in detail, I might find I missed something, or might come up with a way to tag them – some aspect of the episode that I could turn into a tag.

…but I didn’t want to manfacture tags for their own sake.

Should we provide a query language for tags?

Searching for items associated with a single tag is simple and straightforward. However, should we allow users to search for items based on a “query” of different stag stautus?

For example –

If I want to see items about Paolo – the Italian guy from the first season – I can search for #paolo. If I want to see items about Phoebe’s career as a massuese, I can search for #phoebe-massuese. But what if I want to see if those two things intersect?

And they did – in The One with the Dozen Lasagnas, Paolo hit on Phoebe while she was massaging him, leading to the end of his relationship with Rachel. How would we search for this?

To this end, do we need a tag query language? Could we search for paolo+phoebe-masseuse to refer to that intersection? Could we go further –

If we provided a query language, would this affect how we did tag assignments?

If we did allow tag querying, I feel like this would fundamentally change how we were able to tag things. A lot of tagguing boils down to trying to make sure someone can find something. However, with a query language, we would be much less concerned with intersections.

If I tag something #las-vegas and #ross-rachel, I might still tag it with ross-rachel-marriage, because that speaks to a specific intersection.

However, with a query language, someone with enough domain knowledge could query for las-vegas+ross-rachel to find this, since their drunken marriage was their major plotline in Vegas.

(This is a little contrived, because it was hard to find an example in this project. But consider a blog post that I tag with history and technology. There’s a specific intersection there: history-of-technology. If I have a query language, that’s implicitly covered by the query history+technology.)

However, this leads to another point…

How much are tags about “exploration,” rather than just organization?

Do we tag things to search them? Or do we tag things to explore a domain of information?

I feel like tags are… opportunisitic. People are reactive about tags, not proactive. They’re not going to search tags, they’re going to see one, be reminded of some aspect of the content they’re consumuming, and want to see what else fits into that tag.

So, if we did provide a comprehensive tag query language, would anyone use it?

Or could we…

Could tags be algorithmic?

Here’s one of the benefits of a tag: it’s a promise to produce content related to the tag. By default, the model is that the tag produces content that has been proactively tagged with the same thing – this is how tags are presumed to work.

But what if we supplmented that model with algorithmic tag assignment? To go back to the example above, what if, when we were rendering tags, we detected that an item was tagged with both history and technology, so we automatically added history-of-technology?

We could handle the search two ways:

  1. If we actually added this as a “true” tag on item save, then there would presumably be others tagged with the same thing, so it would just work normally.

  2. Alternately, we could bind certain “auto tags” to a tag search, so if someone tried to access history-of-technology, we would actually produce the items with a tag query search for history+technology

Auto tag assignment wouldn’t have to be just based on manual assignment. We would search the item to find references to keywords, like #marcel. If the description or text of an item included “marcel,” we could check for that tag, and auto-assign it if it didn’t exist.

How important is tag naming, and is that static?

Ron Leibman played Dr. Leonard Green, Rachel’s father. He was a notable, recurring character – any episode he was in always had a plotline just for him.

But what do we call him? #rachels-dad or #dr-green? And does this matter?

Clearly, the core question is, which name/label do users identify with more? When a user sees this on a tag, which one are they going to recognize.

But there’s another interesting angle here –

Note that #rachels-dad is relational. It frames Dr. Green as having an identity only in relationship to another character. He matters only because of his connection to Rachel.

However, let’s pretend for a second that Dr. Green fell in love with Chandler’s Mom, and they both became regular characters in the later seasons. Can he still be #rachels-dad? Or has his usage in the show morphed into something self-sustaining, and that doesn’t need Rachel as an “anchor”?

Maybe that’s only specific to this domain of information – a narrative that continues over time – but the phenomenon of a tag changing context and meaning could be more prevalent.

Another example is #ross-professor. He was only a professor in the later seasons (after he stopped working at the museum). This was a notable career change, because it drove some story arcs (the entire #elizabeth and a non-trivial part of the #charlie arc). So the #ross-professor tag is really an transformation of the #ross-museum tag – its refers to the same concept and characterization – that of Ross having a career that requires a high level education, but they’re two separate tags.

Is there a point in a tag that’s only used once?

If something is tagged one time, then what’s the point? If I can’t view other things tagged that way… should the tag exist? Should we suppress one-off tags from the list of tags? Should a tag only become “active” when more than one thing is tagged?

When we tag something, are we saying:

Are we just labeling a body of information, or are we providing exploration opportunities?

Single-use tags are also inherent in the “bottom up” nature of tagging. Put another way: every tag is single-use at some point, because we tag incrementally. The first time I applied a tag, that was the only place it was assigned, until I applied it somewhere else.

And this leads us to another point: when we apply a tag for the first time, are we naturally assuming we will apply it somewhere else?

I am very familiar with this particular body of information. So when I tagged #ross-rachel for the first time in Season 1, Episode 1, I did so knowing that I would tag many future episodes the same way. So, is that why I tagged it? Because I knew this was a recurring thing?

In Season 8, Episode 14 – The One With The Secret Closet – you see the “fourth wall” for the one and only time in the entire series. There’s a shot of Joey and Chandler standing in front of the titular closet, from the perspective of the closet, and you can clearly see the presumed wall that all the cameras shoot through (it’s purple, it turns out).

This is the only time that happened. Should I have tagged this fourth-wall? When I tagged that episode, I knew this moment happened, and I also knew that it never happened before or since. Is this why I didn’t tag it as such?

(Honestly, I don’t remember my actual thought process at the time, but this is what I recollect…)

If I saw the fourth wall again, would I have thought to myself, “I’ve see that once before. So that’s two. I need to go back and tag the first occurence.)

It’s like that kid’s game Concentration. You flip over a card and think, “I’ve seen this picture somewhere before,” and you go looking for it.

The problem of tag consistency

I had an inherent advantage in this situation, because all the tagging lay with me. I was the only one applying tags, so that leads to some consistnency –

  1. Active consistency, in the sense that I can remember tags I’ve applied and apply them again
  2. Passive consistency, in the sense that all tag applications are the product of a single mind that works (relatively) the same way from application to application

But, clearly, even I made mistakes – forgetting I used a tag previously, or mispelling it, or thinking up some new angle.

Tags, by definition, don’t have a central authority behind them. People can make up any tag they want. Some scenarios might force people to use a specific set of tags, but I would argue those are tags anymore, those are categories.

Also, if you have more than one person, there can be little coordination between them. They could use different tag names, or different tag… levels or attitudes. Someone might just apply one tag per episode, thinking that they should consider the episode in its entiety, and sum it up in a single tag. Someone else might be looking at every individual plotline per episode (usually two or three), and also any trivia or random appearances of things or concepts.

Some things I’ve seen –

  1. Autocomplete. When users start typing a tag, they see tags that match what they’re typing. This helps with mispellings, and avoids people invented new tags, but it’s necessarily dependent on how the tag is spelled, and how well you can match it based on that. What’s trickier is to autocomplete the concept, not just the spelling.

  2. Restrictions about tag invention. Some systems will prevent most users from creating an new tag. To use a tag for the first time, a user has to clear some bar – either be placed in a specific user group, or have contributed X number of content items, or some other rubric to figure out if they know what they’re doing.

  3. Tag suggestions. Some systems might examine the item being tagged and suggest tags based on existing tags applied (“Items tagged sports-car are often also tagged with cars”) or based on the content itself (“Content like this is often tagged politics). This is esentially some level of system-powered organization, but it’s just asking for the user’s permission. If they don’t take that suggestion (give their permission), do you tag it anyway? Or do you do this on the consumption side – when someone is viewing the items assigned to the sports-car tag, do you say something like, “You might also be interested in the cars tag?”

  4. Human intervention: Some systems (using that word to include human-powered processes) have human editors who review new tags (all tags?) to make sure they’re assigned correctly. This group (cabal?) of editors presumeably commincates about consistency, discussing new and emergenin tags and how they should be handled. Wired had a long article about this process on a popular fan fiction site. Additionally, Bob Boiko was pushing the content of the “metator” (an “editor for metadata”) as far back as the late 1990s.