Spacetube Feature Priorities

Spacetube is a communication tool that groups use to talk to other groups. A group installs it on their chat platform, and can then open tubes to other groups by sharing a code through an existing communication channel.

The first version of spacetube has been built and I am currently in the process of selecting the best place to focus my attention in the next phase of development. The aim is to get Spacetube into a position where it’s used by real groups for a real purpose, then adjusted to suit their needs over time.

At the end of 2023, I conducted a user research exercise where participants played a game using Spacetube. Their feedback was collected in a set of user interviews (interview output here).

Current status of Spacetube Analysis of User Research Feature Priorities Feature Candidates Documentation Richer Events Group Interaction Refined User Testing Grouptalk Modes Web Interface Security Self-hosting Support Tube Settings Immediate Needs Explanation Simpler Spacetube Set-up Grouptalk Affordances Summary Appendix Pseudo-Users Group Preparation Technical Debt Platform Integrations

Current status of Spacetube Spacetube consists of: * A Matrix appservice that can be self-hosted as an appservice on a group’s matrix homeserver. * A web application that displays a visual interface of a spacetube connection. * An API that supports the web application and basic bridges to Discord and WhatsApp. * A website with links to the instructions on the github repository and an early introduction post.

The appservice has the ability to connect 2 or more Matrix rooms to each other and forwards messages from one Matrix room to the other room(s) on behalf of the entire group. Analysis of User Research This feedback came from the user interviews (interview output here) and discussions with other domain experts and stakeholders.

What came up most often was the need for more guidance on how to think about spacetube and how to use it. I’ve labeled this as the need for more effective explanation.

It also came up that spacetubes could be easier to set-up, that they were still in the domain of the “technical user”. I’ve labeled this as the need for simpler setting up of spacetubes.

Finally, the dynamics of group communication came up, and the necessity for some kind of sense of how the group was “supposed” to interact using the new tool. This could require a mixture of mimicking the existing ways of producing group statements and investigating other modes of grouptalk (the composing of messages sent from a group). I’ve labeled this as grouptalk affordances. Feature Priorities The first long list of feature candidates are all the possible improvements and additions that have been suggested so far, as best as I can recall and compile from my notes. After the long list, I expand three pieces of work that relate most closely to the needs identified in the user research. Feature Candidates These features are grouped by category, but aren’t ordered by priority in any sense. Documentation * Diagrams, videos, start-up guides * Demonstration groups that users can join to experiment with the tool

Richer Events * Images, including profile pictures for bot interactions * Polls and proposals for many-group spacetubes. Group Interaction * Pseudo-users as a tool for user experience evolution * Social techniques to ready a group for spacetube. * Visualising masks and choruses for group personas. Refined User Testing * Alter the game played with the synthetic groups. * Trial the group formation exercises. Grouptalk Modes * Speaking stick * Quorum for approval * Designated ambassadors * Designated drafters and approvers Web Interface * Manage invites and tube creation * View all spacetubes you have access to * View the connections of the spacetube * Visual signifiers of grouptalk mode * Change tube settings Security * End to end encryption support. Currently spacetubes can only use private matrix rooms, rather than encrypted ones. Self-hosting Support * Docker image for those using docker for matrix hosting * AppService installation guide Tube Settings * Spacetube help command * Assigning pseudo-identities to connected groups * Tube behaviour e.g. “Forward all”, “forward using command” * Selecting grouptalk mode Immediate Needs Of the above list, I’ve identified the pieces of work that could best address the immediate needs as outlined in the user research analysis.

To recap those three needs were: * Explanation of what spacetube is and what it does * Simpler and clearer group setup * Grouptalk affordances that are close to what users are familiar with. Explanation This involves diagrams, analogies, videos, examples and any other way to explain what the problem is that spacetube sets out to solve, and the way that spacetube accomplishes it.

I have a set of diagrams already drawn on paper that I used in the development of spacetube to keep track of where messages were and what the various appservice-controlled users were supposed to have access to. I can adapt these drawings for the documentation.

The output of this will be comprehensive instructions and user information on the spacetube website. Simpler Spacetube Set-up The current system of setting up a spacetube, while less involved than it used to be, could still be simpler and easier.

The web interface has the most potential to be user friendly, because it has the most latitude for customisation i.e. there can be buttons and labels for specific functionality. This piece of work is defined as enabling a user to go through the web interface to create tubes and invite other users into the rooms.

The interface can also create a link for a user in a different group to minimise the amount of set-up on their end.

The initial user can also have the option to send invites via matrix user id. Grouptalk Affordances From the user research a few options for how to manage the grouptalk came up.

These modes can be selected from when a group is first created and switched between by a group admin in the tube settings. Summary The user analysis and domain expert interviews were very helpful in determining the next pieces of work that spacetube should engage in. Documentation, enabling less technical set-up and developing the grouptalk system further were identified as the priority pieces of work.

Once this work has been completed, I will return to the question of what would best serve the users and potential users of Spacetube. Appendix Some other items that came out of the user interviews or development experience that could be expanded on. Pseudo-Users Necessity for single-threaded groups. Many chat groups are single-threaded for whatever reason.

Can also make it easier to understand what’s going on, if you can address the pseudo-users, or predict how they’ll act on your behalf. “Ambassador” rather than “tube-service-bot”. Or sending a message that starts with @groupname rather than !spacetube send Group Preparation The group formation interview was very interesting. This is a new way of communicating and people need some guidance on how to proceed, especially if they’re mindful of their status within a group.

Group formation techniques, set-up instructions for the human element of spacetube i.e. developing group voice and personas. This is mostly informed by the interview with Chris, which I can summarise as: * Sharing individual starting point * Building the habit of listening * Discussing the group dynamic * Agreeing a communication plan

A template could be provided of what to talk about as two groups, with prompts to suggest avenues the conversation could go down. Group conversation being somewhat new, I will look into existing ways groups interact, most of which are formal agreements or co-signing statements and partnerships.

Group Formation and Preparation * What is our group? How does our group speak? Who wants to be a spokesperson? How do people feel about having a spokesperson? * What is the happy version of our group? What is the servile version of our group? How does our group act when it’s energised? How does it act when it’s depressed?

This system is intriguing but also socially innovative as well as technically innovative, making it riskier to pursue at the same time. Technical Debt There’s two ways I can identify that the actual software could be improved, making the developer experience faster and less error-prone: * Rewrite the app service and web application using TypeScript and React * Add unit tests Platform Integrations There has been existing work on platform integrations, namely discord and whatsapp. With spacetube currently an experimental system, it makes more sense to focus on the core features within the matrix ecosystem. It also aids the development of open source systems more to add features to them, rather than closed systems.