What Is A Bot, Anyway?

(with Adrienne)

Bots are having their 15 minutes, so to speak. Recently, Microsoft launched the “Tay” AI bot and chaos ensued. But bots had already been making a name for themselves on Twitter, on Tumblr, and even on collaboration platforms like Slack or Github. But just because we might recognize a bot when we see it, doesn’t help us understand what’s going on. To make the lives of non-coders everywhere easier, we’ve prototyped an app that can create and configure a vertible cornicopia of bots, no code required.

* For those who are interested in a little more detail, we’ve also created a simple example, an activist bot that echoes quotes excerpts from the Boston Police Patrolmen’s Association newsletter which is…unfortunately surprising. 

What is a bot?

Broadly speaking, a bot is computer program that acts like a human user on a social media platform. Though we haven’t yet seen the passing of the Turing Test by any artificial intelligence, so it is pretty easy to distinguish the humans from the code. Essentially, a bot takes in some information or content from source A (or A + B, or A + B + C, or…well you get the idea), and then potentially transforms it based on rules the developer has given it, and saves the newly crafted content to a database. From here, the bot could also have instructions to share their creation on Twitter, but it’s not a requirement.

Minimum Viable Bot is just Information In, Information Out.

What are the different kinds of bots?

Screen Shot 2016-03-30 at 02.45.59

Bots can take lots of different forms depending on their purpose. Some bots can help you schedule meetings through email. Others are more nefarious, and try to circumvent spam filters in your email or on Twitter. Funnily enough, the hugely popular @horse_ebooks started out as a scam bot, until it was taken over by a reporter from Buzzfeed.

We should note that there is no canonized taxonomy, but we’re going to offer a few informal categories here.

Mash Up Bots:
These bots combine different sources of content and post them.
Example: A bot that tweets out a combination headlines.


Image Poster Bots:
These bots post an image, sometimes with additional information, or generated content.
Example: A bot that posts live TV stills and improvises subtitles for them.

Smart Learner Bots:
Some bots will grow more “intelligent” the more they are interacted with. Smart learner bots require an extra level of human care, as Microsoft learned with Tay. To learn more about ethics in bot curation, Motherboard just posted a great explainer with some of the leaders in social bot technology
Microsoft’s ill-fated “Tay”, who “learned” by accepting as valuable everything that was said to it.


Auto Notifier Bots:
Auto Notifiers listen to a content source, and then perform an action when new content is posted, or something changes. It’s kind of like If This, Then That, the extremely popular service for connecting various web platforms together. These bots are also very common in journalism. They frequently take template text and “fill in the blanks” with the latest relevant information. 

Our demo bot is a version of this kind of bot, because we are not transforming our text in any way. We are simply waiting for a new newsletter to be posted, and then periodically tweeting sentences from it.
Screen Shot 2016-03-30 at 02.34.11
Example: A twitter bot that tweets each time there is an earthquake near L.A.


Replier Bots:
These bots talk to the user based on rules written by the developer. Sometimes this needs to be something the user says directly to the bot, and sometimes these bots will tweet at someone in reaction to something that’s been said. Many platforms (e.g. Twitter) have
rules for keeping these bots on their best behavior.
Example: A bot that takes nouns from your tweets and turns them into tributes to deities.


Expert Bots:
Much like the phone trees, these bots may either offer (semi-) useful information, or take responses and decide what to say next based on them. These bots can also sometimes be found on e-commerce sites with services like Live Chat. The bot will help to quickly sort the chatter for a human.
Example: The Bank of America customer service bot.


Where do bots live?

  • Email
  • Github
  • Slack
  • Twitter
  • IRC
  • and many more!

How do bots work?

Bots typically have a place where they get their content from. In some cases, this may be a very advanced system. In the case of our demo app and bot we simply feed in a web address pointing to our desired content, and it will post sentence by sentence is located.

Screen Shot 2016-03-30 at 02.42.08

With any program that deals with a large amount of data, most of the work is typically in cleaning up the data so that, e.g. in this case, what the bot says is correct.

Screen Shot 2016-03-30 at 02.42.15

Some bots will try to detect what is relevant in the data you feed it. Some will simply take the data and reproduce it without a second thought. Tay’s “repeat after me” feature did this, to disastrous effect.
Screen Shot 2016-03-30 at 02.44.32

It’s common for one person, once they have acquired the skills, to make and manage many bots! To see this ailment in action, have a look at the work of the wonderful Darius Kazemi!

To end, here is an example of the code that would run our bot that tweets out random sentences from the Boston Police Patrolman Association’s newsletter. This script would typically be set up on a server and run on a schedule.

Screen Shot 2016-03-30 at 01.46.03

It may not have been as complicated as you thought to build your own bot! If you would like an even more automated route, have a look at the article How To Make A Twitter Bot with Google Spreadsheets.


The Long Exit of the Long Island Bridge

A few weeks ago I bought a Spare Change newspaper from a street vendor and read an article about the closure of the Long Island bridge off of Boston.  The Island had housed nearly 700 beds for homeless residents of Boston and had 11 addition recovery centers.  The article talked about how the closure of the centers on the Island had adversely impacted Boston’s most vulnerable populations and that 18 months since its closure the city had not since replaced the facilities.

This last week I went to one of the weekly meetings for the Massachusetts Homeless Coalition of the homeless and they explained to me the public and private narrative of the how and why the bridge had closed.

I was fascinated to hear the story and astounded to have not heard it before.  Some pieces of their narrative were easy to back up through research but other pieces were harder to fact check.  Nonetheless the lived experience of many of these case workers and formerly/ currently homeless individuals provided a lot of weight.  Though I could not record the meeting I felt compelled to make a video about what I learned as part of the Explainer Assignment.

The video uses found footage and imagery and is contrasted with text that I wrote in response to my learnings through informal interviews and online research.




Posted in All

How bad does Shelby County discriminates against black businesses?

This bad. (The link is to a YouTube video. And yes, I know the first slide says it’s under 2 minutes but the video is 2:12. That will be updated in later versions.)

I’ve written about the racial disparity in municipal contracting processes – which sounds dry as sh*t, I’d be the first to admit – but it’s actually really important. (Here’s an Infogr.am graphic I created a couple of years ago on the topic.)

The short version: Black people finance their own discrimination when they pay taxes into a county government that then awards an unfair share of county contracts to businesses owned by white men. This has been happening in the county (and city) where I’m from for decades.

My video is an attempt to explain the issue by stressing the consensus values in the middle of Hallin’s Sphere and the deviance of continuing to use tax dollars to give one group an unfair advantage over another.

Here’s the story I was trying to explain. The story includes the numbers I cite, but people who won’t read the story WILL watch a video.

I’d like to redo it and make it snappier, add some sound effects and pictures. Some of the slides with not much text could have been shorter, but there’s no (easy) way in Keynote to vary the length of the slides.

Creating this was a beast. (Pro tip: If you create a Powerpoint, export the slides as JPEGs and import the JPEGs into iMovie, the stills will be so blurry as to be unreadable. A workaround: Use Keynote to create a slideshow, export it as a QuickTime movie and then upload to YouTube or wherever. Or alternately, get a legit video editor like Premiere or Final Cut.)

I think THIS is the future of news. I’d like to create a series of videos like this, ideally under a minute. The series (#MLK50, referenced at the end of the video) will be focused on how public policy reinforces racial/economic injustice in Memphis – and what policies would create a more economically equitable environment.

My “fierce urgency of now” is that in two years, Memphis will mark the 50th anniversary of the violent interruption of Martin Luther King’s vision of economic equality. King came to Memphis to make sure that local government treated mistreated black sanitation workers fairly, but 48 years later, the black community is still getting the short end of the stick.

AlphaGo and Machine Learning

This week, I decided to take the “hypertext is your friend” part of the assignment to heart. I, like Jorge, used FOLD to create my companion piece, which I felt was most intuitive for contextualizing information, especially with a topic like machine learning, which has a lot of moving parts.

I decided to create a companion piece for AlphaGo, the AI that defeated world Go champion Lee Sedol 4-1 about a week ago. I also attempted to give some context on another AI technology that’s gotten a lot of press — Microsoft’s Tay — and argued that we’re further from that science-fiction-robots-take-over-the-world reality than some think.

Check out my story on FOLD!

Posted in All

Refugee Resettlement in the United States

An explainer on the process refugees go through to relocate to the U.S. — a collaboration from Brittany and me…

From Brussels to Paris, the growing number of terror attacks in the West has bled both fear and ignorance around the number of Syrian refugees resettled in the United States. The Republican presidential frontrunner has even gone so far as to pledge that he will send resettled refugees back to Syria if elected. Yet, for all of the hand-wringing about the influx of potential jihadists, official government data tells another story.

Since the Syrian civil war broke out in March of 2011, just under 2,200 refugees have been admitted into the United States. According to the Pew Research Center, of the 70,000 refugees the United States was able to legally accept in the 2015 fiscal year, roughly 25% were from Burma, 20% from Iraq, and 13% from Somalia.  While the Obama Administration will raise the refugee cap to 85,000 to accommodate 10,000 Syrian refugees in 2016, Syrians will still make up less than 12% of the total admitted refugee population. Also, while the average processing time for refugees is 18 to 24 months, Syrian applications can take significantly longer because of security concerns and difficulties in verifying their information. Aid organizations currently put the actual processing time at 33 months.

Rather than just throwing more numbers at the reader, we decided to let he or she engage with the Syrian asylum application process directly via Typeform. A survey with style, easy on the eyes Typeform allows the designer to simulate a conversation through “logic jumps”, which adapts the survey based on a respondent’s answer. Try your hand at the journey here.

The Government Versus Apple

I’ve come across timeline.js before, and decided to  give it a go for this assignment. I chose to pick up the threads of the battle between the FBI, the US DOJ, Apple, and others in the tech industry over the unlocking of the San Bernardino shooting’s suspects’ iPhone. There have been innumerable explainers penned on this subject, some better than others, but considering the mountain of legal paper that’s built up, I thought it might be interesting and worthwhile to go for a chronological layout of what’s been said and done. Also, the government announced yesterday that it decrypted the iPhone, so this seemed like a great and timely subject

General Observations

This was not the most straightforward application. The spreadsheet-based interface takes a bit of getting used to and isn’t remotely intuitive, although a glance at the documentation and some tinkering makes it clearer how to use it. This is what the spreadsheet looked like while I was filling it out:


When I finally published the story, I noticed one significant challenge: I don’t know why, but the timeline.js interface could neither capture nor card any of the news organization websites/stories I linked to (although it did a beautiful job with YouTube). I finally opted for a strange workaround: I either took screen captures of the news stories and used those as static images (misleading from a UX perspective, since the user will almost certainly expect these to be clickable links) or I saved the stories as PDFs, hosted them on my own website, and then made them available as PDFs within timeline (less attractive, and still loses some of the richness of the original document).

Another problem: their interface doesn’t explain this, but in order for timeline.js to interpret your data and render it, you need to “publish your spreadsheet”. It becomes public, thereby exposing your data to the world. I don’t know if there’s a way to publish the spreadsheet privately and share the link with timeline.js, but I feel like this is something that could possibly be better outlined/addressed.

That said, one thing I did like was that it was easily possible to update the spreadsheet (once I published it). Live changes made to the document fed immediately into the rendering, making editing fairly breezy (I seemed to remember this from before.)


In retrospect, although this does function as an explainer, it’s a bit extensive and requires a pretty serious reader commitment in order to fully grasp. I’m glad I worked with the tool, and I think the chronological order helped, but there’s probably an even better way to build interactive tools for laypeople to read legal documents, and this project made me aware of the need for that.

Click here to check out the end result.

Posted in All


I wrote an explainer about abortions. Enjoy!

Posted in All

Coffee Creations

Ever wonder what’s in your cup after you stutter out yet another name of yet another type of coffee that you aren’t familiar with at Starbs? Here’s my week’s explainer: an animated coffee guide.

Coffee Explainer

Posted in All