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, 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.
However, if the entire sync doesn’t complete then you could end up with a few of the operations synced, but others not synced. This can lead to problems when you then try to download those changes on a different machine.
Avoiding Issues
Fortunately there are some steps you can follow to minimize the chance of lost content due to incomplete syncs:
On Machine #1
- Make sure to quit Curio so all changes are saved and committed to disk.
- 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
- Login and connect to the Internet.
- 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.
- 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.
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
At the time of this writing, Box Drive has a significant limitation that impacts Curio projects:
- Box Drive does not support Mac package files, thus cannot even support Curio’s project file format.
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:
And the icon next to the file being synced looks like this:
When Dropbox has finished syncing…
Its menu bar icon looks like this:
And the icon next to the file being synced looks like this:
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:
And the Finder status bar (View > Show Status Bar) will show you additional details:
When iCloud has finished syncing…
The icon in the sidebar simply goes away.
Offloaded Files
Dropbox’s Smart Sync and iCloud’s Optimized Mac Storage both support offloaded files. An offloaded file or folder has been removed from your local computer and therefore only exists on the cloud.
Sync services will indicate this offloaded status with a little cloud icon next to the file name in the Finder, like Dropbox’s icon and iCloud’s icon.
Other service providers have similar features such as Google Drive for Business’s Google Drive File Stream and Microsoft OneDrive’s On-Demand.
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.
Important
We strongly encourage making sure an entire project is downloaded locally before attempting to open it.
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
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.
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 asVacation.curio
toVacation.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
.