Syncing between Mac & iOS

Ki
Kinsey
Posts: 430
Joined: Mon Apr 09, 2012 6:06 pm
Platform: Mac + Windows

Wed Jul 20, 2016 1:34 pm Post

2. If the project was already open, click on it. If the project wasn't in the foreground, it will notify you of changes and ask you to check that Dropbox is synced. If it is, you click to continue, and the project will reload with your changes. If Scrivener doesn't notify you of any changes and you know you've made some, that's when you click the "Sync Mobile" button or use File > Sync > with Mobile Devices - that just forces the project to check for any changes that have been downloaded into it from Dropbox and incorporate them.

As I say, I'll write a KB article and blog post on this later, and update the tutorial on both platforms based on feedback.

Thanks!

Keith[/quote]

Thanks for the clarification Keith, much appreciated. Easily the best money I've ever spent for an iPad app.

Bo
BookBoy
Posts: 21
Joined: Wed Jul 20, 2016 11:51 am
Platform: Mac + iOS

Wed Jul 20, 2016 1:34 pm Post

yosimiti wrote:It really should be based on whatever the last device I've used. If the last device is iOS, then on dropbox, the file should replace the file that's there with the file I recently edited or my iOS device. Ditto, for the desktop app and dropbox integration. It doesn't seem to be doing that I'm afraid.


This is exactly how it's working for me (and plenty of others it seems). Just make sure you hit sync or have it sent to sync on close.

I presume you're not doing something complicated like saving as a local copy and dragging things back and forth, or trying to upload things to dropbox via their website or anything like that.

Ju
JuryDuty
Posts: 26
Joined: Thu Oct 30, 2014 4:50 pm
Platform: Mac

Wed Jul 20, 2016 3:54 pm Post

You guys are top notch with support!

Just got the iOS version and love it! I was at first delighted to see that OneDrive was integrated, but then disappointed to see that it didn't work with the syncing--I'm forced to use Dropbox.

Please consider expanding syncing options to include OneDrive. A great many of us are Microsoft Word users, so we use OneDrive also. It would be MUCH more convenient than Dropbox for us, and clearly you've already integrated it to a degree.

Thank you for this quality product!

User avatar
rdale
Posts: 2063
Joined: Tue Jul 14, 2015 1:07 pm
Platform: Mac, Win + iOS
Location: St. Louis, MO
Contact:

Wed Jul 20, 2016 4:28 pm Post

JuryDuty wrote:You guys are top notch with support!

Just got the iOS version and love it! I was at first delighted to see that OneDrive was integrated, but then disappointed to see that it didn't work with the syncing--I'm forced to use Dropbox.

Please consider expanding syncing options to include OneDrive. A great many of us are Microsoft Word users, so we use OneDrive also. It would be MUCH more convenient than Dropbox for us, and clearly you've already integrated it to a degree.

Thank you for this quality product!

They can't; Scrivener projects are just more complicated than Word documents. They also can't integrate with iCloud. It's a technical limitation that only Dropbox seems to provide a solution for.
FKA: robertdguthrie
AKA: R Dale Guthrie, Robert, Mr. Obscure, and "Oh, it's you again".

Ju
JuryDuty
Posts: 26
Joined: Thu Oct 30, 2014 4:50 pm
Platform: Mac

Wed Jul 20, 2016 4:31 pm Post

rdale wrote:
JuryDuty wrote:You guys are top notch with support!

Just got the iOS version and love it! I was at first delighted to see that OneDrive was integrated, but then disappointed to see that it didn't work with the syncing--I'm forced to use Dropbox.

Please consider expanding syncing options to include OneDrive. A great many of us are Microsoft Word users, so we use OneDrive also. It would be MUCH more convenient than Dropbox for us, and clearly you've already integrated it to a degree.

Thank you for this quality product!

They can't; Scrivener projects are just more complicated than Word documents. They also can't integrate with iCloud. It's a technical limitation that only Dropbox seems to provide a solution for.


OneDrive can accept any type of file. It backs up everything on my Mac--from videos and music to zip archives, game code and web projects. It's exactly like Dropbox in what you can backup. There are no limitations. Maybe you're thinking of iCloud?

User avatar
rdale
Posts: 2063
Joined: Tue Jul 14, 2015 1:07 pm
Platform: Mac, Win + iOS
Location: St. Louis, MO
Contact:

Wed Jul 20, 2016 5:03 pm Post

JuryDuty wrote:OneDrive can accept any type of file. It backs up everything on my Mac--from videos and music to zip archives, game code and web projects. It's exactly like Dropbox in what you can backup. There are no limitations. Maybe you're thinking of iCloud?

I've been following the development of this since it was announced. Keith has mentioned that he had to use a programmer's toolkit (aka an API) that digs deeper than the basic sync functionallity that most software can make use of. He's stated on a number of occasions that other sync services do not provide the kind of low-level access to their sync services that a Scrivener project sync requires. It's not the same as how you interact with it on a desktop operating system.

I can't address the details (don't know them), I'm just passing along the conclusion that Keith came to: Only Dropbox gives programmers the access needed for him to properly and reliably sync to the iOS Scrivener application. He has stated that he'll keep OneDrive and iCloud in mind, should they ever provide the programmers toolkits needed to integrate them, but I wouldn't hold my breath... the software was released less than 24 hours ago. In that time, I don't think MS or Apple have provided the cross-platform APIs that he needs, but even if they did, it took months of research and planning to implement with Dropbox.
FKA: robertdguthrie
AKA: R Dale Guthrie, Robert, Mr. Obscure, and "Oh, it's you again".

Ju
JuryDuty
Posts: 26
Joined: Thu Oct 30, 2014 4:50 pm
Platform: Mac

Wed Jul 20, 2016 5:12 pm Post

rdale wrote:
JuryDuty wrote:OneDrive can accept any type of file. It backs up everything on my Mac--from videos and music to zip archives, game code and web projects. It's exactly like Dropbox in what you can backup. There are no limitations. Maybe you're thinking of iCloud?

I've been following the development of this since it was announced. Keith has mentioned that he had to use a programmer's toolkit (aka an API) that digs deeper than the basic sync functionallity that most software can make use of. He's stated on a number of occasions that other sync services do not provide the kind of low-level access to their sync services that a Scrivener project sync requires. It's not the same as how you interact with it on a desktop operating system.

I can't address the details (don't know them), I'm just passing along the conclusion that Keith came to: Only Dropbox gives programmers the access needed for him to properly and reliably sync to the iOS Scrivener application. He has stated that he'll keep OneDrive and iCloud in mind, should they ever provide the programmers toolkits needed to integrate them, but I wouldn't hold my breath... the software was released less than 24 hours ago. In that time, I don't think MS or Apple have provided the cross-platform APIs that he needs, but even if they did, it took months of research and planning to implement with Dropbox.


That's interesting--but too bad. I really like OneDrive for everything. It's pretty much replaced my need for anything like Dropbox. Not a huge deal to use Dropbox with Scrivener--it's just one more location I need to think of. I appreciate your taking the time to explain.

wr
writerbfk
Posts: 5
Joined: Fri Sep 09, 2011 6:38 pm
Platform: Mac

Thu Jul 21, 2016 8:14 pm Post

lunk wrote:I think the problems some people are experiencing are created by themselves by making things much too complicated. Just SAVE the project in the correct folder on Dropbox and you won't have any problems..

I had the same initial problem of the IOS app and the Desktop app not syncing the way I wanted. Like others have posted this confusion came from the Menu options for sync: 1. Sync to mobile device, 2. Synch to external folder, 3. Other options..

None of that worked.

But, like said here: Just SAVE the project in the correct folder on Dropbox and you won't have any problems

Also, as link said:
lunk wrote:The Sync buttln in iOS Scriv is to to save the changes you've made to your project before closing. The similar button in the Mac version is to check if there are any changes. If you just open the project in the normal way on the Mac (after having Saved/synced on the iOS device) you don't have to do any special "syncing".

You're treating it as if it was still a question of "Sync with external folder" in rtf format, which it is not

I think Literature&Latte should CHANGE and EXPLAIN what the Menu Synth options are all about.

As old fashioned advise says: KISS

.

User avatar
KB
Site Admin
Posts: 20827
Joined: Tue Jun 13, 2006 11:23 pm
Platform: Mac
Location: Truro, Cornwall
Contact:

Thu Jul 21, 2016 8:58 pm Post

JuryDuty wrote:That's interesting--but too bad. I really like OneDrive for everything. It's pretty much replaced my need for anything like Dropbox. Not a huge deal to use Dropbox with Scrivener--it's just one more location I need to think of. I appreciate your taking the time to explain.


There are a few factors:

1. We need a sync solution that is cross-platform and works with Windows as well as Mac.

2. We needed a sync solution with an API readily available in Objective-C, so that I didn't have to write everything based on web hooks from the ground up.

3. We needed something a lot of users have.

4. We needed something that we knew synced reliably on macOS and Windows.

Dropbox ticked all of those boxes, and is the most popular sync solution. On the Mac, iCloud is equally popular, but it's not as good a solution for Windows users and it also has real problems with the Scrivener file format, so isn't really compatible.

Scrivener's sync code is essentially split into two units:

1. The code that uses the Dropbox APIs. This replicates what the Dropbox client does on the Mac, uploading, downloading and dealing with conflicts.

2. The code that reads the files changed by the mobile version and merges them with desktop changes.

This means that, in theory, I can add other sync solutions at a later date. I "just" have to write the code that does (1) for other sync solutions.

The problem is that for each sync solution, I pretty much have to code from scratch what the sync provider's desktop client does automatically. There are 4,000+ lines of code in my Dropbox sync file (probably 2,500+ once you remove blank lines and braces). And that's for an API that provides an Objective-C wrapper (i.e. a wrapper in the language I use). For other APIs, I would have to replicate everything this does, but it would take more code because few, if any, of the other APIs have Objective-C wrappers, meaning I would have to write lots of code to wrap around the raw server calls.

It wouldn't be so bad if the APIs provided by sync providers could do exactly what the sync clients do on the desktop. For instance, with Dropbox, on the desktop you just install the Dropbox app and that automatically syncs all the files in the Dropbox folder across machines and with their servers. It would be wonderful if the Dropbox APIs did the same, because then I could just write code that said, "Hey, Dropbox API, sync everything in this folder with the same folders on your servers." That's not how it works, however. Instead, I have to write code that replicates what Dropbox do for free on the desktop. I have to write the code that says, "Check what's changed online, download this, and upload this. Create this folder, and make sure you create all these folders before putting files in them. Oh, and this file seems to have changed in two places, so rename one version and place it here, and upload the other here. Delete these files." I also have to deal with storing a cache of the current folder state after a sync so that I can compare it to the Dropbox servers and the latest folder state when syncing to see what has changed.

All of this was a couple of months' work at least. To add OneDrive support and support for other, similar solutions, I would have to do all of this again, plus the extra code (and learning time) to create my own wrapper for their server calls. So you are looking at probably a couple of months of coding for each sync solution.

I certainly don't rule out adding support for other sync solutions in the future, but it won't be for a little while. Things are further complicated by the fact that Scrivener uses Dropbox API 1, because that is the version of their API that has an Objective-C wrapper. But Dropbox has just deprecated API 1, and are turning it off entirely this time next year. But their Objective-C wrapper for API 2 won't be available until August. This means that later this year, I am going to have to rewrite a lot of the Dropbox syncing code to support Dropbox API 2.

In other words, it all comes down to the practicalities of being a tiny team (i.e. a one-man coder in this case, as I'm the sole coder for macOS and iOS).

Now, at some point I do need to find a second developer to help me, and I want someone with sync expertise. That might open up possibilities. (Another practicality there is that we don't even have offices, though!)

I hope that all makes sense and doesn't come across as making excuses. :)

All the best,
Keith
"You can't waltz in here, use my toaster, and start spouting universal truths without qualification."

br
brett
Posts: 536
Joined: Tue Jul 11, 2006 3:17 am
Location: yet another Portlander

Fri Jul 29, 2016 10:25 pm Post

I'm a longtime Dropbox user and fan and am perfectly content to use it with Scrivener. However, if the main problem is the rtf packaging, might it someday be possible to permit iCloud syncing with writers who choose to use text-only Scrivener projects? I guess they can always use Ulysses or iAWriter or others.
Also, does MacOS Sierra's newly added capacity ito allow iCloud sync with the Desktop and Documents folders possibly suggest that a solution may arrive from Apple? Or is that even relevant? (I'm not a coder.)

User avatar
kewms
Posts: 6566
Joined: Fri Feb 02, 2007 5:22 pm
Platform: Mac

Fri Jul 29, 2016 10:36 pm Post

brett wrote:I'm a longtime Dropbox user and fan and am perfectly content to use it with Scrivener. However, if the main problem is the rtf packaging, might it someday be possible to permit iCloud syncing with writers who choose to use text-only Scrivener projects? I guess they can always use Ulysses or iAWriter or others.
Also, does MacOS Sierra's newly added capacity ito allow iCloud sync with the Desktop and Documents folders possibly suggest that a solution may arrive from Apple? Or is that even relevant? (I'm not a coder.)


Short version: iCloud does not handle the links between components of a Scrivener package correctly. For example, it's not possible to ensure that the .scrivx file (the master index used to build the Binder) matches the actual document files present in the project. The use of RTF files has very little to do with it.

Longer, more detailed version here:
http://www.literatureandlatte.com/blog/?p=713

Katherine
Scrivener Support Team

No
Novelist
Posts: 9
Joined: Wed Sep 28, 2016 7:08 am
Platform: Mac + iOS

Wed Sep 28, 2016 8:27 am Post

I guess I gotta chip in with this discussion. I've been a Scrivener User on the Mac for a long time and have been patiently waiting for the IOS version, you all know how long.

Now the wait is over over and I actually really like the IOS version, I think other than the mess of sync its a great app, especially on my iPad (I live on a boat) but even on the Iphone its a great tool. So no doubt, great job on the IOS version with the exception of syncing.

What is of course totally unacceptable is the choice, or lets say lack of choice in regards of syncing. I will NEVER put my creative work onto DROPBOX. All I want is plug my iPad or iPhone into my MBP and have it synced. Most of the time when I am writing, or come back from a remote sailing and writing trip I want to finish organizing my thoughts and I don't have ANY need for an internet connection in this case. In fact, other than for occasional research work an internet connection is totally counterproductive for creative work. Just MHO.

Your argument that a Dropbox account is FREE, is total nonsense. You pay with your private data which they sell to third parties, that's not FREE. It should be illegal to call data mining services FREE. Last time I checked, Mother Theresa didn't work for them so I don't think their altruistic streak is very pronounced ;-). Dropbox, FB, Google, and all the other cloud vultures have created billions of $$$'s from luring unsuspecting users into giving them their data for free, that's the only free part.

Because I really like Scrivener very much and of course as I have invested years into learning and setting up in Scrivener, I did try to find workarounds to sync between my three devices. But copying complete project files around is cumbersome, prone to failure, and defies all benefits of having the same SW on multiple devices. You change one line of a lyrics or a poem and have to make a note so you remember. Or constantly rename project files. Its a clear recipe for data loss and/or the need for sophisticated manual version control. That's 1970's syncing technology.

Your explanation that this is all iClouds fault, is pretty lame. I've been in SW R&D for a good part in my life. Yes, syncing, depending on your file model can be a tad complex. I understand that by using Dropbox' s built in sync algorithms you saved a lot of time as you had no expenses coding the sync yourself. The ones who are paying the bill to Dropbox are the Scrivener users with their data. But there is tons of ready code out there to do the sync work. To force your customers to one of the worst cloud data collectors is ridiculous and unacceptable especially for creative people.
Its like Google's Analytics and Adsense cookies (which run on Dropbox too). These are tools given to developers for FREE so they put it on their websites so they can milk the private data from the website visitors.

There may be people which are OK with the big brother data collection and sharing machine. Many, including myself, ARE NOT.

So if you really have no plans to support users with a privacy conscience, say that loud and clear. Don't blame Apple or say maybe we do something if they change their iCloud file model. In may case I'd have waited in vain for the IOS version and that be the end of the Scrivener rope for me. Then I can keep writing as before in IOS notepad and use copy and paste to get it into the OS X version. I am a writer, not a file administrator. I'd would have been better served if you'd have made that clear much earlier then I could have acted accordingly. I have to say very clear that I feel very neglected in my sync needs and that until I read the manual and worked with the new SW I wouldn't have been able to believe that you simply skipped on the most basic form of syncing projects between devices and tried to hand me over to Dropbox.

well, there is always hope. I see that I am not the only one in need of bare bone syncing without internet connection. I am looking forward for a quick resolution of this major usage shortcoming and hope that you will tackle this very soon.


all the best

cheers

Ernie



//////////////////////////////////

just read the Dropbox Privacy Policy and check outgoing traffic with tools like LIttle Snitch, see which trackers run while you are on Dropbox (with Ghostery for example) and it will make your skin crawl and you will never again put a single bit to their servers.

User avatar
devinganger
Posts: 2194
Joined: Sat Nov 06, 2010 1:55 pm
Platform: Mac, Win + iOS
Location: Monroe, WA 98272 (CN97au)
Contact:

Wed Sep 28, 2016 8:39 am Post

Novelist wrote:So if you really have no plans to support users with a privacy conscience, say that loud and clear. Don't blame Apple or say maybe we do something if they change their iCloud file model.


Exactly what do you expect L&L to do when Apple's own sync protocols mangle packaged files -- the underlying *APPLE* technology that supports the Scrivener file format?

No, seriously, what do you REASONABLY expect L&L to do in this situation when not even Apple has bothered to get their product working with their own technology? Come up with their own sync protocol? Even with existing code and APIs, we'd be waiting for the iOS version for another five years. L&L had to use a pre-existing engine. (That's like expecting a game designer to write their own engine instead of using Unity or one of the other choices out there.)

Dropbox is the only widely-used cloud sync application that supports OSX, Windows, and iOS (and looking toward the future, Android). Yes, there are others out there that support all those platforms, but they don't have nearly as many users. At least with Dropbox, the majority of people who are the target audience probably already have a Dropbox account and are familiar with it. OneDrive is right there with iCloud -- not up to the task. Writing code to support a sync engine has no single well-defined API all sync providers use so you can write once and let the user pick their favorite sync client/engine.

L&L offered iOS users a choice -- do it without the wire via Dropbox, or use the wire with iTunes. They're not forcing anyone to use Dropbox. Just because they made the choice YOU don't like doesn't mean it was the wrong one to make.
--
Devin L. Ganger, WA7DLG
Not a L&L employee; opinions are those of my cat
Life has a way of moving you past wants and hopes

User avatar
lunk
Posts: 4240
Joined: Wed Aug 21, 2013 4:24 pm
Platform: Mac + iOS
Location: Sweden 64° N

Wed Sep 28, 2016 10:35 am Post

Novelist wrote:All I want is plug my iPad or iPhone into my MBP and have it synced.


Have you checked how to sync via iTunes?


Novelist wrote:just read the Dropbox Privacy Policy and check outgoing traffic with tools like LIttle Snitch, see which trackers run while you are on Dropbox (with Ghostery for example) and it will make your skin crawl and you will never again put a single bit to their servers.


"... while you are on Dropbox"? Could you explain what you mean? When am I on Dropbox?
I am a user, writing non-fiction and science, using:
* Mac Scrivener 3 on a Macbook 12”, MacBook Pro 13”, and iMac 27”, running different OS.
* iOS Scrivener 1 on an iPhone 11 Pro, iPad Air 9.7”, and iPad Pro 12.9”, all running the latest iOS

Ki
Kinsey
Posts: 430
Joined: Mon Apr 09, 2012 6:06 pm
Platform: Mac + Windows

Wed Sep 28, 2016 1:05 pm Post

lunk wrote:
Novelist wrote:All I want is plug my iPad or iPhone into my MBP and have it synced.


Have you checked how to sync via iTunes?


devinganger wrote:L&L offered iOS users a choice -- do it without the wire via Dropbox, or use the wire with iTunes. They're not forcing anyone to use Dropbox.


Novelist, given your preference for working without an internet connection, the point made by Lunk and Devinganger bears repeating. You surely missed the option for syncing using direct USB connection via iTunes. No internet connection required, I believe. It seems that would perfectly suit your use case, omit the need to use Dropbox and considerably decrease your stress levels.