All Aboard the Twitterbot

Simple ideas + willingness to be silly + care in execution = things people love

Platonic forest train

@choochoobot is a Twitter account that posts emoji trains sweeping through emoji landscapes. Many of the bots featured in Bot Weeks past have presented valuable visualizations of current events, or meaningful context to news stories, or information just as it’s needed. Choochoobot does not do these things.

But it does reliably arrive every four hours with a little bit of whimsy for people’s timelines. And for that, it’s picked up some 3000 followers in the first month it’s been tweeting. Along the way, I’ve learned some lessons that might be useful for other botmasters, inside and outside the newsroom.

People Love Emoji, and Emoji Come with Challenges

People do not behave rationally around emoji. A large and growing group of people love them more than anybody should love a font, and a small and shrinking set of people think they signal the end of polite interpersonal communication. In any case, that split has fueled the reaction to this bot, and it’s something to keep in mind: when crafting the “tone” of your tweets, you can choose to make them fun, and make people like seeing them.

One of my favorite examples is Darius Kazemi’s Moon Shot Bot, which tweets pictures from the Apollo program with descriptive captions. In a busy timeline, even that wondrous subject matter might eventually fail to capture the eye. Kazemi wraps the caption in a handful of space emoji, though, and each tweet feels fun and arresting and whimsical. It’s quite a trick.

Bots whose tweets consist entirely of emoji and other typographical imagery, like Choochoobot, are grouped into a category sometimes called “tiny universe” bots. These range from Katie Rose Pipkin’s genre-defining tiny star field to Noah Swartz’s Nethack-themed Tiny Dungeon Bot to Emma Winston’s Tiny Gallery. For these bots, the way that different operating systems and applications render emoji can make or break the effect. There’s some interesting research out there on miscommunicating through cross-platform emoji, and that principle is even more pronounced when the message is limited to the images themselves. Twitter has mitigated some incompatibility effects with its Twemoji substitutions—which replaces emoji font characters with a standard set of images across platforms—but even that only applies selectively. Twitter’s web interface shows Twemoji, for instance, but iOS and Android users on native apps will see their system’s emoji, and that can lead to situations where sometimes the train cars have redundant catenary wires. I try not to overthink it.

On the other hand, these translation issues pale in comparison to actual—you know—translation issues. A surprising benefit of my bot tweeting images wordlessly has been the pickup by people who speak different languages. The bot has been replied to in at least Dutch, Russian, Spanish, Swedish, French, and German. Lots and lots of German.

Passionate Communities Are Easier to Find Than to Build

Like many people who love trains, I’ve learned over the years to keep that love out of most conversations. But while that enthusiasm is not ideal conversation fodder at many cocktail parties, it is shared by a passionate group of railfans with whom Choochoobot resonates. It even got a shout-out from the Twitter account of Germany’s national railway, specifically for people who “can’t get enough of trains.”

Some examples are less obvious. Another bot of mine, @pomological, tweets images from a federally created archive of scientific fruit watercolors from around the turn of the 20th century. The images as art have an appeal to the general public, but increasingly followers of the account appear to be members of the botanical illustration or heirloom fruit enthusiast community in particular. I had no idea those groups existed, but they know each other and are excited to share the bot and its images with each other.

The lesson here, then, is not to build another train bot—though I will never turn down more choo-choo content—but that it’s useful when brainstorming an idea for a bot to consider whether there’s a receptive community out there waiting for it.

Successful Ideas Can Be Very Simple

I am an extremely bad programmer, and I have no idea what I’m doing. That is abundantly clear when you read Choochoobot’s source code. Still, it works, and it manages to reliably produce surprising and complex results.

In brief, the “choo-choo generator” program picks from a handful of “scenes,” like the desert, the beach, or the forest. It then creates a handful of strings with the emoji I picked to populate that scene, and places a locomotive engine emoji and a random number of train cars behind it. Then I use Twython to post the whole thing to Twitter. That small program runs as a cron job every four hours.

It’s been strange at times to see people react to Choochoobot when I know how simple the underlying program is. But when I think about it, it’s no surprise that elegant and sophisticated code is not much of a consideration when people choose which Twitter bots to follow. What’s more, the community of bot makers is extremely welcoming and helpful.

That combination makes Twitter bots an excellent creative project for novice coders—and as I’ve learned, no idea is too silly to get recognition.



Current page