Some time ago, I've asked, whether it would be possible, that multiple Macs within a LAN, all connected to the same Evernote account, could speed up syncing and save on internet bandwidth, by syncing locally instead of each client syncing individually with the Evernote server. Lets say you have 5 Macs in your LAN and scan a 2 MB PDF into your Evernote account, this creates 12 MB of traffic - the initial upload and then the download on each of the clients.
Somehow the message vanished from the forum (at least I can't find it any more). Dave's answer was, that syncing between multiple local instances of the Evernote database would be a difficult task and that it was currently not planned to implement such a feature.
I rethought my suggestion and want to present some ideas, how this could be implemented. I think this would be as well a real improvement for the Evernote experience on the upcoming iPad - I wrote about this in a separate post.
I meanwhile think, LAN syncing would work like the current syncing with the Evernote server with just one additional step in-between. Let's look, how syncing currently works in principal (Dave, please correct me if something is wrong):
1.) The Evernote client connects to the Evernote server via Internet.
2.) The Evernote client uploads all notes, that are newly created or changed since the last sync.
3.) The Evernote client downloads all notes, that have been created or were changed since the last sync.
To implement LAN syncing, it would be necessary to load a small Evernote demon app on startup or login. All Evernote demons can detect other Evernote demons within the LAN via Bonjour.
A sync would now work as follows:
1.) The Evernote client connects to the Evernote server via Internet.
2.) The Evernote client uploads all notes, that are newly created or have changed since the last sync.
3.) The Evernote client retrieves a list (prob. containing guid, updateSequenceNum, contentHash) of notes to be downloaded
4.) The Evernote client asks via the Evernote demon, whether any Mac on the LAN has already one of these notes (same guid, updateSequenceNum and contentHash), then retrieves it from that Mac via its Evernote demon and finally removes this note from the list.
5.) The Evernote client downloads all remaining notes on the list from the Evernote server.
So just step 4 is inserted into the current process.
In case no new/updated notes are found on the LAN or no Evernote demons are installed on other machines, the sync process works exactly as it does currently. This means as well, implementation of LAN syncing would work as well in mixed environments, where not all clients are already capable of LAN syncing. Thus you could implement this into each platform one by one without the need to roll it out for all platforms simultaneously to prevent, that syncing breaks in mixed environments.
Dave, I'd like, if you could discuss this with you engineers.
Idea
Pete248 9
Some time ago, I've asked, whether it would be possible, that multiple Macs within a LAN, all connected to the same Evernote account, could speed up syncing and save on internet bandwidth, by syncing locally instead of each client syncing individually with the Evernote server. Lets say you have 5 Macs in your LAN and scan a 2 MB PDF into your Evernote account, this creates 12 MB of traffic - the initial upload and then the download on each of the clients.
Somehow the message vanished from the forum (at least I can't find it any more). Dave's answer was, that syncing between multiple local instances of the Evernote database would be a difficult task and that it was currently not planned to implement such a feature.
I rethought my suggestion and want to present some ideas, how this could be implemented. I think this would be as well a real improvement for the Evernote experience on the upcoming iPad - I wrote about this in a separate post.
I meanwhile think, LAN syncing would work like the current syncing with the Evernote server with just one additional step in-between. Let's look, how syncing currently works in principal (Dave, please correct me if something is wrong):
1.) The Evernote client connects to the Evernote server via Internet.
2.) The Evernote client uploads all notes, that are newly created or changed since the last sync.
3.) The Evernote client downloads all notes, that have been created or were changed since the last sync.
To implement LAN syncing, it would be necessary to load a small Evernote demon app on startup or login. All Evernote demons can detect other Evernote demons within the LAN via Bonjour.
A sync would now work as follows:
1.) The Evernote client connects to the Evernote server via Internet.
2.) The Evernote client uploads all notes, that are newly created or have changed since the last sync.
3.) The Evernote client retrieves a list (prob. containing guid, updateSequenceNum, contentHash) of notes to be downloaded
4.) The Evernote client asks via the Evernote demon, whether any Mac on the LAN has already one of these notes (same guid, updateSequenceNum and contentHash), then retrieves it from that Mac via its Evernote demon and finally removes this note from the list.
5.) The Evernote client downloads all remaining notes on the list from the Evernote server.
So just step 4 is inserted into the current process.
In case no new/updated notes are found on the LAN or no Evernote demons are installed on other machines, the sync process works exactly as it does currently. This means as well, implementation of LAN syncing would work as well in mixed environments, where not all clients are already capable of LAN syncing. Thus you could implement this into each platform one by one without the need to roll it out for all platforms simultaneously to prevent, that syncing breaks in mixed environments.
Dave, I'd like, if you could discuss this with you engineers.
Thanks
Pete
Link to comment
4 replies to this idea
Recommended Posts
Archived
This topic is now archived and is closed to further replies.