Eccentric: A digitial, asynchronous, collaborative workspace

Eccentric: A digitial, asynchronous, collaborative workspace

Eccentric

the current version of the app can be found at https://hyphacoop.github.io/restructuring-futures/

Eccentric (prototype name) is a digital, asynchronous, collaborative workspace designed for cultural production. It’s a space to make and share works in progress and to receive feedback from others in the form of voice notes, images, text, and through several other commonly used file formats.

Artists too often work within digital systems that they play no or only a small part in imagining and designing. The platform is an effort to address this reality while being both functional and an artistic creation onto itself. The project is a partnership between UKAI Projects and the Laboratory for Artistic Intelligence with Hypha Worker Co-operative as a technical partner.

While most digital solutions are designed with efficiency and scale in mind, we have prioritized resiliency to anticipated ecological and political disturbances. UKAI Project’s mission is “culture for what’s coming” and we see this work as a response to current and future failures of centralized systems, rising authoritarianism, and climate-related disasters.

These disturbances are already happening in parts of the world, and Eccentric is an effort to support those experiencing this volatility and provides those in more secure environments with opportunities to imagine and inhabit future states.

  • What are the challenges of working with artists and cultural producers experiencing ecological disasters and/or political authoritarianism?
  • How do these challenges prefigure the kinds of barriers we will more broadly experience in the coming years?

How does it work?

Eccentric is a browser-based prototype application that provides a new kind of collaboration tool for cultural producers. The application is built using Earthstar, a “small and resilient distributed storage protocol.”  This means the application includes some of the affordances of peer to peer (p2p) technology, while eschewing others in favor of a more accessible tool set. For instance, Eccentric is offline first, and stores all data in your browser. This allows you to create work on your own computer, and then to share it with others via a common workspace once you’re connected to the Internet again. However, unlike a purely p2p application, Eccentric relies on a central server for syncing files, which improves file accessibility by not relying on all peers being always available.

You can use the app as it is, but if you want to have your contributions sync across devices, the administrators will need to add your studio and other locations as known instances (or you can do this yourself - see below). Ideally, you'll get your public and secret keys for your space(s) from UKAI or your administrator and they will have done that work for you already.

Below, we describe a few routes for setting up and running the prototype application to share and collaborate on files, e.g., during a workshop, residency, or for a small group of ongoing collaborators. If you’re unsure about the terms or how Eccentric functions, skip to the Glossary at the end of the document.

Note that the current application is an early release, and this documentation reflects the prototype as it appeared in early 2024.

How are things set up?

In Eccentric, work happens in ‘studios’. A studio might be accessible to one person, or to several people. A special kind of studio, the ‘commons’, serves as a public area where work can be shared, commented on, and explored.

You can move objects (different file types) from a studio to the commons, and it’ll be there for a while but will eventually degrade. While in the commons, objects go through four phases, much like seasons, and just like seasons, there are some activities that are easier than others:

  • Phase 1: Spores: lots of ideas, ‘what abouts’, and sudden shifts
  • Phase II: Emergence: help it grow, make it everything it can be
  • Phase III: Epic: prepare it for the world
  • Phase IV: Fizz: express gratitude, store what remains and prepare to say goodbye

Introduction

Welcome to Eccentric, a space conceived in response to the often invisible and taken-for-granted architectures of digital interaction. We invite you to make, and share, and collaborate. We invite you to contemplate the underlying systems that shape our digital experiences.

Most platforms are built on assumptions of efficiency and scale. Most take for granted that our digital experiences should be smooth and always available. Companies need platforms that are profitable and that grow easily. However, we are curious about other values at the center of technological development, and Eccentric explores ideas of resilience, ephemerality, and dialogue.

The foundation of Eccentric is Earthstar, an offline-first database designed to empower individual agency and real-time collaboration. Unlike traditional platforms that centralize and seek control, Earthstar democratizes data creation, storage, and sharing. Here, your data is yours and yours alone—yet it can be tangled up in knots and webs of shared knowledge and creativity.

By joining us, you're entering a space where:

  • Collaborative works exist in asynchronous harmony.
  • Infrastructure isn't merely a tool but a subject of contemplation and re-imagining.
  • The emphasis isn't on size or speed but on depth, diversity, and dialogue.

This platform is part of an ambition to not only anticipate but shape “culture for what’s coming”. Our world is grappling with climate uncertainties, rising authoritarianism, and an overwhelming reliance on corporate platforms. Our answer is this space—a collaborative canvas that is messy, often inefficient, extremely resilient, and hopefully, a bit more human.

Broad Themes

Where did Eccentric come from?

The virtualization of operating models often obligates artists to work within corporate platforms whose values contradict their own. They lose control over how their work is presented, the economic models that inform production and dissemination, and the data generated throughout.

Moreover, platforms overwhelmingly elevate the moral positions of the societies they inhabit.  Ideas of efficiency, control, and size are valued. Other ideas, such as compassion, wonder, or reciprocity, are excluded. 

The dominance of ideas of efficiency, control and size have contributed to climate harm, rising authoritarianism, and increasing isolation. Over five decades, the cultural sector has absorbed these values and increasingly mirrors structurally the harms it addresses through the artwork it commissions.

Many are curious about other approaches. but entry into these highly technical or specialized communities can be difficult and confusing. UKAI Projects, the Laboratory for Artistic Intelligence, and Hypha Worker Co-operative have developed this working prototype as a bottom-up experiment in new ways of producing culture that maintains a loving, sideways glance on a future that will certainly demand different infrastructure and different attitudes about the why and what of making culture. 

Solutions are required that allow for artists to participate in economic structures that align with the values that inform their work. Technical direction in the project aimed at virtualizing embodied creation among artists and sharing voices through decentralized means. 

Qualities of Eccentric

Infrastructure Visibility:

Aesthetics of Decay: To highlight the idea that infrastructure is a series of choices over time, objects placed in the commons will degrade over time, just like physical infrastructure.

Transparent Layers: Underlying code and mechanisms are visible wherever possible, allowing curious users to understand how this infrastructure works.

Poetics of Infrastructure:

Soundscapes: The aesthetics of digital infrastructure favors the smooth and surface-less. We have incorporated visual and audio elements that suggest activity but also allow for uncertainty.

Narrative Footnotes: Each media object has a backstory or "historical footnote" that delves into its creation, changes, and movement over time. Culture products and cultural infrastructure have histories and are filled with often-invisible stories.

Polyphony and Architectonics:

Multi-voiced Narratives: Responses and interactions are preserved in each user's unique voice. Responses accumulate over time and contribute to a “whole” that is a cacophony of parts.

Harmony through Discord: We emphasize the beauty of dissonance. When multiple users interact with a single object, interactions overlap, creating a cacophonous yet harmonious effect. The issues that we are dealing with are messy, and a process of creation should reflect this.

Challenging Efficiency and Scale:

Deliberate Slow Zones: This platform is designed for resilience, not efficiency. It is built to endure ecological and political volatility. Let’s hope that this depth of resiliency isn’t necessary, but it exists as a reminder of the limits of size and speed as organizing moral positions.

Small Is Beautiful: We celebrate small interactions and micro-communities within the platform. It is a home to the hundreds of small moments that are essential to creation. 

Eccentric is more than a place for collaboration, but also a reflection on how we interact with and understand the infrastructures in our lives currently and in response to what’s coming. 

Eccentric: Documentation

Application Diagram

 

 Image 1: High-level overview of the prototype application

Setting up for a workshop or online residency

The commons and studios are collectively known as workspaces. Workspaces are tied to your browsers’ memory. So, if you change browsers, delete your browser cache or computers, you need to have downloaded an archive or be running your own server to take the data with you. Always keep a backup of all keypairs of your workspaces and aliases. See also Shares in the Glossary below.

There are two options for setting up shared workspaces (studios and/or commons) for your workshop/event/residency; the first is easier because you skip the step of running a local version of the application and just use the existing version of Eccentric to power your collaboration.

A feature of the underlying protocol is non-discoverability, so even if you’re using the Eccentric application, no one else can find or see the workspaces you set up (unless of course you share your address and secret with them). So, there is no ‘Big Brother’ type of centralized administrator watching how you’re using the application.

A note about secrets: anyone with the secret can access (read and write) to your studio. There is no way to undo or remove access once a secret has been given out so keep these safe if you don’t want to have to abandon a compromised studio.

Option 1: Simple collaboration

  1. Go to https://hyphacoop.github.io/restructuring-futures/
  2. Navigate to App customization -> Workspace settings.
  3. At the bottom of this screen, generate a new workspace key pair that contains the name ‘commons.’ This will generate a workspace where the artefacts are ephemeral and will decay and disappear over time

Image 2: Creating a new Commons workspace; repeat the same process to generate a studio space.

 

  1. Generate a new workspace keypair to serve as a studio or private workspace. These can be called ‘studio’ or anything else you’d like to call them. However, it cannot contain the name ‘commons’.
  2. Create a server that will allow collaboration on these shares. The easiest way to do this is to follow the instructions for setting up a Glitch server. (more info is provided in the Setting up a Server section below).
  3. Add all workspace addresses to the server’s known_shares.json file.
  4. Copy the server’s sync address.
  5. Navigate back to the applications, and the App customization page. Under Server settings, paste the address of your newly created server.
  6. Go back to Workspace settings, and generate invitation URLs to the newly created spaces
    1. There is also a script here that allows you to batch create these
  7. Share the app link (https://hyphacoop.github.io/restructuring-futures/) and the invitation URLs with your collaborators. This can be done via email or secure messaging app such as Signal.
    1. You will have to send each collaborator an invitation URL for each Commons and Studio workspace. An invitation URL contains the server address and the workspace keypair (the address and the secret!). You will need to do this for each workspace you want to share.
    2. Send your collaborator this document so they understand how to generate aliases and add workspaces, as these will be their first steps in the onboarding process.
  8. Share an introductory artefact in your new Commons welcoming people to the workspace.
  9. Ask your collaborators to post an introductory artefact to the commons once they are up and running.

Option 2: Custom collaboration

If you want to have more fine-grained control over your workspaces, and ensure they’re saved locally (without using the archive function) you can set up and run a version of the Restructuring Futures app locally, plus set up a server to collaborate with your coworkers.

To run the application locally

  1. Download Node
  2. Clone the repo: https://github.com/hyphacoop/restructuring-futures.git
  3. Run the commands:
    1. cd svelte-app
    2. npm install
    3. npm run dev

The app’s default workspaces and server addresses can be edited in the .env file located in the svelte-app folder if you want to use your own settings.

Collaborating in an offline-first context

Working on a local network adds complexity in terms of running a secure environment with regards to browser security.

For such a collaboration context, you might want to use the pre–built electron apps available on the v1 release page.

You can instruct participants to download the apps in advance or host a local python server to allow users to download these builds during the event.

No matter if you run the app locally or via the pre-built electron apps, you will need a server to collaborate with others.

Now you need to select a server option; you can run a cloud-based server such as Glitch, or you can run a local server. See the next section for more information about these options.

Setting up a server

Restructuring Futures relies on a centralized server to ensure everyone can access the shared data, even when some users are offline. Although the documentation is written with the assumption that a knowledgeable admin will set up the server for users (for your group, project, residency or what have you) there are two options for setting up a server yourself:

    1. Use a freemium server such as Glitch or Fly.io. There are easy to follow instructions for setting up a Glitch server on the Earthstar repo or the Fly.io server template
    2. Run your own local server. This is a better option for those who have a bit more technical know-how and are familiar with basic sysadmin work

      Once you are running the application locally and have set-up your server, add your server by following steps 8-12 of the Simple Collaboration above.

      Customization options

      You can also customize the look of the app e.g., change the icons, or style via CSS.

      Custom Icons

      Icons path are set in the icons.js file: https://github.com/hyphacoop/restructuring-futures/blob/main/svelte-app/src/lib/utils/icons.js

      1. Add new icons to the svelte-app/dist/assets/icons folder etc.
      2. Set the filename paths to the icons to match the new icons in svelte-app/src/lib/utils/icons.js
      3. If you want to change the name of the image arrays, you will also need to update these references on line 8 of svelte-app/src/lib/Artefacts/Icon.svelte

      Customizing the Commons

      The Commons is the space with multiple phases of ephemerality. You can change the name, colour and duration of these phases in the following file:

      - svelte-app/src/lib/utils/constants.js

      The number of phases do not matter as long as each of these arrays contain the same amount of items.

      Editing CSS

      Global fonts, colours and other styles are set in the main app’s CSS file: svelte-app/src/app.css

      The app is built with Svelte.js. As Svelte uses a component-based architecture, styling is scoped at the component level. When running the app locally (with npm run dev), you can look at the source code in the browser’s dev tool and find specific components under this format `<!--<ComponentName>-->`. This allows you to find specific components and customize them to your needs.

       

      Glossary

      Alias

      Your alias is the identity you assume on Restructuring Futures when interacting with others. There are two parts to the alias: one is the address and the other is a secret. Both pieces are required to write to the workspaces in your browser's memory. The alias functions like an authorship stamp; your alias is included in the metadata of every artefact that you create. You can edit your alias under ‘manage alias,’ which allows you to change the first four letters to something you can easily remember.  If you intend on using the same alias consistently, it is important that you keep it safe in an offline folder. You can do this by downloading your alias as a JSON file and saving it to a local folder. Also see identity

      Artifacts

      These are the digital objects you upload and place into your workspaces. Restructuring Futures accepts the following file types:  jpg, .png, .txt., .md, .mp3, .ogg, .wave, .pdf. When you upload a file, it is “time stamped”; this metadata appears in the left-hand panel of the artefact viewer. Artefacts are known as documents in the Earthstar lexicon.

      Commons

      The Commons are Restructuring Future’s publicly available, shared workspaces. They can be used for presenting your work and gathering feedback. Typically, each project or group (or server instance if you’re setting up your own) will have one Commons, but it is possible for participants to generate and share out additional Commons workspaces via the Workspace Settings option if you are running your own server. Artefacts placed in the Commons decay over time and eventually disappear after a full lunar cycle. The Commons has four phases, each of which is represented by a different coloured background:

      1. Spores; tan background
      2. Emergence; green background
      3. Epic; pink background
      4. Fizz; blue background

      All artefacts placed into the Commons from the studio begin their stay in the spore phase. As the artefacts mature, they move into subsequent phases and can only be interacted with (i.e., viewed or clicked) in their current phase. Traces of artefacts linger in each stage, but these ghosts are beyond our reach.

      Documents

      “The unit of data storage in Earthstar, similar to a document in a NoSQL database. A document has metadata fields (author, timestamp, etc.), a text field, and optionally fields describing an associated attachment.” In Restructuring Futures, documents are represented as artefacts and replies.

      Earthstar

      Earthstar is a protocol built for sharing data amongst small groups of people who are not always connected to the Internet. For the Restructuring Futures project, we have renamed some elements of Earthstar’s infrastructure and obscured others in the interest of making it a bit easier for users. Here is a guide to how we have translated Earthstar’s architecture to RSF.

       

      Earthstar term

      RSF term

      Shares

      Workspaces; either a commons workspace or a studio workspace

      Replicas

      Local copies of the workspaces that live just on your computer; in Restructuring Futures, these are the files stored in your browser

      Server/Replica server

      Either a local server (just on your computer) or a cloud-based server such as Glitch or Fly.io.

      Documents and attachments

      Restructuring Futures collapses both of these elements into artefacts; they are the files that you upload, and can comment on/reply to

       

      Identity

      This is the term that Earthstar uses for aliases. From the Earthstar documentation: identity is “a keypair which writes documents to a share. Identities are identified by an ed25519 public key in a format called an identity address. It's safe to use the identity keypair from multiple devices simultaneously.” Technically, the identity is made up of the two parts: address and secret. Restructuring Futures offers the option to save your identity as a JSON file to keep things simple. See also alias.

      Keypair

      In public key cryptography, a key pair refers to a private key and a public key that are mathematically linked to each other. Public keys are used to encrypt data; the private key of the key pair is used to decrypt that data.

      Server

      Earthstar, the protocol that Eccentric Networks is built on, is not truly peer-to-peer as it relies on a centralized server to ensure participants in the network can access shared data. This avoids the issue of requiring peers that are always available to share data; this is especially an issue with small groups of collaborators who are not always online. The current prototype uses a fly.io server. In order to create and share workspaces with others, you can either use the app or you run your own server. There is a template for running an Earthstar server on Glitch.

      To collaborate with others in a studio that you (and not the Restructuring Futures admin) have created, the server needs to know its workspace address. This means you either need to spin up your own server or communicate the workspace address with the server admin in order to view other’s artefacts.

      Shares

      The key organizing element of Earthstar, shares are essentially a database. They are “a collection of documents… are separate, unrelated worlds of data. Each document exists within exactly one share.” See also workspaces.

      Share Addresses

      The public key of an ed25519 keypair. For example, we have been using this public key/address for the default Commons:
      +commons.b7q4gt64yiefosdafnmhvtxz43akzk6gw54aesdahtf4kdgpbyeia

      Secrets

      The private key portion of an ed25519 keypair. Giving someone the secret related to your studio or commons allows them read/write access to that workspace.

      Replies

      Your space to comment on artefacts, or to just chat with others in the shared workspaces. Replies take the form of text or voice notes. Replies move with an artefact, so if you are having a private chat with someone in your studio, and move that artefact to the Commons, all replies will move too. The small icons orbiting an artefact indicates that it has replies. Replies are documents in Earthstar parlance. See also documents.

      Replicas

      Your local copy of the share/workspace; think of it like a local copy of a database. Within Restructuring Futures, replicas sit within your browser's memory.

      Studios

      Your primary and private workspaces. Typically, each person will be given a private studio to work in by the Restructuring Futures admin. It is up to you whether you keep this space to yourself or share your secret with others and allow them to collaborate with you. Creating studios by yourself means that they will only be in your browser memory. There is also the option to archive your studio by downloading it, via the ‘back up this studio’ button.  See servers for more information on this and how to create shared studios.

      Timestamps

      This is used to order artefacts, so that Restructuring Futures can tell when it is time for an artefact to move to the next phase of decomposition (e.g., from epic to fizz) in a commons. This information is displayed in an artefact’s metadata in two ways: in the phase countdown, and as a date stamp for when the artefact was created in the studio. If you move an artefact to the commons, it gains a new timestamp.

      Path

      Artefacts are stored at a specific path. Much like a file directory address on your computer, it tells you where the object is located. The location on the grid is contained in the path and can be viewed in the artefact metadata panel on the left.

      Permissioning

      Another way of thinking of permissioning is access and sharing, and this is regulated by keypairs. You must have both halves (the address and the secret) to read and write in any given workspace.

      Workspaces

      The commons and studios are collectively known as workspaces. Workspaces are tied to your browsers’ memory. So, if you change browsers, delete your browser cache or computers, you need to have downloaded an archive or be running your own server to take the data with you. Always keep a backup of all keypairs of your workspaces and aliases. See also Shares.

      Back to blog

      Leave a comment

      Please note, comments need to be approved before they are published.