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.
221 lines
11 KiB
221 lines
11 KiB
5 years ago
|
# Bots of Conduct
|
||
|
|
||
5 years ago
|
_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_
|
||
5 years ago
|
|
||
5 years ago
|
### 15:00-15:30 - _collective digital infrastructures_
|
||
5 years ago
|
|
||
5 years ago
|
![Varia's server](http://varia.zone/images/varia.server.jpg)
|
||
5 years ago
|
|
||
5 years ago
|
[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.
|
||
5 years ago
|
|
||
5 years ago
|
Together, we try to experiment with various free software [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).
|
||
5 years ago
|
|
||
|
In October 2019, we wrote our own first [CoC](https://pad.vvvvvvaria.org/coc).
|
||
|
|
||
5 years ago
|
In June 2019, during [Relearn Rotterdam](http://relearn.be/2019/), 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.
|
||
5 years ago
|
|
||
5 years ago
|
**Infrapunctural bots for stress relief**
|
||
|
|
||
5 years ago
|
|
||
5 years ago
|
![Slide from a 2018 presentation by Deb Verhoeven on digital infrapunctures](https://image.slidesharecdn.com/infrapuncturedhoxss16-160704133509/95/towards-a-model-of-digital-infrapuncture-21-638.jpg?cb=1467640147)
|
||
|
|
||
|
Inspired by the potential of [digital infrapunctures](https://www.slideshare.net/debver/towards-a-model-of-digital-infrapuncture) by Deb Verhoeven, we would like to propose considering what a bot logic might look like:
|
||
|
|
||
|
- where platform logic accumulates, bot logic disperses
|
||
|
- where platform logic centralises, bot logic fragments
|
||
5 years ago
|
- where platform logic creates distance between user and infrastructure, bot logic develops an intimate knowledge of the platform
|
||
|
- where platform logic reinforces habitual behaviour, bot logic encourages new habit formation
|
||
5 years ago
|
|
||
5 years ago
|
A few examples:
|
||
|
* [Politwoops](https://www.politwoops.eu/search?group=7&q=*&politicians=no)
|
||
|
* [Arguetron](https://twitter.com/arguetron?lang=en)
|
||
|
* [CluebotNG](https://en.wikipedia.org/wiki/User:ClueBot_NG)
|
||
5 years ago
|
* [How to do anything](https://mastodon.social/@wikihow)
|
||
5 years ago
|
|
||
|
**What would bots of conduct act like?**
|
||
5 years ago
|
|
||
|
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?
|
||
5 years ago
|
|
||
|
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.
|
||
|
|
||
5 years ago
|
|
||
5 years ago
|
<img src="https://git.vvvvvvaria.org/ccl/bots-of-conduct/raw/commit/d5b8aead93dddd6ef45e008de5101879445e0e45/log_bot_01.jpg" width="300"> <img src="https://git.vvvvvvaria.org/ccl/bots-of-conduct/raw/commit/d5b8aead93dddd6ef45e008de5101879445e0e45/log_bot_02.jpg" width="300">
|
||
5 years ago
|
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
Currently, we use:
|
||
|
|
||
5 years ago
|
* [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.
|
||
5 years ago
|
* You can find a genealogy of the bots around Varia in this footnote [^2]
|
||
5 years ago
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
5 years ago
|
### 15:30-15:45 - _bot as conductor or bot as conductive_
|
||
5 years ago
|
|
||
5 years ago
|
|
||
|
* create an account and [choose nickname](https://conversejs.org/fullscreen.html#converse/register ) on conversejs
|
||
|
* once you are logged in, join the group chat named botsofconduct@muc.vvvvvvaria.org
|
||
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
5 years ago
|
_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"._
|
||
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
|
Looking into the bots [examples](https://git.vvvvvvaria.org/ccl/bots-of-conduct)
|
||
|
|
||
5 years ago
|
<br>
|
||
|
|
||
5 years ago
|
**_name:_** transit.py;
|
||
5 years ago
|
|
||
5 years ago
|
**_action mode:_** announces when someone enters or leaves the room;
|
||
5 years ago
|
|
||
5 years ago
|
**_situation:_** finding non-verbal ways of communicating through presence and absence; making presence felt otherwise;
|
||
5 years ago
|
|
||
5 years ago
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
**_name:_** gather.py;
|
||
|
|
||
5 years ago
|
**_action mode:_** generates a shared language; it creates a collective document;
|
||
5 years ago
|
|
||
5 years ago
|
**_situation:_** a collective discursive setting that generates its own vocabulary;
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
<br><br>
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
**_name:_** greet.py;
|
||
|
|
||
5 years ago
|
**_action mode:_** sends a message when it enters the room;
|
||
|
|
||
5 years ago
|
**_situation:_** when there is a theme, for example: "send a reference to an existing or imaginary code of conduct, complaint, guideline, bug report, open letter, license or other social-technical protocol and explain why it is of interest to you."; how one wants to be introduced;
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
<br><br>
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
**_name:_** spark.py;
|
||
|
|
||
5 years ago
|
**_action mode:_** replies to a specific word; brings alternatives into the situation; tries to create new habits and terminologies;
|
||
5 years ago
|
|
||
5 years ago
|
**_situation:_** potentially in moments when a situation seems difficult and there is a need for more joyful interactions;
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
<br><br>
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
**_name:_** whisper.py
|
||
5 years ago
|
|
||
5 years ago
|
**_action mode:_** takes what someone says to it in confidentiality and echoes it to a group chat, thus anonymising it;
|
||
5 years ago
|
|
||
5 years ago
|
**_situation:_** there are remarks or complaints in the room, but the person does not feel comfortable to bring up the issue themselves;
|
||
5 years ago
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
5 years ago
|
Split into groups of maximum 4-5 (mixed interest in code).
|
||
5 years ago
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
5 years ago
|
**_BREAK — 10 minutes ;)_**
|
||
|
|
||
5 years ago
|
<br>
|
||
5 years ago
|
|
||
5 years ago
|
|
||
5 years ago
|
### 16:10-16:30 — _creating situations_
|
||
|
Imagine you are a collective-space with your group peers and you have been active for 5 days;
|
||
5 years ago
|
|
||
5 years ago
|
* **create a name for the chatroom:**
|
||
5 years ago
|
|
||
5 years ago
|
* or rooms /sites of action/ environments ..to open up the imagination of what a chatroom may be like!
|
||
5 years ago
|
|
||
|
|
||
5 years ago
|
* **imagine situations:**
|
||
5 years ago
|
|
||
5 years ago
|
* 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;
|
||
5 years ago
|
|
||
5 years ago
|
|
||
5 years ago
|
* **action modes: embody the situation through a conductor / conductive bot:**
|
||
5 years ago
|
|
||
|
* in relation to the situation, does your bot act as conductor or as conductive?
|
||
5 years ago
|
* 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);
|
||
|
* what apart from language can be used as a way of conducting? what other modes of non-linguistic expression?
|
||
5 years ago
|
|
||
5 years ago
|
|
||
5 years ago
|
* **further questions:**
|
||
5 years ago
|
|
||
5 years ago
|
* how could the bot be physically enacted? what gestures would it perform?
|
||
5 years ago
|
* some (non-exhaustive) attributes of bot behaviour: iteration, repetition, lack of memory, other temporalities (duration / tempo);
|
||
5 years ago
|
* will your bot perform in other space extensions? speaking to other (chat)rooms? to other spatial formats (file systems, like the gather.py which uses a txt file for adding words to a glossary);
|
||
5 years ago
|
* will your bot be a channel between private to public? semi-public to semi-public? semi-public to private? private to private?
|
||
5 years ago
|
* 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?
|
||
5 years ago
|
|
||
|
|
||
|
<br><br>
|
||
|
|
||
5 years ago
|
### _installing and running the bots_ (optional)
|
||
5 years ago
|
|
||
|
**For computers running Windows OS**
|
||
|
* install [Anaconda](https://docs.anaconda.com/anaconda/install/windows/) with python 3
|
||
|
|
||
|
**For computers running MacOS**
|
||
|
* open the terminal
|
||
|
* check which version of python you have:
|
||
|
> python -V
|
||
|
* if you have a python 2 version, you could install [Anaconda](https://docs.anaconda.com/anaconda/install/mac-os/) with python 3
|
||
|
|
||
|
**For computers running Linux OS**
|
||
|
* open the terminal
|
||
|
* check which version of python you have:
|
||
|
> python -V
|
||
|
> python3 -V
|
||
|
* if you have a python 2 version, you could install python 3
|
||
|
> sudo apt-get install python3
|
||
|
> sudo apt-get install python3-pip
|
||
|
|
||
|
* download the bots from this page
|
||
|
* go to the folder where you have installed them
|
||
|
* run the following commands in the terminal:
|
||
|
> pip3 install slixmpp requests
|
||
|
* to run a bot, you can copy paste the commands which are already mentioned in the bot file, but a general command looks like this:
|
||
|
> python3 bot.py -d -j administratorbot@conversejs.org -r botsofconduct@muc.vvvvvvaria.org -n bot -p testing
|
||
|
* where:
|
||
|
- j stands for JID (jabber id)
|
||
|
- r means room
|
||
|
- n stands for bot nickname
|
||
|
- o stands for for output
|
||
|
- . means here
|
||
5 years ago
|
|
||
5 years ago
|
* if you dont have a code editor, we can suggest (among others) [Sublime Text](https://www.sublimetext.com/)
|
||
|
* to install the conversations app on your phone, you could use either Conversations or [Quicksy](https://quicksy.im/) for Android phones (among others)
|
||
5 years ago
|
|
||
5 years ago
|
<br><br>
|
||
|
|
||
5 years ago
|
### 17:00-17:30 - _bot in the situation_
|
||
5 years ago
|
|
||
5 years ago
|
* experimenting with bots: either adapt the ones we provided (experiment with code) or enact the bots' behaviours iteratively (bot behaviour);
|
||
5 years ago
|
* bot behaviour: iterations, repetition, ...
|
||
5 years ago
|
|
||
5 years ago
|
<br><br>
|
||
5 years ago
|
|
||
5 years ago
|
### 17:30-18:00 - _discussion and performing_
|
||
5 years ago
|
|
||
|
<br><br>
|
||
|
|
||
5 years ago
|
### Footnotes
|
||
5 years ago
|
|
||
5 years ago
|
**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 own!**
|
||
5 years ago
|
|
||
5 years ago
|
[^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)
|
||
5 years ago
|
* https://gitlab.com/lidia_p/author-is-not-present/ (Bots by Lidia and Cristina, 2019)
|