Collaborative writing comes in at least two modes:
- Real-time working together, and seeing each others modifications at the moment that they are made;
- Independently working together on one's own copy, and merging the results as soon as you are done writing (or any other moment you feel an update is required)
Regarding ease of integration into Scrivener, from the perspective of a software architect and engineer, i.c., myself, I consider the second mode of working together far more easy to integrate in Scrivener, and agree that the first mode of collaboration is quite a complicated functionality that makes the term "ambitious" a rather understatement.
Regarding what to wish for, for me, a scientist who write together with or as co-author, I'm not that much interested in the real-time mode of collaboration. I think it even distracts from your own line of thinking and we therefore should introduce what is called a separation of concerns
(SoC) where one concern is the ability to focus on your own work
, and another concern is to have multiple individuals to contribute
to the result, such as reviews or modifications. A third concern would be to assure that merging texts do not mess-up
the texts as we need to combine the first two concerns together.
The second concern calls for a master document that represents the current stable stage of what has been written by the mutual brains so far; the first concern demands the existence of several copies and versions of the master document, one for each of the individuals to work on separately and independently; the third concern calls for a means to assure, under any circumstance, that merging (different versions together into an updated version of the master document) does not introduce text conflicts, and when conflicts emerge (they do), have a proper tool to support a user in the resolution of the conflict in a seamless way and produce the new and stable version of the master document.
These demands for this second mode of independently working together is not new. In fact, in software engineering this is a rather established way of collaborative software development, denoted as version control, source code control, and several other terms. And although there is quite a difference in what is being produced (a highly structured piece of source code, versus a "structureless" piece of text which can be formulated in ever so many variations), the foundations of the process are identical. So it is no surprise that several collaborative writing tools exist that are based on Git (e.g., draftin.com, overleaf), and I don;t see any reason why Scrivener could not introduce such relatively simple collaborative process with a dedicated Git server in the background. Indeed, such an approach does not
support the real-time mode of collaborative work, but introducing the feature to independently working together is definitely a highly welcomed functionality for Scrivener's user community.
Although the members of the community are of course the judge of that, so please give your opinion!