Human Powered Chatbot was a workshop of 17 people who were given simple rules for processing text and working together. This system created a writing machine that was connected to the Internet. Source material was programmatically mined from the Twitter and New York Times APIs based on feedback from the participant’s input. The result was a chatbot running on twitter that could interact and respond to conversations online under the guise of a “computer simulating intelligence”.

In collaboration with FutureFarmers I designed a kind of interactive performance where participants got to see first hand what it would be like to be a part of a machine. It was my hope that this experience would shed some insight into the relationship that people share with the information systems that the interact with on a daily basis.

The algorithm that was implemented was a simple revision of an earlier work, Talking to Ourselves.

The algorithm is as follows:

  1. Receive text input
  2. Extract keywords from input
  3. Extrapolate new text from keywords
  4. Output new text

In Human Powered Chatbot there were two roles to choose from: Computational Processor and Subjective Processor. The group was split in half between these two roles.

The job of the Computational Processor was taking messages and extracting keywords from them. Like this:

“I remember having a picnic at the beach when I was little.”


The job of the Subjective Processor was making sentences from keywords they receive. Like this:


“I have very little time for things like going to the beach or having picnics”

The transformation that took place is a little like generation loss.

After a message has been passed through the Computational Processor and Subjective Processor, it gets uploaded to the Internet.

People on the Internet can read the messages and respond to them. When people on the Internet are talking to each other in a chat room or forum they use the ‘@’ symbol followed by a name to refer to each other.

This is how our messages are routed as well. When the ‘@’ symbol appears followed by a name, both the Computational Processor and Subjective Processor were instructed to leave that name intact and in the front of the message. Then when the message was uploaded to the Internet it was delivered to the person who was trying to interact with the chatbot. For instance, this is what a message might have looked like when it came in from the Internet:

“@peachy says: Are you a real bot or is this some kind of scam?”

Then the Computational Processor would have to include the name in their list of keywords, like this:

@peachy, REAL BOT, SCAM

If a Subjective Processor encountered an ‘@’ symbol followed by a name, they were instructed to include it in the beginning of their message. Like this:

“@peachy If you ask me, there is no difference between a real bot and a scam.”

This system is an endless loop, messages were cycled through the Computational Processor and Subjective Processor, and then onto the Internet where our custom software would extract keywords that were used to search the New York Times and Twitter for extra material. After making searches the full text of the messages were posted to a profile on Twitter called “human_bot”. The search results as well as any messages on Twitter addressed to “human_bot” were returned and copied down on to pieces of paper that are fed back into the Computational Processor to complete this endless loop.

At any time that participants got bored or might have needed some inspiration they could look to the message board for ideas. The message board acted like a partition between the two groups but it also served as a feedback mechanism. The messengers who were passing messages between the two groups were also writing messages on the board as they worked.

On the Subjective Processor side there were only two words being added to the board, either YES or NO, which was a measure of if the Computational Processors were interested in the messages that were being passed around. Subjective Processors could then use the board as a gauge of to tell if their work was interesting or not.

The Computational Processor side of the board was filled with keywords, these were posted any time a messenger asked one of the Subjective Processors what their favorite keyword seen so far. The Computational Processors could use this as feedback as to what kind of keywords were getting the best results.

Participants were also free to switch rolls or even quit at any time.

This performance encourages Anarchy so long as it’s spontaneous.