We are producing open source experiments into what you can do with real-time collaborative documents beyond just writing docs - in particular, we're looking at how documents can be used as community spaces, where many people come together to create a shared, dynamic resource.
Features we are building include integrated video & chat, embedded multimedia & livestreams, user profiles, views & filters, email subscription, integrated monetisation, and more!
We took Etherpad, a venerable and popular open source collaborative document framework, and have been developing a suite of open source plugins providing a variety of functionality that people can mix and match to create new types of community spaces based on documents.
The core mvp of docs.plus is a familiar collaborative doc experience with a legible URL and share image so that it works nicely with social media. If you're trying to build a community around a document, this is already a big improvement on existing platforms! For example, docs.plus/sweets will take you here:
We polished a lot of core document features such as embedded links to bring them closer to modern user expectations, and fixed a load of bugs. We also developed a basic mobile experience, which we intend to come back to and improve in future.
Collaborative documents can now support their creators! etherpad now has a coil plugin, so the community can support hosts of community sites just by using them. We also created a simple banner feature, which can suggest contributors become members of coil, or point to some other donation platform like open collective.
A community document is a place where you'll bump into people you don't know, not a typical experience with documents! docs.plus allows users to make email verified user profiles, which can then hook into other features like chat, video, and document history. We found that seeing users' avatars was very important to make a document feel like a living space.
Communities start out small, and grow in size and complexity over time. A great feature of community documents is that they can do the same, i.e. grow organically as the community grows. Furthermore, we discovered that headings in a community document tend to reflect natural subgroups in the community itself! We took this to the next level and built infrastructure to allow us to integrate rich features into document headings:
This can be used in all kinds of ways, for example:
docs.plus doesn't just have integrated videochats... every heading in the document has its own videochat! This takes the video functionality from being enough for one group, to being enough for a whole community as it grows. Individual community members can split into the room discussing the topic they're interested in, and work on it simultaneously, fully integrated in docs.plus.
These text chats are persistent, part of the document. In the next few weeks we expect to roll out all the expected rich features such as emoji reacts, rich content, @tagging and - most crucially of all - push notifications. We believe that push notifications will be the key to community retention.
Another way to think of headings-as-chat is as if Slack's channel list was a document instead, with document headings as channels. All channels are self-documenting, and all parts of the document have built-in channels!
This is the next major feature on our roadmap, and it tackles the problem of what happens when documents/communities get large. Large community documents tend to take the form of sets of lists. Filters will give you the ability to use a document with all the sections that are irrelevant to you hidden away; for example, you might want to only see the parts relevant to your location. At the same time, it should look and act like a familiar real-time collaborative document. This has both tricky technical and design challenges, but will create lots of new organic ways for communities and their knowledge bases to grow.
Most online spaces use a simple governance model of a class of administrators who have total dictatorial power. When communities want some other form of government, such as ones that take many members' opinions into account or that distribute power in non-trivial ways, communities must create external processes to support them, which tend to be onerous and vulnerable to interference. We're excited to work with the Social Futures Lab at the University of Washington to integrate their project policykit, which allows communities to develop their own models of governance in a modular way that can evolve over time.
Overall, we are very excited about docs.plus, even though progress over the grant period has been less than we hoped. We have improved a bunch of underlying infrastructure, shipped several difficult features, the product is now in a great place to do live demos (try it out!), and we have made good progress on some properly exciting new features that should be going live in the next couple of months, which will take us close to being feature complete.
However, we had originally intended to do a public beta launch early in 2021, and this has been delayed for a few reasons:
One of the team has been suffering from long covid for a few months, which has delayed a lot of comms work. Happily they seem to be improving, but it seems the effects of a global pandemic are hard to avoid! Sadly everyone in the team has faced difficult circumstances, including a few bereavements.
We discovered an unexpected technical limitation to do with scaling real-time for many simultaneous users. Essentially we encountered the limits of websockets, and had to build something that allows clients to connect to the server with multiple websockets at the same time. Happily this is now up and running and seems to be working pretty well, but gave us persistent hard-to-diagnose issues with stability that stopped us from properly supporting any real users, and finally took a couple of months to fully solve.
We had to do more work than we expected improving and fixing various basic document functionality, such as embedded URLs, images, and cut & paste. Users generally take these things for granted and a document platform that doesn't have them feels a bit broken. Ultimately we don't consider working on these to be a waste of time, as they're now available for the whole Etherpad community to re-use, but it wasn't very exciting!
Etherpad itself had a rare significant update, so we had to do some extra work to make all our plugins compatible with the latest version. The update made lots of useful improvements that will make our future work easier though, so we're very grateful!
Given the sudden transition to remote working this year, we decided early on to prioritise integrated videochats as an eye-catching feature. This proved much more difficult than we assumed! While it's not so difficult to set up a very basic video experience, offering video that's robust enough for users to accept turns out to be very challenging. There's a reason Zoom is top dog, and we have developed a new and profound respect for what they must be doing under the hood to make their group video calls be so stable.
Having said all this, we've managed to run a few successful events on the platform, and we are in fact supporting one proper live project, which is the Democracy Handbook from The Centre for Democracy, who have bravely volunteered to start using our unfinished project for their community knowledge base! This project aims to bring together all organisations in the UK working on democratic reform by acting as a library of projects and research.
We plan to do a public beta launch once we've deployed push notifications and filters - we consider these to be essential to the community document experience, as well as things that very clearly differentiate docs.plus from existing platforms. They're well underway, and should be done within eight weeks at most.
In the meantime, we're looking to work with more early-adopter communities that would be interested in trying it out. We are currently talking with TechForGood Organisers UK, and DataKind for their Library of Social Sector Data Initiatives. If you're interested in setting up a community document like this, do get in touch!