Project Syncing

You can use sync services, such as Dropbox and iCloud, to sync your Curio project files between your machines. However, you should follow some guidelines to minimize the chance of conflicts or partial syncs.

Backgrounder

First some definitions to provide more details on how syncing works.

Sync Services

By far the most popular sync services used by Curio customers are Dropbox and iCloud. However, there many other popular options such as Google Drive, Microsoft OneDrive, and Box Sync, which customers may use to sync their files between machines.

These services work by watching for local file changes and then silently uploading those changes to their cloud servers. They will also receive notifications from the cloud when file changes are detected there, perhaps from one of your other machines, so the files can be downloaded to your local machine.

If a problem occurs during this process or if changes are made on multiple computers between syncs then the result is a conflict, where the service can’t determine how the file should be reconstructed locally.

Curio Package Files

A Curio project file is technically a macOS package file. It may look like normal file, however it’s a actually a special kind of folder containing dozens, hundreds, or even thousands of files and subfolders. Everything contained in your project is organized neatly within this hidden file hierarchy.

You can carefully explore within a Curio project package by right-clicking on a Curio project file in the Finder and choosing Show Package Contents to see what’s inside. Just be sure not to change any files you find within.

When considering syncing, this means that all of these files in your project package need to be completely synced when changes are made. Most operations, such as editing a text figure, or deleting an idea space, might only impact a couple of files within the project package hierarchy.

Important

If the entire sync doesn’t complete then you could end up with a mix of old and new internal project files. This can lead to problems when you then try to download those changes on a different machine. In a worse case scenario Curio could be unable to open the corrupted project.

Avoiding Sync Issues

Fortunately there are some steps you can follow to minimize the chance of lost content due to incomplete syncs:

On Machine #1

  1. Make sure to quit Curio so all changes are saved and committed to disk.
  2. Allow your sync service time to synchronize changes to the cloud before disconnecting from the Internet. For Dropbox, simply wait for its icon in the menu bar to stop animating. For iCloud, you can open a Finder window and see if the iCloud Drive sidebar item has an animating sync icon or if the status text indicates that changes are uploading. Essentially don’t immediately disconnect from the Internet, give your Mac a few moments to finish the sync.

Note that if you have a large number of changes or added large assets to your project then it may take a few seconds for those changes to sync up the cloud.

On Machine #2

  1. Login and connect to the Internet.
  2. Allow your sync service time to synchronize changes from the cloud before launching Curio. This means waiting for that animating icon to finish. It is very important to wait for all changes to sync down before opening your project.
  3. Launch Curio and open your project.

Important

In short, the key is to make sure everything completely uploads and downloads with the syncing service before disconnecting from the internet or opening the project. You do not want a partial upload or download sync or corruption can occur.

Sync Indicators

Most cloud services have handy indicators which can let you know when it’s syncing files between your local drive and the cloud, so you can wait until the sync is completely finished before disconnecting from the network or launching Curio.

Dropbox Sync Indicators

More information about Dropbox syncing can be found here.

When Dropbox is syncing…

Its menu bar icon will show an animating icon: Dropbox Icon Syncing

And the icon next to the file being synced looks like this: Dropbox File Syncing

When Dropbox has finished syncing…

Its menu bar icon looks like this: Dropbox Icon Syncing

And the icon next to the file being synced looks like this: Dropbox File Syncing

iCloud Sync Indicators

More information about iCloud syncing can be found here.

When iCloud is syncing…

The iCloud Drive item in the Finder sidebar will show an animating icon:

iCloud Sidebar Icon Syncing

And the Finder status bar (View > Show Status Bar) will show you additional details:

iCloud Status Bar

When iCloud has finished syncing…

The icon in the sidebar simply goes away.

OneDrive Sync Indicators

More information about OneDrive syncing can be found here with details on indicators and optional Finder integration that you can enable.

News about an important update to OneDrive for macOS Monterey can be found here.

Google Drive Sync Indicators

More information about Google Drive syncing can be found here with details on where they show sync status information.

Offloaded Files

Many sync services support offloaded files where the file or folder existing primarily in the cloud and is only downloaded to your local computer when you try to access it.

Examples include:

These sync services will usually indicate this offloaded status with a little cloud icon next to the file name in the Finder, like Dropbox’s Dropbox Offloaded File icon and iCloud’s iCloud Offloaded File icon.

Problems with Offloaded Files

Generally this is considered a space-saving feature so that older content is automatically removed if you haven’t needed it in a while. However, it can cause problems if you go to access that data and either don’t have access to the internet at the moment, or the content requires a long time to download.

Since Curio’s project package files are technically directory hierarchies, if a sync service decided to offload items within the hierarchy then that could cause corruption problems.

Force Download

Important

We strongly encourage making sure an entire project is downloaded locally before attempting to open it.

To force the service to download a Curio project file you can follow these steps:

  • On Dropbox, right-click on the project file and choose Smart Sync > Local.
  • On iCloud, right-click on the project file and choose Download Now.
  • On OneDrive, right-click on the project file and choose Always Keep on This Device.
  • On Google Drive, right-click on the project file and choose Drive File Stream > Available Offline.

The cloud service will download the project file and then you can double-click to open it in Curio.

No Sync

You can actually direct both Dropbox and iCloud to not sync a specific folder, even if located in normally synced folder hierarchy, like Dropbox’s ~/Dropbox folder, or iCloud’s ~/Documents folder. Perhaps you want to make this change temporarily, because you’re going on a trip, or you wish to turn it off permanently.

  • For Dropbox, go into its Preferences > Selective Sync and uncheck the folder.
  • For iCloud, you can rename the folder so it has a .nosync extension such as ~/Documents/Curio.nosync and iCloud will no longer sync its contents. You can even use this trick to avoid syncing a specific file such as Vacation.curio to Vacation.nosync.curio.

Of course, if you really wish to make this a permanent change then simply drag your Curio project documents folder elsewhere, such as right off the home folder: ~/Curio.

Sync Limitations

Some cloud services have limitations which may cause issues.

OneDrive Limitations

At the time of this writing, OneDrive has some limitations that could impact Curio projects:

  • OneDrive paths can’t have the vertical bar character (“|”). This could cause a problem if you have, for instance, an idea space title with a vertical bar in it, thus the underlying asset file would have the same character, and OneDrive will balk at it. Curio filters out many “bad” characters from file names ( / \ ? % * : ” < > ), but that character’s unfortunately not one of them (we’re a bit nervous to add it now as it could break some existing linkages).
  • OneDrive has a max path length of 400 characters. That sounds like a lot but if you put a Curio project in a deeply nested subfolder with lots of long folder names, and Curio itself creates files with long 36-character unique ID’s then you could sneak up on it.

In short, be very careful if using OneDrive.

Box Drive Limitations

While older versions of Box Drive did not support Mac package files, the latest Box Drive now supports Mac package files on macOS Big Sur and beyond, thus should now support Curio’s project file format. Make sure you’re on the latest version of Box Drive to ensure maximum compatibility.