Cloud syncing?

A place for users to ask each other questions, make suggestions, and discuss Bookends.
kga1978
Posts: 107
Joined: Fri Jan 12, 2007 4:12 pm

Cloud syncing?

Post by kga1978 » Thu Apr 19, 2012 11:21 pm

Hi,

I just checked out the newest Sente iPad/Mac combo and I gotta say I am impressed with their syncing, tagging, pdf annotation features. I have been a very long-time user of BE, but I rely so much on cloud syncing and having my files up-to-date across platforms that I see myself needing these features very shortly. Are there any plans of adding cloud syncing (no, I don't wan't the 'on the same network' syncing) to BE and BOT? Annotations? I would hate to fork out the $100 for Sente and leave BE as I have used it for so long and have seen how it has grown.

Jon
Site Admin
Posts: 8204
Joined: Tue Jul 13, 2004 6:27 pm
Location: Bethesda, MD
Contact:

Re: Cloud syncing?

Post by Jon » Fri Apr 20, 2012 7:50 am

This is something we've been thinking about. One problem with cloud syncing is that, as I understand it's current state, the whole library is synced, not just the changes (our syncs, Bookends and BOT, sync just changes). Another is that there is no conflict resolution. That is, if the library on each Mac has changed independently (say you've added references to both), when you sync one library will be replaced with the other, and you'll lose your changes (unlike our sync). Cloud sync sounds great, but as I see it there are major drawbacks in practice.

Jon
Sonny Software

cboulanger
Posts: 55
Joined: Mon Jan 28, 2008 6:18 pm

Re: Cloud syncing?

Post by cboulanger » Sat Apr 28, 2012 4:51 am

I already use DropBox for this (just put your library in your DropBox), and it works well, but as Jon says, this works only if you work on one computer, close the library, and then work on the other. If you change both, there'll be conflicting copies (At least DropBox doesn't simply discard the older copy). Probably the only way to do this properly is if Sonnysoftware would set up its own cloud service (like Zotero does) with its own sync protocol. Not something that can be done overnight or cheaply.

mwarner
Posts: 41
Joined: Tue May 18, 2010 12:16 pm

Re: Cloud syncing?

Post by mwarner » Fri May 04, 2012 12:15 pm

I'll chime in here and say that I really would like to see cloud syncing baked into the desktop and iOS applications as soon as possible as well. I too am already using dropbox to hold my database and attachment folder, and hate the idea of a wifi sync for working with Bookends on tap. I understand the sync conflict issue, but I think I can police myself to close things down in one place before opening them up in another. ...here's hoping.

Jon
Site Admin
Posts: 8204
Joined: Tue Jul 13, 2004 6:27 pm
Location: Bethesda, MD
Contact:

Re: Cloud syncing?

Post by Jon » Fri May 04, 2012 12:22 pm

Do you sync BOT with Bookends? If so, what's the problem with Bonjour sync between BOT and Bookends? Also, it's configurable (e.g. sync only some groups, ignore pdfs over a certain size, etc.), which an iCloud sync would not be. As for iCloud, remember that you can only sync Mac apps bought through the Mac App Store (not a problem for BOT, because you have to buy it from the App Store).

Jon
Sonny Software

thecritic
Posts: 154
Joined: Tue Aug 09, 2005 2:10 pm

Re: Cloud syncing?

Post by thecritic » Wed May 09, 2012 5:32 pm

Jon wrote:Do you sync BOT with Bookends? If so, what's the problem with Bonjour sync between BOT and Bookends? Also, it's configurable (e.g. sync only some groups, ignore pdfs over a certain size, etc.), which an iCloud sync would not be. As for iCloud, remember that you can only sync Mac apps bought through the Mac App Store (not a problem for BOT, because you have to buy it from the App Store).

Jon
Sonny Software
Here are some of the problems with Wifi: it's not ubiquitous, and some Wifi networks (such as my university's) block Bonjour. If you can sync individual records over Wifi, isn't there an in-the-cloud solution that would permit this?

Jon
Site Admin
Posts: 8204
Joined: Tue Jul 13, 2004 6:27 pm
Location: Bethesda, MD
Contact:

Re: Cloud syncing?

Post by Jon » Wed May 09, 2012 6:44 pm

You can easily set up your wifi-unconnected Mac as the router and sync via Bonjour (Create Network in the Airport menubar menu), it's described in the BOT User Guide in the Troubleshooting section). So even if you don't have a wifi signal where you are you can sync with BOT, and it takes only a few seconds to set up.

As I wrote earlier, AFAIK iCloud just lets you sync entire files, there is no conflict resolution. If you or anyone else reading this knows better, post or contact me. Another complication is that Bookends and BOT use different database engines (each optimized for the machine it runs on) and the stored data files are completely different.

There are lots of problems with iCloud sync, it's not magic, and as I've tried to make clear there are tradeoffs for using it. Hopefully it will improve and become more flexible. We periodically revisit this issue, and if an opportunity arises to add meaningful functionality via iCloud we'll do it.

Jon
Sonny Software

dialectician
Posts: 21
Joined: Fri May 08, 2009 2:24 pm

Re: Cloud syncing?

Post by dialectician » Tue May 22, 2012 11:48 am

The problem with wifi syncing in my view is that it has to be done manually (so I have to remember to do it every time), and both BE and BOT have to be open at the same time. The advantage of a cloud-syncing service would be that the sync would happen in the background or upon opening the application.

thecritic
Posts: 154
Joined: Tue Aug 09, 2005 2:10 pm

Re: Cloud syncing?

Post by thecritic » Tue May 22, 2012 11:53 am

dialectician wrote:The problem with wifi syncing in my view is that it has to be done manually (so I have to remember to do it every time), and both BE and BOT have to be open at the same time. The advantage of a cloud-syncing service would be that the sync would happen in the background or upon opening the application.
I agree completely. Hopefully iCloud will evolve and make syncing easier; otherwise, each developer will have to develop his/her own solution.

mitussis
Posts: 2
Joined: Mon Aug 22, 2005 8:59 am

Re: Cloud syncing?

Post by mitussis » Fri Jul 13, 2012 5:57 am

While I would also like to see iCloud sync, an additional problem will be that only applications purchased from the iTunes store have access.

On the topic of syncing, being able to specify a folder for styles would be great (these could in a dropbox folder). At the moment I guess many of us use symlinks to sync styles, but this is less than ideal (and a barrier to the less computer literate). AFAIK, iCloud is great for this kind of small file syncing.

hamandel
Posts: 4
Joined: Mon Jul 16, 2012 5:24 am

Re: Cloud syncing?

Post by hamandel » Mon Jul 16, 2012 10:24 am

Jon wrote:As I wrote earlier, AFAIK iCloud just lets you sync entire files, there is no conflict resolution.
While I don't know if that's applicable to Bookends, here's the documentation for iCloud conflict resolution: http://developer.apple.com/library/ios/ ... licts.html

Jon
Site Admin
Posts: 8204
Joined: Tue Jul 13, 2004 6:27 pm
Location: Bethesda, MD
Contact:

Re: Cloud syncing?

Post by Jon » Mon Jul 16, 2012 10:43 am

First, that's for document-based applications (Bookends is a database). And even if we considered a database a "document", you merge them. Bookends sync is granular and syncs individual references. That means if you edit one reference at home and another at work, when you sync you'll get the most recent version of both. If we syncing entire databases, you'd lose one of the edited references. This is even more important with groups (like a lab) where multiple people are adding to and editing databases.

Jon
Sonny Software

thecritic
Posts: 154
Joined: Tue Aug 09, 2005 2:10 pm

Re: Cloud syncing?

Post by thecritic » Mon Jul 16, 2012 11:08 am

Have you considered implementing your own server-based solution? I realize that that might be impractical.

Jon
Site Admin
Posts: 8204
Joined: Tue Jul 13, 2004 6:27 pm
Location: Bethesda, MD
Contact:

Re: Cloud syncing?

Post by Jon » Mon Jul 16, 2012 12:08 pm

Our current sync for Bookends <-> BOT is very fast and flexible. That said, we are considering a number of options for adding a cloud sync mechanism (which would probably not be as fast or as flexible, but would be relatively transparent to the user).

Jon
Sonny Software

thecritic
Posts: 154
Joined: Tue Aug 09, 2005 2:10 pm

Re: Cloud syncing?

Post by thecritic » Sat Jul 28, 2012 5:38 pm

Jon wrote:First, that's for document-based applications (Bookends is a database). And even if we considered a database a "document", you merge them. Bookends sync is granular and syncs individual references. That means if you edit one reference at home and another at work, when you sync you'll get the most recent version of both. If we syncing entire databases, you'd lose one of the edited references. This is even more important with groups (like a lab) where multiple people are adding to and editing databases.
In his review of Mountain Lion, John Siracusa states that there are 3 types of iCloud storage APIs, the last of which is based on CoreData. He explains (http://arstechnica.com/apple/2012/07/os-x-10-8/11/):
Though Core Data does store information in files, the file-based versioning, conflict detection, and resolution techniques used for iCloud document storage are not going to cut it for Core Data. The files created on disk as part of a Core Data persistent object store cannot be versioned and mixed and matched like normal document files. And remember, the actual storage mechanism is supposed to be an implementation detail that's not visible to the developer anyway.

Instead, when Core Data is used with iCloud, conflicts are addressed on a per-record basis. For example, an address book created using Core Data may store information about hundreds of people using only a few large database files on disk, but the conflict detection system will view each person's contact information as an individual record.
But I suppose this would mean changing Bookend's underlying database, wouldn't it? The other problem is that iCloud requires distribution through the Mac App store, right?

Post Reply