Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Our Archives > General Archives > Delicious Monster > Request: .Mac sync support

 
Request: .Mac sync support
Thread Tools
devros
Junior Member
Join Date: Apr 2000
Location: Dublin, Ireland
Status: Offline
Jun 8, 2006, 08:59 PM
 
I know that there is a plugin for Backup, but it would be cool to be able to sync with a .Mac account. Similar to the plugin that I have for my Transmit favorites.

-dev
     
mpmchugh
Forum Regular
Join Date: Nov 1999
Location: Los Angeles
Status: Offline
Jun 21, 2006, 05:35 PM
 
Originally Posted by devros
I know that there is a plugin for Backup, but it would be cool to be able to sync with a .Mac account. Similar to the plugin that I have for my Transmit favorites.

-dev

This would be great, but in the meantime, I just cresated a "Delicious Library" symlink in the ~/Library/Application Support folder after copying my "Delicious Library" directory to my iDisk Documents folder.

Granted, it's possible that I can have the app open both at home and work and overrite something, but I've never run into that situation.

Otherwise it seems to work great... though true .Mac syncing would be better.

-mpm
     
Delicious Monster
Dedicated MacNNer
Join Date: Jun 2006
Status: Offline
Jun 22, 2006, 03:49 PM
 
The idea of dot-mac syncing is a good one, and one we've got in the venerable requested features list, but it has a few technical considerations.

When you think of things that sync over dot-mac, you tend to think of bookmarks and contacts and things like that. These are all tiny snippets of text.

A good-sized Delicious Library data folder will be several hundred MB. Even if you disregard the images, and just sync the data, you're still talking about several MB.

Of course, sharing and syncing are problems we're hardcore working on for future versions, so obviously we're going to have to find solutions, but it's definitely not as simple as cracking open the ol' dot-mac SDK and writing a few lines of code.

-Mike
     
Landos Mustache
Professional Poster
Join Date: Dec 2002
Location: Partying down with the Ewoks, after I nuked the Death Star!
Status: Offline
Jul 12, 2006, 01:36 PM
 
How about Bonjour support then?

"Hello, what have we here?
     
Delicious Monster
Dedicated MacNNer
Join Date: Jun 2006
Status: Offline
Jul 12, 2006, 10:07 PM
 
I think you mean "Freedom Sharing."

Hold on, my phone is ringing.

Oh, hi 2002! How are-- Oh, you want your joke back? Um...
     
Yaztromo
Fresh-Faced Recruit
Join Date: Jul 2006
Location: Canada
Status: Offline
Jul 13, 2006, 05:14 AM
 
Originally Posted by Delicious Monster
When you think of things that sync over dot-mac, you tend to think of bookmarks and contacts and things like that. These are all tiny snippets of text.

A good-sized Delicious Library data folder will be several hundred MB. Even if you disregard the images, and just sync the data, you're still talking about several MB.
Pardon me while I put my data synchronization expertise hat on...

Ah, much better.

First things first: while a Delicious Library data folder for any significant collection is going to be large (mine is ~115MB in size right now, and will start getting bigger once I start entering in all of my pre-UPC/pre-ISBN books), for most people the actual deltas over time are relatively small -- presumably the average user isn't discarding their library every week and completely replacing it.

As such, unless you use one of the most naive synchronization algorithms available which require re-copying the entire database during each synchronization session to determine what has changed, the size is relatively irrelevant. Assuming my collection is of typical size, that 115MB covers 329 titles, of which only 26 don't have cover images, and assuming there are users out there adding 5 new titles per day (not me, unfortunately! ), that is a 1.5% change per day, which averages less than 2MB of data per day.

2MB of transfer per day is pretty trivial here in the broadband era. So I don't think that the data size is your biggest concern. The three biggest things you need to worry about are Set Reconciliation, Conflict Detection, and Conflict Resolution. There are a variety of existing algorithms to handle Set Reconciliation and Conflict Detection while minimizing communications overhead. Characteristic Polynomial Interpolation may be a good choice for Delicious Monster -- the communications overhead for Set Reconciliation is very low, although the algorithm is a bit tricky to implement. The nice thing about an algorithm like this is that you can synchronize multiple systems together in a safe manner, without keeping a big pile of metadata.

Or, if you're predicting a low number of systems expected to be kept in sync, you can do something along the lines of what SyncML does and maintain metadata modification flags for each host. This is more strenuous for storage, but as we're working with laptops and desktop machines this shouldn't present a problem. The implementation is easier to understand (no particularly high level math involved), and the storage increase can probably be counted in the dozens of kilobytes. It's not quite as elegant, but it works.

Conflict Resolution is probably the hardest thing to get right -- and the solution to this problem is always application specific, but I'm sure the DL team can figure out good ways of handling the situation where two or more hosts have all changed the same record and want to update the central server.

In the end, synchronization code can mean a good deal of work to implement, and there are a lot of programs out there which have synchronization capabilities but which just don't get it right (usually using really naive methods that easily break in the face of semi-complex set reconciliation). If you guys are going to add this (and I know how I'd implement it if I were you ), do your research (Google Scholar is your friend, and I can point you in the direction of some worthwhile papers on the topic), and take your time to get it right the first time, because nobody likes to rely on synchronization that only works 50% of the time.

(And if you think you've got it bad, I'm doing R&D work for synchronizing medical records. At least if DL doesn't synchronize correctly nobody is going to be injured or killed (at least I sure hope not! ).

Yaz.
     
Landos Mustache
Professional Poster
Join Date: Dec 2002
Location: Partying down with the Ewoks, after I nuked the Death Star!
Status: Offline
Jul 13, 2006, 03:26 PM
 
Originally Posted by Delicious Monster
I think you mean "Freedom Sharing."

Hold on, my phone is ringing.

Oh, hi 2002! How are-- Oh, you want your joke back? Um...
Actually I thought it was pretty funny

"Hello, what have we here?
     
bombcar
Fresh-Faced Recruit
Join Date: Jul 2006
Status: Offline
Jul 18, 2006, 11:26 PM
 
Wait, I didn't enter hundreds of megabytes of information? Just keep track of what was manually entered, and use that. No need to send the picture, description, etc. of the book I barcoded, just send the ISBN! And if you keep track of any changes to the item I may have made, you not only get unlimited undo, but also an easy way to sync.

Sure, there are some rough edges but I bet it would be easy for a really good programmer.
     
 
   
Thread Tools
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 06:53 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,