# What To Call "Bindings" We've been struggling as a team to decide on a final name for what we have most recently been calling "Bindings". Previous names we've used are "Slots" and "Outputs". We have now returned to the original name "Slots". This document is a summary of the names we seriously considered and their discussed pros/cons, as well as why **we ultimately landed back on "Slots"**. This document assumes that the reader already understands the new "Baklava" animation data model, and what part of it is being discussed here. [TOC] ## Whiteboard From the Discussion ![bindings_naming_discussion](https://hackmd.io/_uploads/SkFUv_uUC.jpg) ## ❌ Bindings Pros: : - It's vague and non-specific with respect to the what the thing actually is. This is good in terms of potentially having a "blank slate" term, which we can imbue with our own meaning. Cons: : - It's vague and non-specific with respect to the what the thing actually is. This is bad in terms of giving someone new an immediate mental foothold on the concepts. - It gives the impression of a connection *between* the Action and animated ID, rather than something that *exists on* the Action independent of whether anything is connected to it or not. This is exacerbated by "binding" already being used to mean the connection between things elsewhere in graphics (e.g. binding a mesh to an armature). This is the wrong impression, and we saw this misunderstanding play out when discussing the new data model with the Blender Studio animators. ## ❌ Lanes Pros: : - It feels concrete. - It's a new term for graphics/animation, which avoids being misleading via existing usage. - It has a nice analogy with "bike lanes", "car lanes", "bus lanes", etc. where there is a space for a particular thing in multiple places. For example, two different roads can both have bike lanes, much like two different animation layers can both have animation data for a bike. - It avoids giving the impression of a particular place where animation is "stored", which could be useful in the future when we introduce procedural animation. - Despite not giving an impression of "storage", it still gives a clear sense of a "place" where the animation channels exist. Cons: : - It's a new term for graphics/animation, which means we have to do more work via documentation to stick the right parts of the analogy in the right way in users' heads. - It's similar to "tracks", "channels", and other terms already in Blender's animation system and elsewhere, which could give the mis-impression that it's along the same "dimension" as those things. ## ✅ Slots Pros: : - It feels concrete. - It's an existing term, which gives familiarity. - It's fairly clear that it's along a different "dimension" than the other concepts in the animation system. - Via an explanation where the Action has "available slots" and layers/strips can have one or more of those available slots in them, it leads to a similar mental model as the "Lanes" analogy, matching the reality of the data model fairly well. - Depending on interpretation, it can give an impression of a place where animation data is kept/stored. This is a good match for the new data model, at least until we introduce procedural animation in the future. Cons: : - It's an existing term (objects and meshes have 'material slots'), which could be misleading since this new usage has some notable differences. - Depending on interpretation, it can give an impression of a place where animation data is kept/stored. This may be a poor match when procedural animation is introduced in the future. Although it's not clear if that will actually be a mental hurdle in practice. - Just from the term itself, without further clarification, it's ambiguous whether conceptually it's a slot where animation data is stored or a slot that an animated ID "slots into". ## Other Ideas Some other ideas that had promise and were briefly considered, but were fairly quickly discarded due to people's gut feelings: - **Subject** (as in 'the subject of a sentence'): has many meanings, and was considered too vague. - **Role** (as in 'a role in a play'): known term from acting (just like 'Action' itself), but because of that it was considered to already have too many meanings that are also relevant to animation/animating, and thus confusing. ## Decision and Rationale We ultimately decided to go with "Slots". The rationale basically came down to: - It became clear that "Bindings" was meaningfully misleading in practice, and thus was a poor choice. - Both "Lanes" and "Slots" lend themselves well to fairly similar, intuitive explanations, as well as having a seemingly similar weight of pros vs cons. So it was a bit of a toss up. - Talking with some of the other devs and studio animators: - Too many people felt weird about "Lanes". - People generally seemed okay with "Slots".