If the word ‘metaverse’ triggers an instant disgust response, don’t worry! This post has little to do with ‘web3’, cryptocurrencies, or blockchain technology. I borrowed the overused (dare I say abused) term for its alliterative qualities, nothing more. This post is about the attempt to ‘program’ cocktails - to simulate the bartending process with as much resolution and as few lines of code as possible.
Firstly, why would anyone attempt this? What could the continuous world of mixology, with all of its flavours, temperatures, colours, and carbonations, have to do with the discrete and mathematical world of programming? The astute or seasoned reader will answer correctly that this is a strawman. We can see the world being automated around us every day. Self-driving cars are better drivers than most humans, and computers are so talented at diagnostic imaging that the need for human radiologists will soon cease to exist. Programming can reduce work in any field, and mixology is no exception.
All bartenders already practise a kind of programming, though they might not recognise it as such. They know it as the recipe. Bartenders know a mere quarter ounce of lime juice can turn an undrinkable cocktail into a fan favourite. They know the importance of technique. Stirring when you are supposed to shake, or shaking when you are supposed to stir, can result in the difference between heaven or hell for the drinker.
Good bartenders know that recipes matter. It is well established in mixology that ingredients, quantities, and technique are essential components of the recipe. But two other aspects that have previously been ignored, or taken for granted, also matter.
Language and Form.
I have been a professional bartender (award-winning even) for almost 15 years - working in dozens of bars, managing several (including a Hard Rock), and consulting for over twenty restaurants. It took one week of collaboration with a computer scientist to diagnose that I (and our entire industry) had been writing recipes wrong this whole time.
Take a look at the image below. You will see a recipe for a standard Long Island Iced Tea. It comes from one of the most reputable organisations in the industry, the ‘Food Network’.
It’s verbose, generic, and unclear. If an uninitiated person follows it the resulting cocktail will be a sloppy mess of half-melted ice garnished with a flat cola gradient.
Mixologists following this recipe will ‘fill in the gaps’. They will know to pour the mixture onto fresh ice. They won’t measure the cola in an intermediary vessel, as that would waste precious fizz and mouthfeel. Take a look at some of the language. What does the word ‘cover’ mean in this instance? Are people placing their hands on the tin to prevent stray ingredients from escaping? How about ‘vigorously’? Is there an alternative recipe where one would flaccidly shake? Why use this technique to ‘combine and chill’ when stirring would achieve the same result with less potential for mess?
Almost all cocktail recipes are equally unintelligible and terrible. They rely on the bartender to interpret them, requiring industry knowledge and experience lest the cocktail turn out shoddy and of low quality. In the rare event you see a well-written recipe, the author goes to painstaking lengths to remove ambiguity and imbue clarity.
Below is a word cloud of bartenderese to illustrate the problem.
Speaking with the computer scientist imposed a sort of cognitive discipline. Programming is specific and tight. The world of bartending is, by contrast, loose and fast. You make the wrong drink, or ‘muck up’ a recipe, and you might persuade the customer that you in fact gave them an upgrade. You may convince them that the cocktail they are enjoying is the real recipe. This does not work with computers. There is no sweet talking an algorithm - nor in my case a programmer, who assessed the situation immediately. They called me out when I used multiple words for the same technique, and picked my explanations apart while I attempted to describe the reasoning or science behind an action. I discovered that in my entire career of training, I had been filling in any information gaps with physical instruction. This is fine if you conduct all of your training sessions in person, but it is unfit for scale and ultimately inefficient. Currently we manage this problem with YouTube. But this is a treatment, not a cure.
If our goal is to communicate accurate, actionable recipes using language alone we would have to borrow a concept from programming - a tool known as a Domain Specific Language.
TLDR; The art of bartending, or the science of mixology as some of us would idealise it, is enshrouded in politics and protectionism. I believe deep down that most bartenders fear that ‘bartending is not a real job’. So they cope by turning the community into a guild, and obscuring the field with jargon to maintain the wow factor for the layman.
I would reassure these bartenders that tending bar is very much a real job. There is sufficient mastery to be had ensuring smooth restaurant operations and customer satisfaction. We can all take pride in our work - without needing to puff it up with pomp beyond the visual ‘flair’ that customers love and reward.
As bartenders we can greatly improve the way we communicate, the speed at which we learn, and the consistency of quality in the final product by adopting principles from computer science. We will gain composability and specificity, and lose no granularity, with the application of a Domain Specific Language, or a DSL.