Octomode

From Creative Crowds wiki
Jump to navigation Jump to search

Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.

Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa.

URL: https://cc.practices.tools/octomode/
git repo: https://git.vvvvvvaria.org/CC/octomode


Ongoing circulations

Octomode is strongly relying on (Ether)pad and shared habits of collective note taking in such collaborative environments. In the end, octomode is just a combination of a few free software tools, and we like to think of octomode as a boilerplate, that can be re-configured and re-transformed into other possible environments. It strongly learned from the inspiring work of the following projects:

Octomode is published under CC4r: please feel free to use, change, transform and republish into many directions, within the limits of the conditions formulated by the COLLECTIVE CONDITIONS FOR RE-USE (CC4r) license.

octomode instance maintained by version features code context
https://cc.practices.tools/octomode/ Creative Crowds (CC) CC main features https://git.vvvvvvaria.org/CC/octomode The CC octomode instance, used by us and a network of peers around us, including OSP, XPUB students, Pibliotheque, Varia and others; used for the making of zines, publications which are often personal projects, workshop outputs or sometimes also commissioned work.
https://circulations.constantvzw.org/octomode/ Constant technodisobedience main features
+ RISO color seperation, epub export, markdown import
https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ Constant's octomode instance as part of their SPLINT 5-year research trajectory and SPLINTER server, used for the making of zines, EPUBs and annual publications that document all their activities of that year, such as Techno-disobedience published in December 2023 and Otherworldly Communications zine published in March 2026.
https://octomode.hackersanddesigners.nl H&D CC main features https://github.com/hackersanddesigners/octomode (fork, no additional changes) The octomode instance of Hackers & Designers, used to make publications such as HD Bulletin 6 + HD Bulletin 7. Octomode was also used during a workshop at one of the HD summercamps, but I can't find it back sadly.
https://octomode.vvvvvvaria.org varia CC main features https://git.vvvvvvaria.org/varia/octomode This was octomode's first URL! Currently it's pointing to the Varia octomode instance, used by Varia members to make the SomeTimes (edition 1 5 6), write funding applications and reports, make zines and other things.
https://hub.vvvvvvaria.org/rosa/octomode/ ATNOFS CC main features https://git.vvvvvvaria.org/varia/octomode Octomode is part of Rosa's resonance board, the landing page of this traveling feminist server: The resonance board is a shared space which gathers and folds pads, messages and files hosted on rosa. On the resonance board you can start a new pad, use octomode, use the shared ile system, traverse the list of pads already created, read messages on the folding board, and browse the files that have been uploaded to the chapters folder. (link)
https://lepa.hackersanddesigners.nl/ H&D Learning Palestine main features
+ Markdown cheatsheet, Etherpad table of content plugin (documented here), impositioned PDF export
A custom Octomode setup for the group Learning Palestine, to support their (re)publishing efforts of texts "to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People", outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign. The project was presented during a HD Bulletin launch at Het Fort van Sjakoo in June 2025.
https://zine.luddite.tools/ The Luddite Academy/David Benque CC main features
+ patch for not working Etherpad URLs
https://codeberg.org/luddite-academy/octomode The project was [is] titled "The Luddite Academy" and proposed to bring the current resurgence of luddite theory and praxis to bear on the university's digital arts and humanities departments. (link)

How to use octomode?

If you want to work collectively on a PDF, you can make a new octomode environment here: https://cc.practices.tools/octomode/.

You can write any name of in the input field, this will be the name of the new octomode environment and pads that are used.

Note: When working with multiple people on one PDF it is recommended to use the same browser. CSS rules are rendered slightly differently on different browsers.

Working in octomode includes:

  • pad: all materials for the PDF are collected here. (written in Markdown)
  • stylesheet: all CSS rules for the PDF are collected here (written in CSS)
  • html: render the lay out as a HTML (rendered with PyPandoc)
  • pdf: render the lay out as a PDF (rendered with Paged.js)

When creating a new environment, a few things happen:

  • a pad is created for collecting the materials of your PDF. The name of the octomode environment will become the name of this pad. For example: https://cc.practices.tools/pad/p/NAME.md.
  • another pad is created for writing the stylesheet of your PDF. The name of the octomode environment will become the name of this pad, followed by .css. For example: https://cc.practices.tools/pad/p/NAME.css
  • If both pads were not created yet, a template is added to the pad. The main pad will get a Markdown template and the stylesheet pad a CSS template.

In case a pad was already made, you can copy the templates below and paste them at the top of your pads.

The PDFs are rendered using Paged.js, a free and open source JavaScript library "that paginates content in the browser to create PDF output from any HTML content. This means you can design works for print (eg. books) using HTML and CSS!" The project used to be maintained by the Coko Foundation but is currently on its own feet! Paged.js adds not (yet) implemented CSS rules to the ones that browsers implemented already, expanding the possibilities to make lay outs for specific sections, place content in the margins of pages, and render indexes (amongst other things). The Paged.js documentation is very helpful and can be found here: https://pagedjs.org/documentation/.

How to install octomode?

Installing octomode

CSS Print

Some CSS Print examples can be found at: CSS Print

Troubleshooting

At the top of the pad for content is a metadata block:

---
title: octomode
language: en
---

When things go wrong in situations when many people are working together, it is often that someone has typed something at the start of the pad before the metadata block, or there is some syntax error in the metadata block. For example, using two colons in the title field will make it break:

---
title: My cool title: and subtitle
language: en
--- 

The title is only there to make the name of the PDF file when it is exported, and the language can be set to something other than English. But this metadata must be there, and there must be three hyphens (---) opening and closing the metadata block.

Error log

For some adventures in Octomode, see the Error log.

Made with Octomode

A partial collection of zines, publications, sticker sets and web posters made with octomode.

The list is not complete, but that's also not the point. It is here to give an idea what kind of things are made.

And it's also here as an archive of the practices that have grown around octomode.

Versions of octomode

technodisobedience

2023

new buttons!
the publication in CK mode
the same page in MYK mode

The art organisation Constant in BXL makes a publication to document their activities of that year and in 2023 they worked around the theme of technodisobedience: https://circulations.constantvzw.org/pub/constant-techno-disobedience-2023.pdf

As part of the publication making and thinking, i (Manetta) was invited to work with Martino on a publishing workflow and printed outcome. We worked on some tools that we in the end awkwardly (but with joy) called AGGREGARIOUSLY SNOWPLOWING devices: a houtje-touwtje/cobbled-together workflow to publish snippets from pads (using snowpoles) continuously throughout the year (using an aggregator). We wrote about in the publication too.

In the end, this annual publication was produced with the whole Constant team joined by Alix Turcq and myself, using a customized version of octomode installed on their server. The publication was RISO printed at Chez Rosi (a sweet printing place in BXL) which was a reason to add a color separation feature to octomode (!).

The publication you are holding is instead the result of our step into octomode, a system that we trusted would allow us to have a publication for this year balancing collective workflows and experimental additions, but with a much more predictable timeline. In the case of this publication, we developed a custom version of octomode, that allows us to output different PDFs with color separation in view of our riso-printing at Chez Rosi in Brussel. To achieve the separation of colors, we made use of Imagemagick and a bunch of hacks in our css styles to make sure to generate both a riso simulation of the two color printing technique for the web version and the correct files to send to the risograph printer.

The code is stored as a separate branch called technodisobedience.

grilletti

2025

new octomode button: EPUB !!!
second step in the EPUB generation feature
another new octomode button: PASTE

During an italian hackmeeting the group C.I.R.C.E. laid out a book with octomode and did a short presentation on the process, "very beta".

A new button was added: EPUB (!), to generate an epub file directly from the octomode environment. When you click the button, it brings you to another page, where you can select a cover image before you generate the EPUB.

A second button was added too: PASTE, which seems to be a way to import markdown files from either your local computer, or stored online somewhere. Hmm!

The code will be pushed to the technodisobedience branch.

Learning Palestine

2025-2026

Hackers & Designers are working on a custom Octomode setup for the group Learning Palestine, to support their (re)publishing efforts of texts "to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People", outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign.

They started to collaborate with Hackers & Designers to see what role Octomode can play in this great initiative, and for this H&D is working on some changes and new features to how etherpads work within Octomode, which they published as a plugin here: https://www.npmjs.com/package/ep_markdown_toc and documented here: https://etherpad.hackersanddesigners.nl/p/ep_plugins.