How Does iOS Handle Sync Conflicts?

Keith, I’ll tell you right now…there are gonna a lot of whiners if users have to manually do anything. We’re in an age of automatism and people don’t like to manually do anything, no matter how much you officiate that it’s ‘good for you’ or that you should develop some kind of discipline. I’m not saying I won’t; I’m just giving a heads up that there are gonna be a lot of whiners to this.

In an ideal world, you should be able to work on Scrivener iOS, not have to save in any fancy way, and when you close the app on your device it should automatically save whatever you are working on so that when you open the same file on your desktop you can work on it. The same should go the other way. That is, you work, you close (and not manually save) and open the updated file on iOS. This I hope is the eventual goal…otherwise, the plebians will revolt I say, the plebians will revolt…

Plebians.jpeg

People will always complain about something. And sadly, we don’t live in an ideal world. If you would like to consider all the factors in our sync processes and have a better solution, I’m all ears… But trust me, I have worked months on the sync code and considered it from eery angle. Possible if we were Google with whole teams and dedicated servers and APIs, we could make everything seem like “magic”. Sigh.

Keith knows this a lot better than I do, but from my experience of iOS devices I say that’s impossible. You never close iOS apps, you just start using another app, so you leave the Scrivener app for a few seconds or for weeks. How is the app to know? To make it work the way you want it to the Scrivener app would have to save with short intervals, roughly like Mac Scrivener does, but with the difference that the iOS app would have to save to Dropbox all the time, which in turn require a constant WiFi connection.

“But it works for Pages, Drafts, Evernote, etc??”
Yes, sometimes, and only for fairly simple things. iCloud works fairly well for some Apple apps, but only if you work with one file at a time, and only if they are reasonably small. It’s the same with Drafts. Often it works, but sometimes even those small snippets of text screw up. Imagine the reaction you would get if the software automatically screw up and destroyed your 150 000 word novel? It’s actually much better that people do it themselves.

If all computers – laptops, desktops, iOS, Androids – always had WiFi connection, they could all be interconnected all the time and all machines would know what all the other machines were doing. Then it would easily be solved, except for the major security problems. :stuck_out_tongue:

lunk - yes, basically what we need for flawless sync in file formats such as Scrivener is an internet based on quantum entanglement or spooky action at a distance so that every upload and download is instantaneous, and all computers and devices all connected all the time. And I’m not being facetious - that would be the only way to avoid all problems.

You evaluate the problem well. iCloud does a very good job at syncing “simple” file formats such as TextEdit, Pages, Scapple and such. (By “simple”, I really just mean flat - a single file.) But there just is no “magic” solution for syncing a file format such as Scrivener’s, where you have a package of interdependent files. Of course I’d love it if I could just make it so that all the files synced magically and invisibly and just appeared on your other devices - “just like that” as Paul Daniels used to say. Of course that would be the “eventual goal” - once the technology is there so that it is possible.

The problem lies in the chasm between the expectations raised in users by Apple’s “It just works” mantra and the technical realities of syncing a complex file format such as Scrivener’s without data loss. It’s like the old “fast, good or cheap - pick two” conundrum. I can give users “magic” background sync via Dropbox as long as they don’t mind data loss and projects being in unusable states when a connection drops. :slight_smile:

Don’t worry Keith. It sounds like you did a great job thinking about pro and con and you decided that the option that could result in data loss always had to give in to the other option.
Thanks for that.

And having the option of having mobile Scrivener sync automatically on close of the project seems like a nice automated option.

Like in Spider-Man: with great power comes great responsibility. You have the freedom of working on Scrivener projects everywhere now. Having the discipline to think about the sync’ing is a a normal expectation.
And it seems like the app gives you LOTS of safety nets for when you forget once.

Please note, I am not on the side of the Plebians; even though I am no programmer, I understand your frustrations, and realize the issue is not simple. But no matter how much I might understand, there will be many who will not. And when it comes to users potentially losing their data over the consequences of your decision, Keith, Rome might fall.

Again, I am no programmer, nor do I pose as one. I am simply the soothsayer, in this scenario, ever so admonishing…beware the ides of march of iOS/MacOS synching…

I’m curious – if you’re not arguing a position you yourself don’t believe in, why ARE you making such a big fuss about this? If you’re trying to be funny, it’s not coming off that way on this side of the screen.

Scrivener for iOS is an amazing piece of engineering. The workflow is about as simple (and reliable) as it can get. Keith’s done a stellar job of making a very complex problem very usable and safe.

I’m not trying to be funny. It’s a legitimate concern; one that I personally will not be bothered by, but I imagine many will. I see no need to insult.

I will be the judge of this when the software comes out.

I’m so glad somebody finally stepped up. I was afraid no one on the entire internet would be the judge. :stuck_out_tongue:

Everyone is entitled to my opinion, didn’t you know?

(my bold)

Aaahhh… NOW I get it!! :smiley:

I never thought about it like this, but you are absolutely correct. People want spell checkers, software checking grammar, software saving the work when the author forgets to, and wasn’t there a link recently about an app that could actually write the body text as well? So you could start the computer in the morning, send the finished novel to a self publishing company by noon, and have the book printed by night fall.

But come to think of it, wouldn’t it be even easier to skip the computer and the writing-publishing-printing phase, and simply go down to the nearest book store and buy a ready made book? Or if you don’t want to manually do even that, you could have it sent home, or download it so you can listen to it instead of manually flipping the pages.

But thinking a bit more, I think you are dead wrong. People like to do a lot of things manually. And if people can remember to charge their iPad or phone, and to bring it along when they leave the house, surely they can remember to sync their manuscript to Dropbox before they shut down the computer?

Having to remember to do things isn’t necessarily a bad thing. :wink:

Discipline, yes is a virtue. But the Devil must have his due, I’m afraid. We don’t all drive stick for a reason: our laziness supersedes any desire to save gas (which, from what I’m told, when driving stick, tends to happen).

Writing should be about writing. Not saving. That’s something a computer should figure out for itself. Or at least that is what the masses will think or want. Or think that is what they want.

People like thinking. Just not thinking too much. And that’s what I’m afraid what Keith’s choice will lead to.

You seem to be mistaking choice for necessity.

Oh no, not in my book. Cats have no discipline and they seem to be more happy than most humans.

I agree, writing should be about writing.
“Hey, you, where do you think you’re going with that iPad? What…? Oh no you don’t. Sit down and keep on writing!” grumble “I don’t understand all this about moving around, going elsewhere to write and all that. Writing should be about writing, and to do that you sit down and sit still.”

What? Are we suddenly discussing politics?
It reminds me of an old saying in Sweden when you describe people: “Oh, he thinks a lot, but not very fast.”

Since the copy of your project on Dropbox is a normal .scriv file, presumably it has the usual facility for backups and snapshots? I routinely back up my WiP after a major session, just to be on the safe side - and it would seem to me that this is sensible with any multi-device setup. As the recent meme says, “there is no cloud - it’s just a hard drive on someone else’s computer”.

The most work I’ve ever lost was not in Scrivener but in Notebooks before they introduced “proper” syncing that handles conflicts - and that was maybe 600 words. Fortunately I was able to reconstruct the scene from memory :open_mouth:

Yep, you can take snapshots and make backups in the Mac version, and you can export or send zipped backups of the project in iOS. It’s the same project on both devices, but you won’t see snapshots in the iOS version as that feature is not supported.

All the best,
Keith

I’ve seen enough data loss when the ‘magic’ of iCloud and Google Drive failed to ‘just work’ to be a firm believer in giving users control over their own data.

Katherine

Thanks, Keith! I wasn’t expecting iOS to have all the features of the Mac version, but exporting is the next best thing!

I can see what you’re saying, but I’ve been using Scrivener iOS for a while now, and yes, the manual syncing did bother me for a while (about ten minutes, give or take). However, in practice it isn’t really that big a deal.

The app does a pretty good job of reminding you when a sync is needed: you start up and it checks Dropbox to see if you’ve got any changes. If you have, then you sync. You also get a little symbol on the icon to remind you when you have changes to upload. In between that, you can forget it’s there. I don’t save periodically, so it doesn’t really interrupt my train of thought; when I’m done writing for an hour then one extra step isn’t really going to make any difference to my creativity. If it was intrusive then I would have a real problem with it; I just didn’t think it was.

Here we have the exception that proves the rule.