Thanks to Sarven Capadisli’s prompt on solid/chat, I have scraped more of the Solid community for motivation and prior work on this area. I’m sure the references below are not yet comprehensive, but it’s a start.
Support for live collaborative editing of Pod data in the corpus of documented use-cases and requirements is found only in allusion, and not called out as motivating for the Solid specification. However, engineers have made calls for patch-passing data distribution mechanisms, for strong reasons which do include enablement of user features. This is a disconnect.
There is an accelerating trend towards remote collaboration in software, including live collaborative editing becoming table stakes for many kinds of user content; as well as version control with branching and merging, for others. I think engineers are aware of this, but it’s hard to capture feature requirements for new applications that users don’t have in front of them yet. This is especially a problem when other motivations for patch-passing are to do with performance and resilience, things that are only perceived by the user when they’re broken.
As a developer, I want to be able to subscribe to a stream of pod events #22 – Open
- “Event-driven architectures are very powerful in that they allow to create loosely coupled reactive systems.”
- This is marginal as a user story, but refers to other feature requests:
- As a user I want to be able to have an audit log of what happened to my data #12
- As a user I want to be able to restore previous data #10
Standardizing state changes in resources (history, undo, sync) #161 – Open
- Ruben V: “but then we should probably have collaborative editing as an issue/use case”
Act on the latest version of the resource state #91 – Open
- “This discussion is re-discovering wiki edit conflicts, and source code change management, and ACID-style databasing, among other things.”
What server-based notification support is required? #49 – Open
Problems and Goals for Interoperability, Collaboration, and Security in a Solid Pod
- “data will be manipulated not only by different applications, but also by different people or automated agents.”
- Does not mention live or realtime manipulations
Collaboration cases in pwp-ucr, but live collaboration is not specified:
UC 72: “Andreas is working on his first collaborative research paper with a fellow student.”
UC 20: “Tanya and Kelly are collaborating on curriculum for the upcoming school year.”
Annotation cases for ‘live’ data in dpub-annotation-uc:
Open Data collaboration in dwbp-ucr:
Socialwg/Social API/User stories - W3C Wiki