Easter Eggs in Slack
Playing work as a role-playing game. Delighting with details. Rewarding exploration. Nudging with a voice.
Let’s play a game. Imagine that work is a role-playing game you log on to every week. In exchange for playing, you get paid and promoted. You can gain status and more money if you play well. Some of the rules are stated and some are unstated. And business is the never-ending game.

Now let’s imagine that you use software for your work, and the software you use to connect to your teammates and tools at work is built by game developers. Don’t you suppose some easter eggs might pop up in that software?
“An Easter egg is a message, image, or feature hidden in software, a video game, a film, or another — usually electronic — medium.”
So yes and yes and yes. In many ways Slack started as a game and never stopped being a game. So, many easter eggs existed in Slack. More used to exist. Some have since been expunged. Perhaps some remain?
Here are some of my favourites as well as some stories about how play and work often intersected, and why we tried to play the game of work with our customers.
Custom loading messages
If you’ve ever been in the lobby of a building and found a mirror as you wait for the elevator, then you’ve experiences the inspiration for Slack’s custom loading messages.
The mirror exists to help you pass the time as you wait, playing to your vanity. The custom loading messages also existed to help you pass the time as you wait, playing to your sense of fun.
When our first Slack apps launched they loaded really slowly. People complained, often quite reasonably. So we tried to speed up our apps. That proved hard and effortful. We also tried to make the wait less painful. That proved easier and an excellent stopgap measure.
The messages that shipped by default with Slack started as messages in our own TinySpeck workspace. Stewart solicited options and our team provided them. We launched with those.
Then customers requested to be able to edit the customer loading messages for their own workspace. So we let them. Sometimes this led to confusion as some jokers with admin rights let mischief carry them away. They added their own. People saw them and reacted. Slack sometimes got blamed.
But mostly it led to a pleasant distraction from the loading time.
Self Loathing
The Slack apps, particularly for the workhorse desktop / laptop app most customers used all day every day, flaked out sometimes and needed to be restarted. (Websockets!)
We felt embarrassed about that and without much of anything valuable to say about it. Slack co-founder Eric Costello inserted an excellent way to express that feeling.
I believe he intended to remove that message and replace it with something more helpful and less like therapy at some stage. And at some stage that happened. But it definitely made it into production and very early customers saw it for a good long time when things went poorly.
Shruggie
Mystification proved to be a consistent companion when working with computers. They do some weird stuff and sometimes it’s even their own fault.
In Slack, that mystification often led to a response of “Computers!” as a way of sympathizing with a teammate on their attempts to understand what was happening. Other times, that mystification led to shruggie, ¯\_(ツ)_/¯.
The shruggie became so prevalent, and proved just hard enough to type out or custom shortcut into your computer, that /shrug in Slack became an official slash command shortcut that conjured and inserted the blasé text emoticon.
And once you found the slash command for Shruggie in Slack (because a teammate showed you, because you looked it up online, because you’re curious and push buttons to see what will happen), you found a whole treasure chest of easter eggs that appeared when you started a message with /.
Slash Commands
Slack reveals its software development origins when you start a message with /. The / means you’re composing a message to a computer and not a human. That computer could be the Slack app, or it could even be a computer outside the Slack app that’s connected to Slack through an integration. (Keanu Reeves “Whoa!” voice.)
Some Slash Commands were fun and indulgent. For example, /tableflip was similar to Shruggie and generated a text emoticon that looked like someone had flipped a table: (╯°□°)╯︵ ┻━┻.
Some folks found it useful for expressing frustration and overreaction.
And, like with Custom Loading Messages, customers wanted to add their own Slash Commands. So we let them. Once more, hijinx sometimes occurred and sometimes led to confusion about the source of the prank or function. But more often than not something handy revealed itself.
For example, in our own Tiny Speck workspace we had a custom /analytics command. When I entered /analytics, the Slack app went to Google Analytics and replied with a message summarizing our website’s key performance metrics: visitors, page views, conversions to sign up.
The slash command /account [customer name] returned key information about a customer, so /account Company XYZ would tell you how many workspaces Company XYZ had, how many paid users, how much they paid, when they had upgraded, with a link to more in-depth information in Salesforce. Handy, especially if you didn’t want to have to go into Salesforce to find all that information.
Opinions in Software
Some Easter eggs showed up less as surprises and more as small bits of delight. We made opinionated decisions to try to inject a bit of fun and positivity into work.
For example, once we introduced emoji to the product with an autocomplete function (start typing :t-o and Slack brings up a chooser menu with :top: and :tooth: and :toilet: etc.) we had to make some decisions about how to show the emoji.
One of the most popular emoji was a simple thumbs up. Its opposite is thumbs down. The default sorting criteria for the emoji to be auto completed was alphabetical. In alphabetical order, :thumbsdown: comes before :thumbsup:. We didn’t like that so we reordered them.
Another very popular emoji was the smiley face. It proved so popular that people wanted variations to reflect their level of smiling, or level of comfort with smiling, or cultural associations for smiling. I kid you not. We spent hours of time getting our default smiley face just the right amount of smiley and not too smiley.
As a result, the default smiley face became :slightly_smiling:. Sure you could choose your level of emotion from gradations like :grinning: and :smile: and :smiley: but the default became :slightly_smiling:.
This all changed over time with updates to the emojis and Slack, but the need to get the smiling face right, and customers’ investment in and feedback on the smiling face, showed how integral Slack had become to their work life. Right? :)
High Five
For anyone who dug deeply down into the menus of the Slack app, the Preferences section provided and hid tons of options for how Slack worked for you.
It also provided us with a way to include features in the product that hardly anyone would use, yet those that would use them would value them a lot. “Make it a pref,” I heard teammates say, sometimes as a question, sometimes as an instruction, often for very advanced users’ requests.
For the bold adventurers who ventured to the Preferences menu and worked their way through to the end, we figured we’d offer a small reward. A real easter egg living in plain sight.
Check a box that read Surprise me! and an animation of a bear appeared and gave you a high five. Then the screen reverted back to the Preferences.
I confess, one of my proudest moment at Slack was the day I got to have one of my copy suggestions — Surprise me! — included in the app.
Slackbot
So sure, Slack is meant for work communication, but maybe plays like a bit of a game. No matter what your motivation though, Slack certainly needs to get folks into the app and using it while also being trustworthy and feeling like it’s for work. How did we make that balance happen?
The best answer we came up with was a character called Slackbot.
When you first signed up for Slack and faced the dreaded empty text box and blinking cursor, Slackbot welcomed you. When you didn’t really know how Slack worked, Slackbot gave you a simple way to start to play — asking your name. By doing so, Slackbot broke the wall between the Slack application and the user, like actors sometimes break the 3rd wall with the audience.
Slackbot invited interaction and helped you get started. Taking those first few steps often proved the hardest for users (who wants to fill out another profile?) and Slackbot, in a roundabout and slightly goofy way, helped get the ball rolling. He could be your buddy in Slack, even if he wasn’t very smart.
Okay, we got through all that without once using the phrase “progressive disclosure.” Now over to you.
Do you have a favourite Slack easter egg? Perhaps it’s how you can add in hex codes and Slack will show a colour swatch? Perhaps it’s using the up arrow to edit your last message? Right, quiet. I need to simmer down. Okay, over to you. The comments await your delightful additions. If I could have a Slackbot in there welcoming you, I’d do it in a heartbeat.
Up next: Selling by Email Thread — Going deep on selling by email, with examples. Finding out how negotiations worked — at the beginning. Closing deals, baby.
I still remember the day Hammond and I were giggling over adding the Easter Egg that keeps this URL from unfurling https://youtu.be/dQw4w9WgXcQ in Slack.
My favorite bit from the massive translation project was getting some of these details to work in other languages.
If you set Slack to French, the slash command /c’est la vie will give you a ¯\_(ツ)_/¯ and that always cracked me up