iOS Scrivener Sync Altermatives, Part 1: iCloud Drive #amwriting

Many Scrivener users want iOS sync to work via iCloud Drive. Desperately. I hear from users on the Literature and Latte forums that they’re keeping their working Mac/iOS projects in iCloud Drive with no apparent problem.

Don’t do it! I also hear users who lose all their writing this way. It’ll work fine—until it doesn’t. Because of Scrivener’s unique “hidden multiple files” project format, the only recommended cloud service for “working” projects is Dropbox. Period.

Nonetheless, I’m going to suggest ways to use iCloud Drive to get work from Mac to iOS and back, and from iOS device to iOS device. These are file transfer solutions, not sync solutions. They’re not automatic. They’re not “transparent.” They don’t happen in the background without you doing anything (once you’ve set it up). If you’re looking for a “set it and forget it” solution, these aren’t it.

What they are, is safe. They use iCloud Drive. You can automate parts of the process. Still with me? Good! Let’s get into the setup.

System Requirements

iOS Scrivener 1.2 or greater
iOS/iPadOS 11 or greater
Mac Scrivener 2 or greater
Any version of MacOS that supports iCloud Drive

For iOS 11:
FileApp
For iOS 12:
The Shortcuts app, and a shortcut as described here: UnZIP and Open In…

Mac – iOS:

Mac side:

  1. First, set up your iCloud preferences for maximum safety when working with Scrivener and iCloud Drive
    1. Open the Mac System Preferences app, and open iCloud preferences.
    2. Next to iCloud Drive, click the Options… button.
    3. Turn off “Optimise Mac Storage”, in the bottom left of the options dialog. This is essential. Scrivener depends on your projects being physically present on your hard/ssd drive. If any portion of a project has to be downloaded from iCloud, you risk project corruption.
    4. For maximum safety, turn off “Desktop and Documents Folders.” This is less urgent than the “optimise Mac storage” setting, but if you don’t need this for other apps besides Scrivener, please turn it off. You will not use this to transfer Scrivener projects.
  2. Next, set up a transfer folder.
    1. Open up an iCloud Drive window. Create a new folder, and name it something obvious, like “Scrivener Transfers”.

    Work on your Mac Scrivener project as you usually do. When you’re ready to stop work on your Mac:

  3. From the File menu, select File->Back up->Back up to…

  4. In the Back up to: dialog, check the “Back up as ZIP File” box towards the bottom of the window. This is essential. Here’s where you make this process safe for your data. By making a ZIPped backup and transferring that, you save your project in a single file that isn’t vulnerable to sync corruption like an unzipped, .scriv project.

iOS side:

When you’re ready to work on your project on your iOS device:

  1. Open iOS Scrivener.
  2. Navigate to your projects screen if needed.
  3. If there are any copies of your project on your iOS device:
    1. Tap the “Edit” button at the top of your vertical projects button.
    2. Delete the iOS copies of the project. This will eliminate any possible confusion by working on an old copy of your project.
    3. Tap the “Done” button
  4. For iOS 12 or 13
    1. Open the Files app
    2. Navigate to the “Scrivener Transfers” folder (or whatever you named it)
    3. iOS 13+:
      1. Tap on the (most recent) backup project. The Files app will unZip the project. Wait until the project is unzipped AND uploaded to iCloud.
      2. Tap on the unZipped project. It will open in Scrivener.
    4. iOS 12:
      1. Create an “Unzip and Open In…” shortcut as described in this L&L forum post: https://www.literatureandlatte.com/forum/viewtopic.php?p=287616#p287616
      2. Tap on your zipped project, and select Unzip and Open In… as your action.
      3. After unzipping, select Scrivener as your target. Your project will open directly in Scrivener.
  5. For iOS 11:
    1. Get a free third-party utility, FileApp. (Not the same as Files!!!)
    2. Open FileApp. Tap on the plus icon in the upper right corner. Then tap the import icon in the lower left.
    3. Tap Browse, navigate to your transfer folder on iCloud Drive, and select your zipped project. It will be copied to FileApp
    4. Still in FileApp, tap your project to unzip it there.
    5. Drill down into the unzipped project until you find a folder that has an extension of .scriv (very important!)
    6. Long press on that .scriv folder, then tap the export icon and open your project in Scrivener.

When you’re ready to put away your iOS device:

  1. Return to the projects screen.
  2. Tap the “Edit” button at the top of your vertical projects button.
  3. Select the project you just worked on.
  4. Tap the export button
  5. iOS Scrivener will make a zipped backup of your project
  6. Save to to the “Scrivener Transfers” folder (or whatever you named it) in Files
  7. (Optional) Delete the project from your iOS Scrivener app (select the project and tap “Delete” at the bottom of your screen) If you do this, you can avoid confusion about which version of your project you worked on last.
  8. Tap the “Done” button

Back to the Mac:

When you’re ready to start work on your Mac again:

  1. From the Finder, open the “Scrivener Transfers” folder (or whatever you named it) on the iCloud drive.
  2. Delete the unzipped project—it’s now old
  3. Double click on the most recent zipped version. Rename the unzipped project to something obvious (“My Project From iOS”) and drag it to your desktop.
  4. Go ahead and double-click the iOS version on your desktop to open it. Scrivener will incorporate the iOS changes. Close the project.
  5. Open your old Mac Scrivener project in your usual way.
  6. From the File menu, select File->Import->Scrivener Project
  7. In the Open dialog, select the project version from iOS that you dragged to your desktop.
  8. When you see the “Merge?” dialog, go ahead and select “Import and Merge”. After you’ve checked to be sure your changes made it over, you may delete the iOS version on your desktop (it’s secure in zipped form in your transfers folder.)

Optional Automation

If you’d like to have the “Mac Side” steps 3 and 4 automated, do this:

  1. From the Scrivener menu, select Scrivener->Preferences…
  2. Tap on the Backup icon
  3. Turn on these Backup preferences: Automatic backup, backup on close, backup on manual save, compress backups as ZIP files, use date in backup file names.
  4. Keep at least 25 backups.
  5. Choose your iCloud “Scrivener Transfers” folder as your backup location.

    Now whenever you either close your project, close Scrivener, or use cmd-s to save, a fresh zipped backup will be saved in your Scrivener transfers folder, named so you can tell them apart, ready to be opened in iOS Scrivener. If you don’t think you’ll turn off your Mac, close your project, or remember to type cmd-s, there’s one last automation step:

  6. Still in the Preferences dialog, tap on the General icon and select Automatic Quit. Put a checkmark beside automatic quit, and adjust the interval so that it’s not so short as to be annoying, but often enough that Scrivener will quit (thus making an automatic backup in iCloud) before you pull out your iPhone or iPad to work.

iOS – iOS

iOS to iOS is easier than the above in that we only need to worry about one environment. It’s harder because we have no way to automate any of this. Using this method to transfer files between two (or more!) iOS devices is totally dependent on user discipline to keep versions straight. Be told.

Prepare the Files app

  1. Open the Files app on your first iOS device, which I’ll call D-One.
  2. Next, set up a transfer folder in iCloud drive. Just as for Mac – iOS, create a new folder, and name it something obvious, like “Scrivener Transfers”.

Switching from D-One

When you’re ready to put away D-One, or switch to your other iOS Device, D-Two:

  1. Return to the projects screen.
  2. Tap the “Edit” button at the top of your vertical projects button.
  3. Select the project you just worked on.
  4. Tap the export button
  5. iOS Scrivener will make a zipped backup of your project
  6. Save to to the “Scrivener Transfers” folder (or whatever you named it) in Files
  7. (Optional) Delete the project from your iOS Scrivener app (select the project and tap “Delete” at the bottom of your screen) If you do this, you can avoid confusion about which version of your project you worked on last.
  8. Tap the “Done” button

Starting up D-Two

When you’re ready to work on your project on your second iOS device, D-Two:

  1. Open iOS Scrivener.
  2. Navigate to your projects screen if needed.
  3. If there are any copies of your project on D-Two:
    1. Tap the “Edit” button at the top of your vertical projects button.
    2. Delete the iOS copies of the project. This will eliminate any possible confusion by working on an old copy of your project.
    3. Tap the “Done” button
    4. For iOS 12 or 13
      1. Open the Files app
      2. Navigate to the “Scrivener Transfers” folder (or whatever you named it)
      3. iOS 13+:
        1. Tap on the (most recent) backup project. The Files app will unZip the project. Wait until the project is unzipped AND uploaded to iCloud.
        2. Tap on the unZipped project. It will open in Scrivener.
      4. iOS 12:
        1. Create an “Unzip and Open In…” shortcut as described in this L&L forum post: https://www.literatureandlatte.com/forum/viewtopic.php?p=287616#p287616
        2. Tap on your zipped project, and select Unzip and Open In… as your action.
        3. After unzipping, select Scrivener as your target. Your project will open directly in Scrivener.
    5. For iOS 11:
      1. Get a free third-party utility, FileApp. (Not the same as Files!!!)
      2. Open FileApp. Tap on the plus icon in the upper right corner. Then tap the import icon in the lower left.
      3. Tap Browse, navigate to your transfer folder on iCloud Drive, and select your zipped project. It will be copied to FileApp
      4. Still in FileApp, tap your project to unzip it there.
      5. Drill down into the unzipped project until you find a folder that has an extension of .scriv (very important!)
      6. Long press on that .scriv folder, then tap the export icon and open your project in Scrivener.

Repeat the cycle as needed. Enjoy!

Scrivener for iOS — Best Practices for Syncing @ScrivenerApp

2016-07-14 11.57.44
Learn to love it — Scrivener’s “Syncing with Dropbox” screen

You’ve just bought Scrivener for iOS! Yay! You’ve downloaded it to your iPhone, iPad, or iPod.

The first thing I suggest you do is carefully read and work through the Tutorial project that’s included with Scrivener. Especially I suggest reading the “Syncing” section carefully, and setting up your Dropbox sync folder to your satisfaction. Go ahead, I’ll wait.

Urgent update 20 July 2016 11:49 AM PST:
There’s enough confusion about this on the Literature and Latte forums, that I’ll mention it now — do NOT use the “Sync with External Folder” option in either Mac or Window Scrivener to move your project to Dropbox for iOS Scrivener! That’s for lesser editors, not iOS Scrivener. For iOS Scrivener, just move your entire .scriv project (looks like a file on Mac, like a folder on Windows) to the folder inside Dropbox that you’ve chosen as your sync folder. Or copy it, or use “Save as…” from the File menu.

Now, back to your regularly scheduled blog post…

Are you frustrated because sync seems clumsier than in other iOS apps you’ve used, or because it’s not on [insert favorite cloud service here]? I get it; while it’s better than trying to use the older External Folder or Index Card syncing facilities from Mac to iOS, it’s still hardly a set-and-forget service. (Index Card in particular was a challenge…) If you’re curious about the technical reasons it’s the way it is, and in particular why it’s not on iCloud, I suggest reading the post Scrivener for iOS: Syncing on Literature and Latte’s blog.

Okay! You’ve selected a folder (or decided to use the Apps/Scrivener default folder) on Dropbox. You’ve maybe synced a copy of the tutorial project to it. Here are my suggested best practices for syncing.

Dropbox Hygiene:

  • Keep your sync folder clear! Everything in that folder gets downloaded to your iOS device, and there’s no point in taking up space on your device for files Scrivener can’t use. Only the Scrivener projects that you want to work on in iOS Scrivener and a few adjunct files (fonts, format preset files, and compile appearance files) should live there. If you’re like me, you’ve got a ton of Scrivener projects and an elaborate filing system already set up. I’ve chosen to move my active work-in-progress (WIP) projects to the sync folder, and keep aliases to them in their usual spots in my hard drive’s directory. Cluttering your sync folder will make your initial sync longer and uses space on your iOS device’s storage.

Mac and Windows Scrivener Setup and Projects Setup:

SkitchBoth
In the Backups section of Preferences:

  • Turn on Automatic Backups, and check the “Backup before syncing with mobile devices” option. If hard drive space is a problem, turn on the “Compress Automatic Backups” option and set the “Only keep… xx backups” limit to a number that won’t overwhelm your space.

In the Import/Export section of Preferences:

  • Turn on the “Place documents affected by sync into a ‘Synced Documents’ collection” option.
  • If you like, turn on the “Automatically show the ‘Synced Documents’ collection after a sync” option.
  • I recommend against the “Take snapshots of updated documents” option. A copy of any conflicted document will always get saved in a “Conflicts” folder, and if you have your automatic backups set as above, you have a backup of your entire project before sync as well. Those unneeded automatic snapshots will start slowing up your downloads and taking much space on your iOS device if you do a lot of back-and-forth between iOS and your Mac or PC.

General changes you may want to make to your project (Optional!):

  • Keywords and custom meta-data can’t be accessed in iOS Scrivener. If you use these a lot, you may wish to store that information in your synopses or your document notes instead.
  • Project Notes also are not accessible to iOS Scrivener. If you’d like to have these available on your iOS I suggest making a top-level folder called “Project Notes” and moving all your project notes files to ordinary text files kept there.
  • Get rid of any snapshots that you don’t need. The old means of syncing Mac to iOS in particular resulted in a lot of automatic snapshots being created. These will get synced to iOS Scrivener but aren’t accessible there, and so will take up your device’s storage space and slow down your initial sync.

iOS Scrivener Setup:

Go to the iOS Settings App. Yes, that’s right, the main settings app for your device. Scroll down your list of apps and tap on Scrivener. There are many options in here that just aren’t discussed in the iOS Scrivener tutorial. Feel free to play with them, but for smooth syncing there are a few you’ll want enabled.

settings

  • First, Tap on Syncing and Sharing to reveal the options we want.
  • Be sure that “Auto-Detect Changes” is set to ON. This means that you will always be notified on the Projects screen if there are changes you need to download to your iOS device.
  • I suggest setting “Sync Projects on Close” to Always. This option makes saving your work back to Dropbox almost automatic.

You have some choices with “Warn if No Wi-Fi.” (This lets you limit cellular data usage without turning it off completely.)

  • If your data plan is generous and you’re not worried about running through it, choose “Never.” Now, every time you close a project your changes will be uploaded to Dropbox automatically, by Wi-Fi if available, and via cellular data if not.
  • If your cellular data plan is moderate and you need to worry somewhat about overage charges, choose “Over 10MB.” Now small changes (such as an afternoon of typing text) will be synced automatically as above. If you’ve accumulated more than 10 MB of changes (such as several big PDFs added to your research folder) and you’re on a cellular connection, Scrivener will display an alert that will let you wait on your upload until you’re within reach of Wi-Fi.
  • If you need to count every byte of bandwidth, choose “Always.” If you’re on Wi-Fi, changes will be synced automatically. But, if you’re on a cellular connection, you’ll always see that alert that lets you wait until you’re on Wi-Fi. If it’s critical that your changes get uploaded to Dropbox now, you can go ahead and do that via cellular data anyway.

Workflow Suggestions:

  • Always, always close your project before switching devices! On Mac or Windows, that project is both saved and synced to Dropbox by closing its window. On iOS, navigate back to the “Projects” screen. You’ll invoke the “Sync Projects on Close” option, and your changes will be uploaded to Dropbox with minimal intervention on your part.
  • When leaving your Mac or PC, wait to be sure that Dropbox has finished uploading your changes! This isn’t a problem on your iOS device, as the “Syncing” screen will stay visible until Dropbox is done, but checking your Dropbox app on Mac or PC to be sure that “Up to Date” is checked, will save — not your data, you can’t lose that — but your time to resolve conflicts.

Next up: Scrivener for iOS — How to Resolve Sync Conflicts