Collaborating With Scrivener

One possible approach is to explore the use cases around collaboration. You may find users are wanting to use your software for purposes that you had not initially considered. You could then perhaps bring out editions that catered to specific needs that maybe removed some features and enabled others such as real time collaboration. It may be a way of growing into new markets while not destroying the original strong product. Or alternatively you may want to think about developing Scapple further as a collaborative tool with greater workflow integration into Scrivener
I think there are a lot of features in Scrivener and Scapple that could make it a great qualitative research synthesis tool for example in fields like UX and service design. Collaborative working around inputing data and arranging being key in these fields.

Real time collaboration in particular is an enormous technical lift, in a space where the number one competitor (Google Docs) has essentially unlimited resources and gives the product away for free, and the number two competitor (Office 365) also has essentially unlimited resources and has had a stranglehold on the enterprise market for more than 20 years. There may be a compelling business case, but I haven’t seen it.

The problem with special editions generally is that each requires additional development and support effort, while getting further and further away from the core needs of our core audience. The less “Scrivener-like” the proposed application is, the harder it is to see what we might bring to the table.

Katherine

The Node.JS development world has addressed local and cloud sync and allows local filesystem access (see Electron). It also allows the same code base to be ported simultaneously to different platforms (desktop, mobile, web). You wouldn’t need an Internet connection, but it could address a lot of the request here. There are also a lot of pre-built plugins that would simplify development.

It would be a massive change to Scrivener. But, looking at the underlying file structure (I’m a geek), KB has a strong foundation for such a move. That is, a lot of the design decisions I would make are there.

You are right, Scrivener provides document project management capability not readily available anywhere else. Google Docs solves a different problem than you are solving. That doesn’t mean there’s not a market in the middle that you’re not better situated to satisfy than them…and that someone else won’t fill it.

I used Scriv for my first novel, and part of my 2nd. I started looking at another toolchain because Scriv had some gaps. Scrive3 seems to be filling the very specific gaps I had (styles being one). Y’all’s exploration of Android fills another one. I’m coming back on Scriv3 (and enjoying it so far, KB did a fine job).

The one gap I see is the ability to collaborate with a professional editor, which is not synchronous editing.

I know a few people (senior software developers, not Scrivener-related) who refuse to even consider any job that requires them to use Node.js. It’s an ugly, ugly development environment in a number of ways. Porting all of Scrivener to it sounds like a pretty radical approach to me.

Katherine

Perhaps true. Node.JS is sort of my crib for the greater trend in programming towards Javascript (Angular, React, etc.). Node has the advantage of having access to the file system. Certainly a port would be a huge undertaking.

At any rate, enjoying Scrivener again with v.3.

I think what is interesting is a multidisciplinary view of this topic.

I am a software engineer who has been asked to collaborate on a Scrivener project. In my world this is an incredibly easy problem to solve… just put the project under CVS, GIT, or SVN version control. You check out the parts of the project you wish to work on for you local machine and simply merge the changes back to the cloud database.

You would have to check out files like library books before you started Scrivener up. However once awake, Scrivener wouldn’t even realize what you were doing when it was not running. Multiple copies can be “checked out” by different writers. The workflows for editing and merging work should be similar… they always have to be moderated in some context, inline or not.

I have had to track and merge the changes of dozens of “writers” upon final concatenation. It wouldn’t matter as a manager of a project if the “writers” were writing code or fiction. In comparison, scrivener sync would be so easy it is hardly worth mentioning to a software person. You would actually have an incredibly difficult time explaining your problem because “it is not a problem” to them. They would most likely reply, “Is something broken?” Version control just “is”. It is the lifeblood of software coding when you literally have hundreds of people working on a project. And it is not just coders, there are manual writers, app writers, product support writers - all under the same version control software, cloud based or not.

The misconception is that version control software… just does software. In reality, the version control software doesn’t care or even know what it is tracking.(Yes, they do have some features that are useful if the deliverable is actually code) CVS was developed in the 80s and Google still uses it today for many of its code and non-code product development, including documentation. Version control software can work with encrypted binaries… it literally doesn’t care what it is tracking, or what other program is using the files.

CVS, GIT and SVN are easy to learn, but the nomenclature isn’t reminiscent to anything writers are used to. So, there are learning curves.

A good post would be “Controlling and syncing Scrivener with CVS, GIT or SVN”. (Collaboration or multi-users are implied with version control) I would write it but explaining it to non-version control users is the challenging part. If I ever do figure out a way to explain it or just create a script to say just do “this” I most certainly will try.

These links touch on some but not all of these aspects in relation to Scrivener:

makeuseof.com/tag/not-just- … r-writers/

cuttlesoft.com/using-git-so … mentation/

“GitBook” is described in this article but also several excellent open source writing tools as possible companions to Scrivener.

itsfoss.com/open-source-tools-writers/

Welcome to Scrivener and its forums, Sulcata.

I notice that in your post you imply - perhaps you do not mean to - that creating a collaborative form of Scrivener would be simple. I’m absolutely not an expert, nor do I understand all that you’ve written above. But having used Scrivener on the Mac for more than ten years and having seen several discussions of this issue on these forums, I don’t believe that it necessarily would be simple. I also don’t believe that if it were indeed so simple, the developers of Scrivener on both platforms would not have made it possible some time ago.

Of course, one has to define what one means by collaboration. As you may be aware, on Scrivener for the Mac, and, I believe, on Scrivener for Windows, selected text from a project can already be synced with an external folder and edited externally (see Section 14.3.1 of the Manual). With version 3 for the Mac, and, prospectively for Windows, complete projects can be successfully merged - with some precautions, and with human intervention to deal with conflicts (see Section 5.1.7). And of course, multiple users can work on a single project collaboratively, if they work sequentially.

The challenge comes - as I understand it - when multiple users want to work on the same project at the same time. That’s because documents in a Scrivener project are perhaps less like the example of books in a library that you cite, and more like cogs in a machine. Modify one, or its position in the machine, and you’re likely to affect others as well. As other posters have written at length upthread, making collaboration of this type work whilst at the same time preserving Scrivener’s existing attributes may not be impossible, but it would definitely be hard.

Hi Sulcata,

My takeaway from your interesting post is you are saying that Scrivener can be used as a collaborative platform now, by putting the Scrivener project under a version control tool.

Is this the correct interpretation? If so, have you successfully implemented it, or are you just theorizing?

Thanks,
Jim

I would be very interested in a concrete example of successful collaboration with Scrivener using version control. My previous experiments were not encouraging, in part because Scrivener is not really like any other type of document. Standard source control techniques don’t apply, because of the mix of being RTF (so “diff” style tools for conflict resolution don’t work) and being an intricately linked multi-file format (so multiple people editing the same project at the same time could simultaneously modify some of the key XML files and create other types of hard-to-resolve conflicts).

Ahem.

Your friendly support person here, reminding you that allowing any tool other than Scrivener itself to edit the contents of a Scrivener project is not supported, and is entirely at your own risk.That includes allowing Git or a similar tool to resolve differences between versions.

Katherine

“Now, sure, you can go all Mythbusters on that Lamborghini and figure out a series of modifications that could be applied to the car that would allow it, technically, to be a helicopter. You could brute-force it and get something that manages to get off the ground. However, it’s not going to be a GOOD helicopter. It won’t do the kinds of things that you can do with a real helicopter. It won’t have the range, the safety features, the cargo capacity, the passenger capacity, and all the other features and requirements a real helicopter is designed to meet. It’s a one-off hack that is not usable on a regular basis.”

This was exactly the same sort of argument used when I suggested in another forum that you add integration with ProWriting Aid. Now, I’m not anyone special. Just a writer, a professional writer that has to churn out lots of words daily to keep my little freelancing business going. I’m not doing it for a lark, or fun, or sheer enjoyment of putting words to page. It’s my job, and therefore anything I can use to do my job better, I take it, shake it, and work it to get the results I need. But here’s the thing. I’m your customer. I’m telling you what I need. And as fabulous as Scrivener for organizing writing projects, it is not the sole need I have.

In other words, it’s just fine for the writer producing a few manuscripts in their lifetime. But it simply does not offer the features to make those words a professional product.

The biggest frustration I have as an indie producer of books is that while Scrivener has an awesome program for file converter to any book format I need, I cannot rely on Scrivener to produce the quality of editing needed for the final product. I end up having to switch between other products to achieve this.

I need a decent grammar editor. Sorry. Scrivener is not it. Grammarly comes close to being the perfect grammar editor, and thought it is not 100%, it is close enough that I can contract it as a standard with my clients. I need a really, really good online thesaurus like Master Writer.and a word editing program like Pro Writing Aid or Auto Crit. I need a consistency checker like Perfect-It (which I’m beta testing and it shows promise.) I also need a lexical density checker like what you find for free on Analyze My Writing. You might consider this all above the paygrade of Scrivener and at its current price point, you are probably right. But a professional package like the above, fully integrated, and appropriately priced would be worth it to a professional writer like me. Then Scrivener would be a Lamborghini instead of the very nice Cadillac it is. The time saved between switching programs would make it worth the money.

The fact is ProWriting Aid did take your multi-file structure and instead of thinking of it as the big obstacle to integration, made it its strength. I can close up my Scrivener file, open up the ProWriting Aid desktop app, and edit an entire book chapter by chapter in a single day. Think of it. One day and essential style edits are complete. But to catch the grammar I have to copy and paste then edit it all in Grammarly, then copy and past it back into Scrivener, then work ProWriting Aid. You see what a small headache that is.

I adore Scrivener, but it’s not enough to help a writer to get out professional quality work on a timely basis. And if your customers say they need collaboration integration, then they’ll go somewhere to get it. The days of the lone writer working for two or three years on a manuscript and submitting it to a publisher is gone. Now publishing is writing a book, editing and, formatting then uploading it inside a month. Someone is going to provide a writing and editing platform to do this and when that happens, if it isn’t Scrivener, it will be someone else. Then Scrivener users will be like the Mac users of today, (of which I’m one) who cling to a platform they adore but seems to be sinking into obsolescence.

Just saying.

Yes, you are a customer and as such you are free to buy or not buy whatever you want or need, whether it is for pleasure or joy.

Your logic is in my eyes equivalent to me saying:
"I read what you wrote and I don’t like that genre. I want you to write what I like. And here’s the thing. I’m your customer. I’m telling you what I need. And as fabulous as your writing might be, it is not the need I have. "

L&L is a commercial company, selling a product. Their success depends on a sufficient number or people thinking that their product is good enough to make them buy it. When KB considers changing the product, he has to think about how such a change would affect current and future customers. If 20% of the customers would applaud a certain change and 80% would dump the product, it would be stupid to do that change, right?

Another professional writer here, and a professional editor to boot, busily churning out professional quality work on Scrivener for, hmmmm, the past dozen years? And a couple dozen before that using Word. Though admittedly I’m not writing and editing and formatting and uploading a book in a month. Mine typically take two or three years. I hope no one tells my publishers those days are gone.

Different tools for different uses–and users… For my purposes, and for many other professional writers of my acquaintance, Scrivener is the lobster’s waistcoat.

Just saying.

The irony here is that you are posting in a thread that is seeking to find a way to make Scrivener the very antithesis of what you firmly believe to be the only and one true way toward the future of writing software. :slight_smile: You’re not only way off-topic, you are demonstrating the fundamental problem with software design that tries to cater, as you put, to the customer in all things.

I’m a little curious. Serial collaboration is a term I’ve never run across, so I’m not sure how that works. I get the concept behind real time collaboration— but I think real time collaboration might be an overreach as a request by the original poster at present since you can’t always be sure a collaborator would be available for, well, real time collaboration at all times. Add in that from all I can tell L&L doesn’t have the staff needed to even set something like that into the program anyway, and it seems like it might be asking too much from the program, at least as it stands. If L&L got more people to work on it, maybe it could work. But I somehow don’t think that will ever be a consideration unless they get some kind of massive and unexpected windfall that would allow for that.

I’m assuming that ‘serial collaboration’ means just writing in something, saving it in dropbox (or emailing it, assuming that files sent by email don’t get screwed up by being emailed), having your collaborator/co-author/whatever then do their work on it and send it back the same way. I honestly see nothing wrong with that concept, as again, you can’t always be sure that you’d have someone else on hand who could work on a manuscript with you in real time. Am I the only one who feels that way? I mean, real time collabs are a nice idea, but even with Google Docs, I’ve never seen collaboration genuinely happen in real time.

Just my two cents.

Real time collaboration involves two or more people working on a document at the same time. From the software point of view, it doesn’t really matter whether a team is working all day, every day, or a couple of collaborators are getting together to review one set of edits one time. The software problem is more or less the same, and Scrivener can’t do it.

Serial collaboration – as I used the term – is as you describe, person A sends a file off to person B for review, then incorporates their changes later. I was referring specifically to the Import and Merge feature in Scrivener 3.

Katherine

Ahh. Cool. Thanks for the clarification. 8)

I collaborate serially with a friend in China simply by having our various projects in a shared Sync (Dropbox being blocked over there) folder. Fortunately we are 8 hours apart, which is a PITA for other purposes, but really good for our collaborating as we are rarely able to access any current project at the same time. If your collaborator is in (nearly) the same time zone, you have to schedule access to the project or rely on the merge facility in Scrivener 3 as mentioned by Katherine.

As for real-time collaboration in Scrivener, I think if you could find out how many person-hours it took for Google to get Google Docs ironed out, or for Apple to get it to work in Pages—assuming it does—and how much it cost, then factored those up for the complexities that Scrivener’s package format brings to the task … doesn’t seem a viable proposition to me. If L&L sold out to Adobe, it might happen, but God forbid!

:slight_smile:

Mark

It would be nice if desktop Scrivener could at least include a semaphore file inside the package, basically saying “this project is opened on this computer”, so that other Scrivener instances (whether my own on other computers or those of a collaborator) that were syncing with it could alert the user(s) that someone else has the project actively opened.

Well that it does.

Project_Root.scriv Files/ user.lock

Open that up in a text editor and you’ll see everything that is needed to determine whether the thing opening the project is the same thing (scenario: post crash) or a different thing (including other compatible software, like Aeon Timeline). If it is a different thing, this info is used to describe the details of what appears to be using the project at the time, in a warning.

The warning gives you the option to either continue—safe to do if you’re positive it is a false positive—duplicate the project and work on a copy, or cancel out and go close it on the other machine or whatever you need to do.

Creating a copy when someone else has the project open is a more viable option in v3 than it was in the past. The copy will be created directly alongside the original—and so if real-time syncing is in use, both instances will be in the same place.

When you are done editing the fork, they can use the File ▸ Import ▸ Scrivener Project… menu command, if the importing project has the same internal origination tags as the imported project you will have the opportunity to merge the two forks. The merge uses much of the same logic that is used to merge iOS projects, and the result is much the same—very seamless so long as the two parties did not edit the same items (and then one gets duplicated conflicts they can easily resolve). It is typically very clean, and once done the fork can be deleted.

A procedure, specifically designed for parallel (not purely sequential) collaboration, using this very method is outlined in the user manual starting on page 69, within §5.1.7, Merging Projects.

It’s not real time editing, but as many have pointed out above, that’s like asking your local tractor mechanic to fix your Porsche (or turn it into a helicopter). I’d say parallel “check out” and “check in” style editing is a pretty good alternative to that, and not altogether too different from what you would get, mechanically speaking, from something like git. The difference of course is that as devinganger pointed out, with git you need a Scrivener expert on your staff to handle merges—and by expert I mean someone that can rebuild a project by hand using text editors. With file import you have that expert.