Introducing OneSync v2

July 23, 2015

(UPDATE: If you migrate from OneSync v1 to OneSync v2, you probably want to read How to Transfer Settings from OneSync v1 to OneSync v2)

Today I released a new Android app: OneSync v2.

On the surface OneSynce v2 is very similar to an existing OneSync v1 app but underneath it has a completely new sync engine. The new engine uses the new OneDrive API from Microsoft and is better than the one in v1 app in every regard. All existing users of OneSync v1 app are highly recommended to migrate to OneSync v2. I don’t plan to pull OneSync v1 from Google Play any time soon but new feature development will happen only in OneSync v2. OneSync v1 uses the old OneDrive API that has many limitations and bugs. Microsoft is keeping this old API running but eventually they will retire it.

What OneSync v2 Does Better

Here the list of things what v2 app is much better at than v1 app

  • It can upload files larger than 100 MB (for example video or backup files)
  • Resumable upload. Large upload takes time. If it’s interrupted because (for example) the Internet connection breaks the app remembers the position in the file where upload was stopped. At the next attempt upload continues from this position, not from the very beginning of the file. If the app restarts upload from scratch, it may fail again, restart again,… and no progress is being made. Resumable upload may take several attempts to finish but bytes already uploaded in each failed attempt are not thrown away. The 100 MB max upload limit was imposed by the old OneDrive API, but even if there was no such limit, without resumable upload it would be very difficult to upload large files anyway.
  • Resumable download. Similar to resumable upload but in the other direction.
  • No more mysterious sync failures happening to some specific files. The old OneDrive API used in OneSync v1 has a nasty bug: it reports wrong sizes for some files on its side. As you can imagine knowing the correct file size is really important for a sync app. OneSync v1 uses heuristics to workaround this server side bug. But the workaround does not always work and is not without negative issues. Although I still see wrong file sizes reported by the new OneDrive API, OneSync v2 does not solely rely on file sizes. It also uses SHA-1 hashes to determine if what’s on the server is the same as what in the device.
  • Accurately resolve sync conflicts. OneSync is conservative by design. It tries hard to avoid data loss. If there is any chance that a file may have been modified on both sides, the app declares that there is a sync conflict and retains both versions. OneSync v1 often creates false conflict copies because of the wrong-file-size bug on the server side. OneSync v2 compares SHA-1 hashes of the server copy and the local copy of the file. The probability of false sync conflict is now very small.

OneSync v2 Future: Support for OneDrive for Business (Office365 Accounts)

OneSync v1 does not support OneDrive for Business/Office365. Neither does OneSync v2 in the current version. Despite the similarity in names OneDrive for Business is a different product with vastly different API not suitable for file sync. The good news is Microsoft is putting a single API, the new API used by OneSync v2, in front of both OneDrive Personal and OneDrive for Business/Office365. The API for OneDrive for Business is not ready for production use yet but will be in the future. When it happens I will add support for OneDrive for Business to OneSync v2.

Special Discount for Existing OneSync v1 Pro Users

Existing OneSync v1 Pro users get substantial discount, about 70% off the regular price of OneSync v2 Pro upgrade. To get the discount you need to

  • Keep OneSync v1 installed and updated to its latest version from Google Play. Make sure Pro upgrade is active there.
  • Install OneSync v2. Go to menu Upgrade. The v2 app will ask the v1 app if you’re v1 pro user and if you are discount will be offered.

Running OneSync v1 and OneSync v2 Side by Side

This would be fine but you should not configure them to sync the same folders in your device with the same OneDrive account. Imagine one pair of folders in both apps but with different sync methods, for example Upload only in one app and Download mirror in the other app. What happens with such config is underterministic and surely will make a mess of your data. At the very least you should disable autosync in v1 app, test v2 app and switch over when you feel confident it works well for you.