Alternatives to Dropbox (sync)

TL;DR: If I take Dropbox off the table, what’s the most practical way to edit one Scrivener document on both my Mac and i-devices (back and forth)?

I use Scrivener on my Mac (big screen, yay) and iPad Pro, with an occasional stint on my iPhone when I’m on the road. And a MacBook Pro. I move between them (on the same document) fairly frequently. I currently use Dropbox sync, which seems to work reasonably well for me.

However, Scrivener is literally the last remaining use of Dropbox on my computers. I’m happy to discuss my reasons, but for the sake of this question, can we just take that as a given? I want to ditch Dropbox entirely, and Scrivener is in the way. :grin:

So then how do I sync my Scrivener documents? Let me tell you what I’ve worked out, and feel free to interrupt and set me straight…

I can airdrop documents around at will. They show up as new documents at the destination, though, and there seems to be no syncing of any kind (i.e. now I have two document files, an older and a newer version of the same document). Then I have to remember which one’s the latest one, and I have to manually clean up the older ones. Not a great workflow. The same applies to “hand carry” ways of moving documents between computers (USB sticks and such): the physical transfer works fine, but Scrivener seems to provide no support for helping me deal with the outcome.

I can use a file server, but then I have to remember to close the document on computer A before opening it on computer B and vice versa (right?). I’m not that perfect and not that disciplined. That sounds scary.

I can manually copy my documents into iCloud Drive (from local storage) and back. That works, but again I need to remember to open and close things with discipline. It’s also annoying. :slight_smile:

There’s the mysterious “external sync folder” thing that I’m strongly told is not right for me. So I’ve never looked into it deeply. Should I?

Now, I can’t help wondering…

Scrivener already knows how to carry history inside its documents - that’s how Dropbox sync works, right? Why can’t it take a transferred copy (say, something I airdropped over) and say, “Ah, I see these are two versions of the same document, let me unify them for you, okay?” and do the same thing it does to Dropbox-synced files? You know, the “here’s what got changed elsewhere” and “I’m going to rebuild the index now” routines?

I don’t want to rehash the “why can’t we sync through iCloud Drive” discussion, though I find it hard not to. I agree that iCloud started as a portable disaster area, but it’s come a fairly long way since. Is it still broken (from Scrivener’s perspective), or is this simply inertia? (No, I don’t use Windows for anything but playing games - literally.)

Okay, then. What options am I missing? And how do you (non-Dropbox addicted) folks do it? All advice and corrections gratefully accepted.

Cheers
– perry

See section 14.2 of the “Scrivener Manual” for ideas.

Me: sticking with Dropbox as it just works. Have other things to do.

1 Like

There are, from how you describe things, better ways to do what you are currently doing, in my opinion. Most of the techniques that I’ve refined for that process are written up in this FAQ post. That’s going to go into much more procedural detail than the user manual. To be clear, this is the method I use for all project syncing, not just mobile (I rarely use mobile).

This method is rock solid safe, works with any technology no matter how poorly designed, comes with no advisories or disclaimers or checklists that you have to keep in your head all of time to “sync safely”—it is very resistant to user error, even allowing you to make mistakes and forget to keep yourself up to date, retroactively fixing that.

The article is largely framed around using two standard computers, not mobile, but the principle is the same. The main difference is that the iOS version has no automatic backup, so that part is manually done. That’s not as big of a problem as you might be thinking though.

So the main advantages of that method over what it sounds like you are doing:

  • When set up right, all standard computers automatically update the “latest project” pool, or the backup store. That part you don’t have to remember to do.
  • Backups are date and time stamped. There is little ambiguity about over which is latest. Your “transfer stack” is kept tidy for you.
  • This includes iOS backups, so long as you save them from the project manager. It will use a different naming convention, but that isn’t generally an issue.
  • If do make a mistake, it’s not the end of the world. More on that below.

I can use a file server, but then I have to remember to close the document on computer A before opening it on computer B and vice versa (right?). I’m not that perfect and not that disciplined. That sounds scary.

I mean, you’d have to do that anyway. Synchronisation is not magic that solves design limitations in all software, it’s just another kind of file server, essentially. It works by keeping multiple machines in disk parity with one another, mitigating local access speeds, but everything about the state that is shared between computers is the same as if they are all sharing the same physical storage medium directly.

Local file sharing between devices is what I use for many things, it works fine! If you forget and leave the project open, you’ll get a warning, no big deal.

The main argument for using a third-party to store your data for you is so that you can roam. So that you can leave the house with your laptop without having to remember to fetch the most recent copy from the other computer. If you aren’t roaming, there is no reason to use an intermediary. I use the alternative sync method for roaming and file sharing when I’m home.

I can manually copy my documents into iCloud Drive (from local storage) and back. That works, but again I need to remember to open and close things with discipline. It’s also annoying.

This technique I linked you to above is actually very good at bouncing back from making mistakes like this. It’s one of the safest approaches not only because of its simplicity at the technological level, not only because most of the stuff to remember is automated, but also because it is resilient to us making mistakes. And for me anyway, that’s the far bigger concern.

With live sync, if you make a mistake the mistakes all go back to the same central storage spot, and that can be catastrophic in some scenarios.

Say you make that exact kind of mistake using the “backup stack” approach. You get home, make some coffee and sit down to your desk, fire up the desktop and think of some things to add to your project. One thing leads to another, and 30 minutes later you realise you didn’t update this project before opening it. Maybe it’s even still open on the sleeping laptop.

Built into Scrivener is an internal sync system that compares two copies of the same project and reconciles their differences. It’s based on the same sync engine principles that keep the iOS edits in parity with the desktop project. In the above scenario, you’d simply grab the latest copy of the project that came from the laptop, open that project on your desktop, and select and merge your divergent copy on the desktop into it. You can then discard the copy you accidentally edited before updating. Easy.

But in my experience, this workflow becomes a habit rather quickly. I still do make mistakes sometimes, but it doesn’t really matter, because we can hardly think of them as mistakes when there is an dedicated feature set for merging divergent projects back together. This feature is robust enough to allow you to distribute copies of a project to six or so collaborators, with everyone working simultaneously, gather their work, and merge all of them back into a master project safely. It’s designed for that very workflow we call a “mistake”.

It can take your 30-minute oops-session. I wouldn’t want to depend upon it as my primary workflow. It has more steps involved, more complexity, but I don’t feel I’m in a dangerous place if I mess up.

So in case it isn’t clear: while it is true you cannot open the same exact project more than once—you effectively can work on that same data simultaneously, safely, so long as each instance is a separate physical copy of the project (which is something that happens naturally if you aren’t live syncing).

See how this is safer than live syncing, even setting aside the complexities of technology? The mistakes you can easily making with syncing can be catastrophic because every device is manipulating the same data. That same human error with physically different copies isn’t even a mistake: it’s a workflow.

Scrivener already knows how to carry history inside its documents - that’s how Dropbox sync works, right? Why can’t it take a transferred copy (say, something I airdropped over) and say, “Ah, I see these are two versions of the same document, let me unify them for you, okay?” and do the same thing it does to Dropbox-synced files? You know, the “here’s what got changed elsewhere” and “I’m going to rebuild the index now” routines?

So there you go. It’s not quite like how you describe it; Scrivener doesn’t “store a history” as you put, but it gets to the point you’re looking for. Here’s the details: §5.3.2, under subheading, Merging Projects Together, and the following section on Merging Changes from One Project into Another.

I don’t want to rehash the “why can’t we sync through iCloud Drive” discussion…

That isn’t true, wherever you heard that from. But there may be some confusion over the difference between “iCloud” and “iCloud Drive”, specifically with regards to iOS users looking for something in Scrivener itself. For everyone else though, use iCloud Drive if you want, including iOS users if they use the alternative sync method.

There’s the mysterious “external sync folder” thing that I’m strongly told is not right for me. So I’ve never looked into it deeply. Should I?

You’ve heard correctly. That tool is for integrating Scrivener with other software, whether on your local machine or remotely. There isn’t enough information in it to sync project data, and the way in which it addresses data is project-specific. Therefore two or more projects trying to share one folder would damage each other. So don’t even try it. You will get dire warnings if you do.

So that’s my thoughts on the matter. Are we trading convenience for safety? Absolutely. Nobody is going to argue that copying is more convenient than syncing. But I would like to close with one last statement to that effect. If the convenience is for you a “deal breaker”, if you simply cannot stomach living without convenience, then Dropbox should even be part of your question. Lots of sync services are safe—most of them are. Some need care in setting them up correctly (that includes Dropbox these days! It ships in an inherently unsafe state on the latest Macs, and you will see the consequences of that poor executive decision all of the forum these days), but if your main question is “what can I use other than Dropbox”, this whole alternative sync approach is most certainly not the only answer. That’s a personal workflow choice—one that I would make were I to use Dropbox.

While I don’t do it myself, for all of the reasons I’ve given above, I could very safely use Tresorit, which is my preferred sync provider. I’ve tested it, and it handles live project syncing flawlessly, under heavy usage. Just keep an eye on the cloud sync section of our FAQ for any advisories and avoid those services we advise avoiding (really only Google Drive is on the do-not-ever-use list).

Amber,

Thank you so much for your help and sage advice. I’ve been following your links and learned a fair lot. In particular, I’ve managed not to realize that “import this Scrivener doc over there” does a merge if the two documents have common origin, the very thing I was looking for. (On the Mac.)

One problem I’m going to have is that my workflow goes back-and-forth a lot between my Mac and my iPad. Some of the cool functionality isn’t available on iPad, and that seems to include the magic merge technology. At least I can’t find the iPad equivalent to File>Import>Project. I’m also not sure if the iPad version can make automatic backups.

When I talk about iCloud Drive, I was thinking “substitute iCloud Drive for Dropbox in the automatic workflow.” Right now, it looks like Scrivener has a special arrangement for Dropbox (where the documents reside in an area of the synced Dropbox folder and are magically detected/synced even if they are open) that can’t be used with any other synced-disk facility. The help files about “using sync services” are all talking about Mac/Windows syncing; the iOS section just talks about the magic Dropbox integration. Am I missing something here?

I hear you about the trade-off between convenience and safety, though. I need to figure out where my personal balance lies on that. I have a lot of “let me just scribble some thoughts into that doc while I have them” moments, so quick access matters to me.

Again, thank you for all the kind words and the useful pieces of advice.

Cheers
– perry

…At least I can’t find the iPad equivalent to File>Import>Project. I’m also not sure if the iPad version can make automatic backups.

It has neither of those things. As noted, you need to back up the project from the project manager screen. It’s a typical general purpose “share” icon button behind the Edit mode toggle, if you’ve never done it. As I mentioned before, it date stamps and zips the copy, so it fits in and sorts nice with the rest of the backups. Just pick your preferred cloud tool to upload it to.

I don’t really have as many tips or ideas about using the iOS version. It is too removed from how I use Scrivener, so for me it’s more like a one-off scratch pad that formats things in a way that integrates well with my projects. I copy the project down, drag over what I need from binder to binder, and then dispose of the mobile project entirely.

But when I do need to bring a project over to it, the easiest way is with Files.app. You can just drag the latest .zip over to Scrivener’s folder in Files, tap it to expand and then trash the copied .zip from Scrivener’s storage. It’ll show up in Scrivener when you switch back. It takes a couple of seconds whenever you need to do it, particularly if you keep a split view Files setup with the right folders navigated to, in your multitasking.

And if you forget to update it first, while you can’t merge on iOS, you can at least merge later. You would copy that updated version back to the Mac, using the describe technique, open it to let it integrate iOS changes, and then merge the older Mac copy into it. But again in my experience a lot of this becomes “ritual”, and the need for fixing mistakes like that shouldn’t be something you’re doing all of the time.

It’s just good to know that you can—for me anyway, this workflow is about stress reduction. Working with live synced projects is for me very stressful because I know mistakes can mess up the core project everything shares. With this other approach, an absolute worst case scenario, where for some reason Merge doesn’t work, is having two projects open side by side, and going through recent edits in each. That’s theoretical, I’ve never actually had to do that. With sync, the absolute worst case is blowing away months of work forever, with no recourse (though granted that takes being negligent about backing up from the iPad while on an extended road trip). I’ve seen it happen more than once.

Since this workflow requires you to be on your toes about backups, well, that’s a pretty decent side-effect if you ask me. One can be lazy and dangerous with sync. You can’t be lazy when your backups are how you sync. Again, that just feeds back into stress reduction for me. Chances are you if you forget to update your Mac from the iPad, you would have forgotten to back up your work there. That’s a black hole you’ll never be able to return to should you need to.

Automatic backup would be a fantastic addition, in theory, but it would also be somewhat limited in its usefulness, in practice. Since iOS doesn’t allow software to easily save files to safe areas, they could never integrate with the rest of the device, and hence other platforms or cloud sync anyway. So you’d still have to manually really back up to get them out of the device. Plus, there are issues with how iOS conflates multitasking with closing. When would an automatic backup be triggered if switching to something else for a while is the same as closing? People have tried to automate this with Shortcuts and stuff, and that exact problem limits its usefulness to something you manually trigger anyway.

When I talk about iCloud Drive, I was thinking “substitute iCloud Drive for Dropbox in the automatic workflow.”

Ah, I see. Well the thing about this is that if Scrivener did have such a thing it wouldn’t be through iCloud Drive, seeing as how sync doesn’t really work like that on iOS (yet, maybe, hopefully—it seems they may be trying to get there very slowly). It requires a different approach through iCloud (not Drive), and that is where the implementation problems crop up—but I presume from your original post that you’re familiar with that premise.

That aside, you can certainly use Drive with the approach I described above in Files.app. That works the same as with any other cloud service that has Files integration.

8 posts were split to a new topic: Reasons for using Dropbox