How Twitter bots paved the way for today’s chatbots
This week, we’re taking a bit of a detour — more like a rewind — in the Tuesday Bot Teardown series. I was chatting with Stefan Bohacek (of Botwiki) about the teardown series, and he suggested that I look at Twitter bots. While most Twitter bots are too simplistic to warrant an entire post, I did want to spend some time learning about the current state of Twitter bots, where they came from, their impact on peoples’ understanding of bots, and compare Twitter bots to other bots-of-the-moment that exist within a conversational UI.
Also… November is #NaBoMaMo - A month-long celebration of non-commercial botmaking!!
Quick note — as this is more of a research mashed with an opinion piece, I would love to hear of any other resources, or your thoughts on the importance of Twitter bots in the work we’re doing today on chatbots :)
The original user-facing bots
Today, the platforms are all working hard to convince developers to build bots for their users. Facebook’s Messenger, Slack, Kik, Telegram… they’re all fairly new to the bot game in comparison to Twitter. Just over two years ago, Twitter had 23 million active bots on their platform. And that was all without any concerted effort or attempts to entice their creation. Bravo!
Twitter bots are very different from the current wave of bots that are taking over the headlines of the Bay Area. Where most of the bots being built today have clear, explicit functions that create value for the end user in obvious ways (i.e. scheduling meetings, shopping assistants, news analysis, scaling repeatable tasks), Twitter bots have by and large existed in the realm of ‘just for fun’. Those that do provide access to information (which we’ll get into shortly) are often simply exposing information in specific ways, and not actually creating an experience. Twitter bots are subservient, quietly processing information, only to be collected or reviewed when someone decides to take action.
But… Twitter bots can’t chat
In today’s bot trend, we’re often coupling the idea of bots with the idea of ‘conversational UI’. Many people define bots as those that have the ability to chat with users. This is one of the biggest ways in which most Twitter bots are different. There’s often no exchange between the followers (i.e. users) of a Twitter bot and the bot itself.
There are many other differences too — there’s no onboarding, you can’t invite others to join, there’s no group experience, no education on how to use or engage with the bot, etc. They are similar in that they’re an automated, sometimes AI-driven entity that creates mostly text-based content that’s shared on a social message-based platform.
User education and exposure
I believe that having bots intermingled with real people on Twitter has probably been a huge boost and advantage for anyone working on bots now. The idea of a bot has been established in the minds of users, often as a funny or artistic entertainment object. You could also push this a bit further, to argue that Twitter bots also pushed forward the idea of bots existing in a conversational space. While Twitter isn’t quite the messenger-derived conversational UI of most bots today, it is true that Twitter existed for many years as an almost public texting equivalent. We can assume that seeing bots intermingled in that space made the jump of them to full one-on-one conversational UI a smoother transition.
Learning about Twitter bots
My process for this teardown was a bit different than previous posts. I followed just over 100 Twitter bots for 2w, and made notes throughout that time on my experience — both as they’d surface in my feed, and by browsing a list I made that included each of the bots. You can check out my list here. Over the past 2w, I’ve tried to note and identify what I liked or disliked, my experience as a follower of the bot, and also gave some thought to the intention of the creator of the Twitter bot.
Personally, my (purposeful) experience with Twitter bots is only a few years old, when I followed Stealth Mountain in 2012. I’ve since subscribed to some other Twitter bots over the past few years, but wanted to experience a wider array and try to understand the various types of Twitter bots that exist. Otherwise, I have a twitter bot ‘running’ the Twitter account of my company Quibb —it tweets out a link to the most popular article shared on Quibb.
Making a Twitter bot
I think one of the reasons why there are so many Twitter bots is that they’re very simple to build. The Twitter API is easy to work with, and the approval process and permissions aren’t nearly as restrictive as other platforms. Discoverability on Twitter is also much more straight-forward than other platforms — if gaining an audience is your goal.
If you’re curious to learn more about how to make a Twitter bot, Botwiki has some great resources.
Twitter bot ‘design’
Designing a Twitter bot is very different from designing a conversational UI-based bot/chatbot that many of us are working on today. With Twitter, there are many variables that are constrained. The most obvious is exposure and therefore engagement. A Twitter bot is simply slotted into the firehose that is Twitter along with every other account that a follower follows. There’s no ability for the bot to obtain privileged placement, or to ensure visibility to their followers.
There are also the content constraints, however this is evolving and more types are becoming accessible over time. Twitter also has a very simplistic network model, with those you follow and followers. Creating groups or segmenting the bot’s network isn’t really an option.
Twitter bots I hung out with
In having 100 Twitter bots in my feed, I started to notice that they seem to fall into different categories. Many of those categories are based on the format of the content of the bot, while others are different due to their intention. I classified the bots into these different categories, and did a bit of a deeper dive on my favorite(s) from each.
I want to note that Tully Hansen wrote a really great classification system for Twitter bots. He focused more on the inputs that drive the bot, whereas my (super simple, haphazard) clusters of categories below are more from the user perspective and content format.
The main two branches of the tree that he proposes is Dependent (i.e. triggers and input derived from Twitter itself), vs. Independent. For all of the bots that I spent time following, they’d all fall under the Independent category that Tully defines:
There are a bunch of Twitter bots that simply tweet out an image. However, how these images are generated and the complexity in creating the image varies wildly.
A few other Twitter bots in this category:
- Birds on wires: Created by Robert Vinluan, tweets an image of birds sitting on telephone/electricity wires once every 3 hours.
- The Brutalist Engine: Created by Nicolas Tilly, tweets out black and white images of brutalist-inspired architecture.
- Black Obs: Created by Matthias Planitzer, tweets out security camera stills from around the world in real-time.
- Wizard Generator: Created by William Anderson, I’m not exactly sure how this bot works. But the output is a very convincing and often hilarious random wizard, popping up in your feed once every 3 hours.
While there are a few great emoji-based bots, this category of bots (which seems to be the newest) is also my least favorite. There are a few great ones (listed below first), but there seems to be many that were simply taking advantage of the recent uptick in emoji popularity, versus actually making something fun or interesting (i.e. the #5aday bot, see below).
My favorite emoji-based Twitter bot is called trains botting, written by Parker Higgins. It creates a cute emoji-based image of a train traversing different landscapes.
A few other emoji-based Twitter bots include:
- tiny star fields: Created by Katie Rose Pipkin, which randomly adds a star versus a space to create a unique sky of stars.
- Tiny Gallery: Created by Emma Winston, builds a small emoji room with displayed art and a handful of visitors.
- #5aday: Randomly tweets 5 fruit and/or vegetable emoji every hour.
Listing out information that is static or unchanging is a Twitter bot category that seems pretty well established. These bots are fun because they allow you to slowly peer inside of some collection of information that, on it’s own, would be too long and boring to spend time on. Some in this category I like include:
- Every Simile: Created by Tobi Hahn, this bot tweets out every simile in the English language once every 15min. I’m unsure whether it will loop once it reaches the end, or if the bot will ‘die’ once all similes have been tweeted.
- take a break pls: Created by @swayandsea, this simple but powerful bot tweets out an encouraging messaging along with a nudge to ‘take a break!’ once every three hours — always starting and ending with a ❤
- Every Ailment: Created by Daniel D. Beck, this bot tweets out 2 ailments per hour (code, plus a description) for all of the medical ailments listed in the ICD-10-CM (The International Classification of Diseases, Tenth Revision).
By far my favorite in this category is by far censusAmericans, created by Jia Zhang of FiveThirtyEight. The Twitter bot pulls from data collected from Americans by the U. S Census Bureau from 2009 to 2013, creates mini ‘biographies’ for each person, tweeting one per hour.
This category is the one that I think has the most potential to actually be powerful. Computers are great at monitoring systems, and notifying us humans of when there’s a change. In contrast, this is something that humans are not very good at.
- Mass shootings bot: As the name makes clear, this bot tweets out the details of a mass shooting whenever one occurs in the US.
- sunrisebot: As the bots creator Richa Agarwal wrote in the description for this bot “the sun is always rising, somewhere.” Approximately once every hour, the bot tweets out the details of where the sun is currently rising.
- Editing NewYorkTimes: Created by Juan E. D., this bot creates a quick visual summary of changes that are made to any NYTimes headline or abstract.
AI (or more intense algorithmically powered) bots
These are some really fun Twitter bots, that mash together some idea with either a fairly complicated algorithm, or much more complex AI.
- Glossatory: Created by Mike Lynch, this bot has much more ‘under the hood’ than most. It generates definitions for words, generated by a Recurrent Neural Network that was trained off a data set of >80k ‘real’ definitions.
My favorite in this category is Uncharted Atlas, created by Glaciologist Martin O’Leary:
Martin describes how the Twitter bot runs and creates the images on his blog. What I find most compelling about this Twitter bot is the thoughtfulness Martin put into creating it. It’s based off of a ton of information on how terrain is formed, combined with a completely separate algorithm that generates place names. The end result is a seemingly real map, complete with all of the features you’d expect on a map of a real place.
What’s next for Twitter bots?
In a world where more and more information becomes accessible, I can only imagine that there’s the potential for more and more Twitter bots to be built, and to actually provide input into decisions that drive people’s lives. More recently, we saw how Twitter bots can be extremely powerful (i.e. the US presidential election) by injecting themselves into the daily news and social interactions of people’s lives.
Twitter has also recently opened up more options for developers looking to build bots into both the Timeline and the Direct Message feature. Unfortunately, they seem more business-focused than in-line with the more creative, information sharing/access history of Twitter bots to-date. I’m excited to watch how Twitter bots continue to evolve, especially now as more time and thought in general is being put into the format by many more people.