As many people who know me intimately know, I’ve been tirelessly working on a project called Spaces.
I’ve been meaning to do a proper write up about it but I’ve been struggling to put together the right combination of words to explain it effectively.
Hopefully, this does an effective job of that however, if you have any further questions, don’t hesitate to reach out to me or reply in the comments thread.
What are the problems?
Corporate exploitation & value capturing
Communities are currently producing vast amounts of content, and large corporations are capturing that value.
They profit immensely from this through advertisements and various other mechanisms at the expense of those creating the content.
Once content has been created within a platform, it’s not easy to port it to other platforms; this is called vendor lock-in.
Often platforms will start off being pretty great, and then over time, more and more monetisation mechanisms come in place, which the community has no control over. Whether that’s through filling the site with advertisements, limiting the functionality unless you pay or a plethora of other devices.
Longevity of a platform
Platforms can also come and go in popularity, and when you have a closed ecosystem like this, it’s challenging to port your content to new platforms as they supersede the previous ones.
Technology is changing quickly, and the content you and your community create should evolve with the ecosystem rather than losing all of your content or being forced to stay with a particular platform.
Some startups even go bankrupt or discontinue services, so it can be challenging to trust where you’re investing all of your data. There have been many horror stories of families losing photo’s of young children due to photo storage startups going bust.
Community & collaboration
Many of these services don’t have adequate tools for real-time and offline collaboration, and it can be challenging to get a real sense of what other people in the community are working on.
Communities are currently using tools like Discord or Facebook to mediate the discussions. They have very powerful features on the authoritarian side for admins and moderators but lack the means for genuinely community-owned spaces.
Communities need effective moderation tools but often must trust that the community leaders will do what’s best for the community in the future.
Content creators and the surrounding community need effective tools to communicate with one another. Likewise, the surrounding community wants to feel connected to those creating the content and feel like they can contribute to it where they can and provide feedback & ask questions.
Many sites that allow you to create content don’t have adequate histories stored of previous versions. These tools are essential to enable users to properly moderate if someone has made offensive changes to a resource base in a community context. This is also useful if you’ve made a mistake and would like to revert to a previous version.
What is the solution?
Note: This project is currently a work in progress and has a long way to go.
Spaces is a social media platform where communities come first.
A space is a community launchpad for collaborative content creation and consumption.
Create together, collaborate with friends and allow your audience to feel connected to you and your process. Get feedback as you’re creating it.
Create content once and port it anywhere - with a robust API & hooks for actions taken within the space, it becomes an open ecosystem to share your content within whatever services you’d like.
Discovery mechanisms for public Spaces exist similarly to how you’d discover a group via search on Facebook. If you’d like to create a private Space for just you and your friends, you can do that too.
Spaces are designed to feel very responsive and present. Know when other people are in the room with you collaborating. Jump into real-time text or audio channels contextualised to what you’re working on.
It’s not quite there yet but the content itself should have contextual comments tied to it similar to Google docs.
The home page of a Space is a scrolling feed similar to a Facebook group with a content tab for content collaboration.
Add friends in the Spaces you join and invite them to new Spaces you create with the click of a button.
Keep connected to the people you care about regardless of how the social landscape changes.
Spaces is an open ecosystem which means that it’s interoperable with other social applications which people choose to develop.
Manage your profile so people can follow the content you create.
Host events so that members of the community can come together and have discussions.
A vault for your communities data
Services such as Contentful are robust headless content management systems that allow companies to create content and share it between multiple services. Their focus, however, is on services that a single organisation owns, and their monetisation models are costly.
Collaborative tools within contentful are also non-existent; you can’t see the changes that your teammates are making in real-time and don’t have a social context to go along with it. You can’t comment on their work like in Google docs or have audio channels like Discord.
The goal within spaces is that any member who has permission to do so within a Space should have the ability to create new content types. The creation of content types should be as simple as creating a new form in Google Forms.
Then for anyone viewing a space, all they need to do is click a button, and it creates a new instance of that content that is thoroughly collaborative.
Content types are defined by the community and are an open ecosystem. By default, it will support input fields ranging from short text, long rich text, dropdowns, images, videos & audio, etc. This is in no way limiting, however, and can be used for things like level editing worlds for online games, creating digital art together, making music or even writing code!
Level editing a community-owned metaverse
Communities often form on social sites like Discord. Still, the communities become beholden to Discord the company and its success, but they also need to trust the moderators/admins managing a space.
Spaces will provide the standard governance mechanisms that everyone is used to, such as admins and moderators. We will also be providing robust democratic tools to give more power to the communities and keep the moderators/admins in check. The preferences of a Space determine this, so some Spaces may be designed to be more authoritarian than others.
Use these governance mechanisms to choose which websites & apps have access to the content you create and retract their permissions if you disagree with something the service is doing.
An example of this is when Speedrun began flooding the website with advertisements or enabling comment feeds that moderators couldn’t disable or moderate properly.
This kind of mechanism would allow you to easily pull content from sites when they aren’t fulfilling your communities needs.
Built into this model is an ability for communities to monetise the content they create. So, for example, if you choose to share the content you’ve made on a centralised distribution site, you can require those sites to pay for the content they use each month.
This means that the community can get proper recognition for their contributions and financially benefit from them.
Spaces is being built on top of a distributed database called Redwood which features Double Ratchet Encryption (The same kind of encryption that Signal uses). This means your communities data is private by default; you no longer need to be concerned that targeted advertisements are manipulating you or that your data is being sold.
The project is open-source and extensible, so if there’s anything you don’t like about Spaces, you can fork it and run your version of the site! The versions you host will be interoperable with the official Spaces site and its user’s.
P2P data storage
The website just acts as a magnetic link similar to if you’ve ever used a torrenting site, then you connect directly to your peers in the community. No additional configuration is required, such as plugins; it works in your browser by default.
The default option is to store your data within vaults hosted by Silicon Jungle; however if your community wishes to put in additional effort to host your own data, or you choose to host your data with a competing service, you are free to do that.
You also can disable persistent storage entirely and only have access to changes when other members of your community are online.
Offline first & collaborative
This allows Spaces to work while offline and sync your work together when you come back online.
API driven Spaces
The Spaces you create will generate a robust API that will allow you to drive both content creation from external applications and the distribution of that content.
This will enable an ecosystem of tools to pull content from centralised services into Spaces and then distribute it to services via their API’s.
It will also allow people to write plugins for tools like Unity & Photoshop so that they can share the content they are creating in professional tools with their communities.
Websites like Speedrun Academy could act as search engines over the content that people choose to submit to Spaces.
Community-centric moderation tools
Community moderation is important to avoid inappropriate content from flooding your Spaces. Therefore, Spaces will feature, rich tools for ensuring that the content created within a Space meets your community's guidelines.
Moderation shouldn’t only fall onto the hands of the admin’s and moderators, so robust tools for reporting will exist for regular members as well.
What can I do to help?
Sharing your thoughts
I don’t know all the answers - I’d love to hear any feedback you have! Love it? Hate it? All feedback is welcome. Have a specific use case you’d like to use it for but aren’t sure if it will fit your needs? Reach out and we can discuss it. :)
Help get the word out
Spaces can’t exist without the communities that use it. If you know a community that would benefit from the platform, please let them know.
If you’ve got design, development or community experience, I’d love to chat. The more hands that can get involved, the more likely the vision will be realised.
Earlier this year I left my corporate job to pursue the development of Spaces but I don’t have very deep pockets, so my current situation isn’t sustainable.
If you believe in this project, donations of any size are appreciated.
All donations will go directly towards supporting its development. If I can garner enough support, the funds will go towards hiring other developers to help flesh out the platform.
If your business benefits from the open-source tools I create, donations will improve the quality and quantity of them.