Ongoing collection of bots for the Bots of Conduct workshop. This repository will be gathering code written by many people during various moments (Relearn 2017, Relearn 2019, ongoing Varia work).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

224 lines
7.8 KiB

# Bots of Conduct
_a workshop by Cristina Cochior and Joana Chicau for Constant's work session [Collective Conditions](http://constantvzw.org/site/-Collective-Conditions,220-.html), Brussels 2019_
### 15:00-15:30 - _collective digital infrastructures_
[Varia](http://varia.zone/en/) is a collective-space [^1] in Rotterdam focused on everyday technologies. We keep a [trail of photographs](https://vvvvvvaria.org/archive/) of what we've done.
Together, we try to experiment with various [tools](https://varia.zone/en/pages/collective-infrastructures.html) for collaborative processes, as well as collective infrastructure making and [self-hosting](https://varia.zone/images/variaecosystem.png).
In October 2019, we wrote our own first [CoC](https://pad.vvvvvvaria.org/coc).
In June 2019, during Relearn Rotterdam, some of the participants had discussions about [codes of conduct and conducting codes](https://gitlab.com/relearn/relearn2019/raw/master/relearn.local/var/www/html/etherdump/publish/conductable) and bots of conduct.
**What would bots of conduct act like?**
Bots can have an important [infrapunctural role](http://infrapuncturalbots.randomiser.info/) that provides a new [logic]( http://infrapuncturalbots.randomiser.info/bot-logic.html). What would it mean to become more entangled with bots, redistribute the labour of making and maintaining a collective, but without falling into the metaphorical understanding of bot as a servant?
Varia members use [XMPP](https://en.wikipedia.org/wiki/XMPP ) as a chat protocol because it enables us to self-host our own instance and [federate with other chat servers](http://varia.zone/images/varia_s2s_federation.svg). We use bots both to communicate and to document our exchanges. Our initial idea was to develop new forms of note-taking based on our interaction habits. We share a lot of different types of information in group chats, from news to recommendations of articles to instigations to clean the fridge. Starting from the conversational nature of our exchanges, we are experimenting with two different bot-users in the chat: one that gathers images shared on the main Varia channel and displays them online, and another one, focused specifically on the topic of digital interdependencies, that gathers images, quotes and looks for books' citations.
Working on our own digital infrastructure allows us to adapt the tools to our own needs and behaviours; meaning that these bots make sense to us, but they may not make sense to someone else.
Currently, we use:
* [Streambot](https://git.vvvvvvaria.org/varia/xmpp.streambot): a bot that saves the images sent to the main Varia group chat and creates an [html page](https://vvvvvvaria.org/stream/) for them.
* [Logbot](https://git.vvvvvvaria.org/varia/logbot): a bot that [logs](https://vvvvvvaria.org/logs/) the quotes that are sent to it.
* You can find a genealogy of the bots around Varia in this footnote [^2]
<br><br>
### 15:30-15:45 - _bot as conductor or bot as conductive_
_Conducting: "the art of directing the simultaneous performance of several players or singers by the use of gesture." [https://en.wikipedia.org/wiki/Conducting]. There are many roles as conductors [https://en.wikipedia.org/wiki/Conductor] Also, in connection to the enviroment: "a substance, body, or device that readily conducts heat, electricity, sound"._
Looking into the bots [examples](https://git.vvvvvvaria.org/ccl/bots-of-conduct)
**_name:_** cross.py;
**_action mode:_**
**_situation:_**
<br>
**_name:_** gather.py;
**_action mode:_**
**_situation:_**
<br>
**_name:_** greet.py;
**_action mode:_**
**_situation:_**
<br>
**_name:_** spark.py;
**_action mode:_**
**_situation:_**
<br>
**_name:_** whisper.py (we don't have this one yet)
**_action mode:_**
**_situation:_**
<br><br>
### 15:45-16:25 — _creating situations_
* split into groups of maximum 5 (mixed interest in code)
* imagine you are a collective-space with your group peers and you have been active for 2 years
* **create a name for the chatroom:**
* to open up the imagination (rooms /sites of action/ environments);
* **imagine a situations:**
* from your own experiences working in collaboration, or with a collective, or having read a CoC, try to recall a specific moment which can define an action mode;
* which situation to think through? / if a code of conduct would exist for a situation?
* **embody the situation through a conductor / conductive bot:**
* in relation to the situation, does your bot act as conductor or as conductive?
* what are your "action modes" (for eg.: sitting; dancing; witnessing; listening; gathering; greeting; sparking; whispering; reminders is a specific kind of action); action modes that create (or perform within specific) situations (for eg.:conversation is unbalanced);
* how can bots be embodied / physically enacted? what gestures would it perform?
* what apart from language can be used as a way of conducting? what other modes of expression (non-linguistic)?
* other possibilities for bot behaviour:
* iteration, repetition;
* lack of memory
* other temporalities (duration / tempo);
* will your bot perform in other space extensions? speaking to other (chat)rooms? to other spatial formats (file systems, like the glossary and the txt file);
* will your bot be a channel between private to public? semi-public to semi-public? semi-public to private? private to private?
* will your bot relate to other bots?
* thinking of distance and proximities between members and bots: is it listening to a specific member? is it listening to other bots?
<br><br>
### 16:25-16:40 - _round of ideas-sharing_
<br><br>
### 16:40-17:10 - _installing_
* create an account and choose nickname on converse: https://conversejs.org/fullscreen.html#converse/register
* once you are logged in, join the group chat named tuwazap@muc.vvvvvvaria.org
_optional_: for anyone who would like to install and run the bots:
1. are there any Windows users?
2. open the Terminal application on your computer
3. install python3
dependencies (pip install slixmpp requests, install python3, pip3, text editor)
3. download the bots: https://git.vvvvvvaria.org/ccl/bots-of-conduct/src/branch/master
5. run a bot in the terminal (be sure to be in the same directory of the files):
4. show & explain the parts where one can intervene
> $ python3 bot.py -j user@vvvvvvaria.org -p password -r tuwazap@muc.vvvvvvaria.org -n nickname -o .
* -j means JID (the xmpp protocol)
* -r means room
* -n means bot nickname
* -o output
* . means here
<br> <br>
* if you dont have a code editor, we can suggest (among others): https://www.sublimetext.com/
* if you don't have python3 installed:
<br><br>
### 17:10-17:30 - _bot in the situation_
* experimenting with bots: either adapt the ones we provided (experiment with code) or enact the bots' behaviours iteratively (bot behaviour);
* bot behaviour: iteration, repetition
<br><br>
### 17:30-18:00 - _present and perform_
<br><br>
### Footnotes
**Link to reference's [pad](https://pad.vvvvvvaria.org/Bots_of_Conduct_References) — further references and materials assembled by Joana and Cristina - feel free to add your owns!**
[^1]: Varia is not merely a collective, nor merely a space. Varia is an interdependent concatenation of both
[^2]:
* https://gitlab.com/relearn/relearn2017/blob/master/xmpp-bots/timekeeper-bot/timekeeper.py (Relearn 2017)
* https://gitlab.com/relearn/relearn2017/blob/master/xmpp-bots/collection-bot/collection-bot.py (Relearn 2017)
* https://gitlab.com/relearn/relearn2017/tree/master/xmpp-bots/archive-bot (Relearn 2017)
* https://gitlab.com/relearn/relearn2017/blob/master/xmpp-bots/cake-bot/cake-bot.py (Relearn 2017)
* https://gitlab.com/lidia_p/author-is-not-present/blob/master/xmpp-vbot.py (Cristina and Lidia's bot, 2019)