First, Some General Principles
A good syncing solution let's you easily see information from different accounts on different devices and different applications. The characteristics of a good syncing solution are:
- Easy to use
- Transparent to the user
- Good security
- Standards based
- Supports offline use
A key concept for syncing is the location of the master version (the "Truth") of your data. The location of the Truth is critical. If the Truth is located on a specific device, you won't be able to access your data if that device is turned off or isn't connected to the Internet. In a good syncing solution, the Truth is always located in the Cloud.
Conversely however, a good syncing solution will maintain a local copy of the data on each of your devices so you can still access and work with your data even if you're not connected to the Internet or have a bad, slow or expensive Internet connection. The local copy of the data then gets synced periodically as needed to the Truth (master version of the data) when there is a good Internet connection.
Additionally it's critical that access to the Truth be available through open standardized protocols. The main ones are:
- IMAP - Viewing, storing and accessing emails.
- SMTP - Sending emails
- CalDav - Calendards, Notes, ToDos, Reminders
- CardDav - Contacts
If a solution doesn't use open standard protocols, then a) you wont' be able to access it or it will require the use of a proprietary API to access the data, b) you run the risk of losing access when the vendor makes changes to their software, c) you lose your freedom to keep your data and change to a different application from a different vendor, and d) syncing is likely to be cumbersome and unreliable.
Methods for Syncing
There are different methods for syncing and it's useful to understand the differences
Cloud Based Standardized Servers - Data is synced with a master version (the "Truth) of the data which resides on a cloud based server using open standardized protocols. This is generally the best method for synchronization.
- Available anywhere on any platform, device or account that supports the standardized protocols (IMAP, CalDav, CardDav)
- User has the maximum freedom to change applications or use different applications at the same time.
- Reliable synchronization that's transparent to the user.
Syncing Using Proprietary Protocols - Data is synced on an ongoing basis with another application or account using proprietary protocols.
- Inability to access data when an API is unavailable or changes
- Unreliable syncing
- Sometimes device based and not always available
Importing Data - Data is imported once from another device, application or account.
- Quick, fast, and easy to implement
- Data is not synced on an ongoing basis
Some Issues with Existing Products and Providers
Google - Most Google data (Gmail, Google Calendars, Contacts) can be accessed through standard protocols. However there are some issues
- Notes are not available.
- ToDo's (Reminders are not standards based and can't be accessed from other applications.
- There has been discussion in the past of limiting or controlling access to data from other applications.
Microsoft Exchange - The primary access to Exchange is through EWS, a proprietary API. Unless IMAP support is enabled on the Exchange server, email can only be accessed using this proprietary API.
Apple - Has done a much better job of supporting open protocols in recent years. Some problems remain:
- Unless connected to an iCloud account, Contacts and Reminders on an iPhone can only be synced using Apple specific protocols.
- Notes are stored on an IMAP server instead of a CalDav server.
- A separate password is required for access from third party applications if two-factor authentication is enable for iCloud.
Evernote - Uses proprietary formats and protocols. Evernote data can't be accessed from or moved to other applications or platforms unless Evernote provides a proprietary API.
(Information on other products and vendors is based on information available at the time this article was published. It may be incorrect or have changed.)
How Flo Syncs with Other Apps
Flo isn't perfect... but we've tried hard to provide the best possible syncing solutions which a) allow users the maximum flexibility to freely change between Flo and other apps, b) assure data availability and integrity, and c) are easy and transparent for users. Of course there are some limitations due to our own resource constraints as well a limitations resulting from the use of proprietary non-standard protocols and formats by other vendors.
Here is summary of what you can and can NOT do with Flo and how it syncs with other applications and accounts.
Apple Contacts - Flo will ask you to import contacts from your iPhone Contacts app the first time you use Flo. Any changes made to contacts in Flo will not impact the contacts on your iPhone. If you make changes to contacts on your iPhone they will not sync with your Flo contacts. However, if you want to re-import iPhone contacts into Flo, you can do so from Flo (Settings > Contacts).
Apple Calendars and Reminders - If you have an iCloud account, you can add it to Flo. Events and ToDos (Reminders) will all be synced between your iPhone and Flo via iCloud. Changes made in Flo will be reflected in your Apple calendar and Reminder apps and vice versa. From a technical perspective, Flo is not syncing with your Apple apps. Flo syncs it's data with the iCloud server. The iCloud server then syncs to your iPhone Calendar and Reminders apps.
Apple Notes - The Apple Notes application uses IMAP instead of CalDav. Flo will not synchronize with your Apple Notes
Gmail - Flo syncs quickly, automatically and transparently with Gmail if you add your Google account to Flo.
Google Calendar - Flo syncs quickly, automatically and transparently with Google Calendars if you add your Google account to Flo.
Google Contacts - Flo does NOT currently sync with Google contacts. We plan to do so in the future.
Yahoo - Flo syncs with and supports Yahoo and mail and calendar servers IMAP, SMTP, and CalDav.
Microsoft Exchange - Flo syncs with Microsoft Exchange accounts if the Exchange Server is enabled to support IMAP. We do NOT currently support the Microsofts's proprietary EWS protocol, but we plan to do so in the future.
Evernote Notes - Flo does not sync with Evernote as they employ proprietary formats and protocols.
Third Party Email Accounts - If the account supports IMAP and SMTP, Flo will sync the account. You can add 3rd party accounts from Settings > Accounts > Add more accounts > Other. If the account does not use common names for the the IMAP and SMTP server you will need to add these manually. In general, Flo will discover the correct settings for the account, but in some instances it may be necessary to access advanced settings and to enable the account.
(Statements about future plans are not a guarantee that we will implement a feature. Plans may change for any or no reason.)