Jump to content
sfmike

Question about sync behavior

Recommended Posts

I have been using Evernote for work notes for a couple of years, and have recently expanded my use to include task management (GTD) and Evernote Food.  

 

However, one thing that has bugged me for a while is the sync behavior.  I frequently switch back and forth between my home computer, work laptop and phone.  It's quite common for me to add a task for example on the laptop, close it up, then expect to see it when I check my home machine.  However, it's my experience that I need to press the sync button on the laptop if I want any changes to show up.

 

I can understand why they designed the app to sync asynchronously and to batch large changes, but I don't see why small changes (e.g. editing text or adding a note) shouldn't be synchronized in near real time.  Couldn't there be a velocity index to allow small changes to sync quickly while gating large changes?

 

Thanks to the team for an awesome product.

Share this post


Link to post

I don't think they are batching large changes, but instead they sync on time intervals (see Tools -> Options -> Sync).  In reviewing some of the forum posts I think I've seen that the EN team have been experimenting with instant sync in the Mac beta but for now have gone back to the time interval sync.  Until they get it working and rolled out your safest approach, as you have discovered, is to always manually sync when you start the app on a new device and then sync again when you close it. 

Share this post


Link to post

Thanks for the pointer to the sync interval - I've lowered mine down to 15 minutes.  My point about batching large changes was simply that they are treating all changes the same (batching them in time intervals), whereas I think large changes could be handled differently from small ones. I understand the need to conserve resources on their side, but having near-instant sync for smaller changes would be a welcome addition. 

Share this post


Link to post

I lowered my sync intervall to the lowest setting (5 minutes) but still I end up with conflicts with documents.

Example.

1. I have Evernote on my computer. I do some changes to a document (in my case it's my TO DO-list), save it and the I press sync.

2. I go into my Evernote app on my iphone and and press the sync button but my saves from my computer doesn't show up :(

Is there any solution for my problem?

Share this post


Link to post

Does the same situation still apply if you do a manual sync after you finish editing on the computer?

Share this post


Link to post

Check the Activity log to make sure you get a successful sync on the mac - and check Evernote Web via Evernote.com to make sure the note has uploaded.  If it's not downloading to the phone,  maybe that's the problem area...

  • Like 1

Share this post


Link to post

Back to my original topic, I think Dropbox is a good example of how things should work.  Changes trickle through without waiting for a defined time interval or manual sync.  I just uploaded new spreadsheet and it was available within seconds on my other machine.  Sure giant files take longer.  

 

If they can do it for random binary files, I think Evernote would be able to do it even better / faster at least for text changes.

Share this post


Link to post

Well,  there are upcoming changes to Evernote Business at least that will make it better for 'real time collaboration' - at least I think that was the quote.  The next few months are likely to be interesting...

Share this post


Link to post

Promises are great and easy.  Delivering on those promises is something completely different.

  • Like 1

Share this post


Link to post

Just switching between my laptop and desktop and added a new 81KB file to dropbox.  Switched to the other computer and file was there in < 5 seconds.  That's the equivalent of ~ 30 pages of text.  Can't see why Evernote could not do the same.

  • Like 1

Share this post


Link to post

That's kinda like saying 'don't see why my car doesn't float' - Evernote is a complicated little thing designed to complete certain tasks.  Instant syncing (and floating) aren't (yet) among them.

  • Like 2

Share this post


Link to post

That's not what I'm saying.  Obviously development has a cost, but some things are more difficult / expensive than others.  My point is not that Evernote should do this because Dropbox does, but rather that what Dropbox is doing is harder (syncing random size binary files versus small amounts of text). 

 

Anyway sounds like they are suffering some growing pains, and it's at least good to hear that syncing is on their short list of improvement areas...

 

http://blog.evernote.com/blog/2014/01/04/on-software-quality/

Share this post


Link to post

That's not what I'm saying.  Obviously development has a cost, but some things are more difficult / expensive than others.  My point is not that Evernote should do this because Dropbox does, but rather that what Dropbox is doing is harder (syncing random size binary files versus small amounts of text). 

 

Anyway sounds like they are suffering some growing pains, and it's at least good to hear that syncing is on their short list of improvement areas...

 

http://blog.evernote.com/blog/2014/01/04/on-software-quality/

There is no way for you to know if what Dropbox does is "harder", unless you are familiar with the under-the-hood workings of both. Additionally, Evernote is not only syncing "small amounts of text", since Evernotes are not limited to text. Evernote is syncing contents of a single database, whereas Dropbox can deal file by file. Again, no way for neither you nor I to determine which one is harder. And that's where Gaz's example of a floating car is applicable.

  • Like 1

Share this post


Link to post

That's not what I'm saying.  Obviously development has a cost, but some things are more difficult / expensive than others.  My point is not that Evernote should do this because Dropbox does, but rather that what Dropbox is doing is harder (syncing random size binary files versus small amounts of text).

Why is this harder? Note sizes can be arbitrarily large as well. And why is syncing binary more difficult than syncing text? Is there an intrinsic difference between text and binary? They're just bytes on the line, right?

Anyways, judging by the Windows client, they've been doing some work on better syncing and synchronization of note edits. Open the activity log (if you're using the Windows client) and start editing a note, and watch the activity. You should see syncing going on at brief intervals (one minute?) while you're editing the note, and when you change to a different note. Not real-time, but more finely grained than before, I believe. You should also notice that if you try to simultaneous edit the same note simultaneously on a different device, you'll probably get a warning about it; I do on my Android device anyways. I don't know that it's completely bullet-proof yet, but anything they can do to lessen the occurrence of note conflicts is a good thing.

I don't know how feasible it is to just sync the small changes, they might be transmitting the whole note; notes' ENML formatting are validated on upload to the server, as far as I know.

  • Like 4

Share this post


Link to post

 

That's not what I'm saying.  Obviously development has a cost, but some things are more difficult / expensive than others.  My point is not that Evernote should do this because Dropbox does, but rather that what Dropbox is doing is harder (syncing random size binary files versus small amounts of text).

Why is this harder? Note sizes can be arbitrarily large as well. And why is syncing binary more difficult than syncing text? Is there an intrinsic difference between text and binary? They're just bytes on the line, right?

Anyways, judging by the Windows client, they've been doing some work on better syncing and synchronization of note edits. Open the activity log (if you're using the Windows client) and start editing a note, and watch the activity. You should see syncing going on at brief intervals (one minute?) while you're editing the note, and when you change to a different note. Not real-time, but more finely grained than before, I believe. You should also notice that if you try to simultaneous edit the same note simultaneously on a different device, you'll probably get a warning about it; I do on my Android device anyways. I don't know that it's completely bullet-proof yet, but anything they can do to lessen the occurrence of note conflicts is a good thing.

I don't know how feasible it is to just sync the small changes, they might be transmitting the whole note; notes' ENML formatting are validated on upload to the server, as far as I know.

 

 

Thanks for the tip Jeff.  I tried that now with a small update to an existing note.  It took about four minutes for the change to sync - certainly better than 15 minutes, but could be better IMHO.  As far as sync conflicts, obviously shorter sync windows would result in fewer conflicts.

 

BTW, if you read my original post, I was not saying that all changes should sync near real-time, but rather that there should (and perhaps is) some kind of velocity / change index so that smaller changes could be processed very quickly.  If the sync engine was properly designed, then it should be configurable to adapt to new needs.  Syncing large binaries is more resource intensive on the network / server side, so it makes sense that larger changes may go slower.  I've worked on messaging and file syncing applications before, and tuning them to balance performance and resources is an interesting problem.  I'd like to see it improved so that Evernote works even better.

Share this post


Link to post

As far as sync conflicts, obviously shorter sync windows would result in fewer conflicts.

No it wouldn't. Evernote does not "lock" records. So if two people are editing the same note, simultaneously, you're going to get a conflict, no matter if the sync time is five minutes or 20 minutes. With Evernote, the way to avoid conflicts is to sync the app/device before starting, make changes, sync changes up & be sure no one else on any other device is editing the same note.

Share this post


Link to post

 

As far as sync conflicts, obviously shorter sync windows would result in fewer conflicts.

No it wouldn't. Evernote does not "lock" records. So if two people are editing the same note, simultaneously, you're going to get a conflict, no matter if the sync time is five minutes or 20 minutes. With Evernote, the way to avoid conflicts is to sync the app/device before starting, make changes, sync changes up & be sure no one else on any other device is editing the same note.

 

 

True, but I have experienced sync conflicts as a single user, which I attribute to the sync delay.  Smaller delay should equate to lower probability of conflict.  Of course you can control this by manually syncing, but my whole point is that this should not be required and Evernote seems to be working to improve things.

Share this post


Link to post

BTW, if you read my original post, I was not saying that all changes should sync near real-time, but rather that there should (and perhaps is) some kind of velocity / change index so that smaller changes could be processed very quickly.  If the sync engine was properly designed, then it should be configurable to adapt to new needs.  Syncing large binaries is more resource intensive on the network / server side, so it makes sense that larger changes may go slower.  I've worked on messaging and file syncing applications before, and tuning them to balance performance and resources is an interesting problem.  I'd like to see it improved so that Evernote works even better.

If note syncs are atomic (I've always assumed that they are, in terms of a note's components at least: note content, metadata, resources, etc.) then I don't know what "smaller changes" means in the context of Evernote of I am actively editing a long note: I think that the note contents (the XHTML chunk, that is)must be synced as a whole to the server. See, e.g. https://dev.evernote.com/doc/reference/NoteStore.html#Fn_NoteStore_updateNote from the Evernote API. 

 

That being said, though I am a developer, I'm not an expert in either file syncing or the Evernote API, so it's not unlikely that I have the wrong end of the stick here.

 

 

 

As far as sync conflicts, obviously shorter sync windows would result in fewer conflicts.

No it wouldn't. Evernote does not "lock" records. So if two people are editing the same note, simultaneously, you're going to get a conflict, no matter if the sync time is five minutes or 20 minutes. With Evernote, the way to avoid conflicts is to sync the app/device before starting, make changes, sync changes up & be sure no one else on any other device is editing the same note.

Actually, they do have a note locking mechanism, though I believe you can override it if you're feeling lucky. You can see it in action by observing the Activity Log in Windows window while you're editing a note. And you can also see it in action if you start to edit a note on one device and then start to edit the same note on another device (I just checked this using my Windows client and my Android client). You should get a warning. All of this is relatively new behavior.

  • Like 3

Share this post


Link to post

Can someone please help. I have evernote on my Samsung tablet running Android, my Samsung phone also running Android, and I have never been able to sync betwee these two machines. I have just installed it on my laptop running windows 8, to see if I could find a fix, but it won't sync either.

 

I have installed simplynotes on my tablet and phone, and they synchronise quite easily.

 

I would rather keep on using evernote, as it is more advanced than simplynotes, but I will not if I cannot sync.

 

Any help would bevery much appreciated.

 

Thank you.

 

Regards.

 

Chris

Share this post


Link to post

Hi. Below is my response to a similar question on another thread. Hope it helps.

None of your clients (devices) are syncing to each other. They are syncing to the Evernote Servers, except for any Local (offline) Notebooks saved on your Mac or Windows laptop.

If you have any notebooks designated as Local Notebooks on either, then they will *not be synced to the servers and you will need to manually save any notes you create or edit in them. And manually copy from one machine to the other if you want identical contents in both sets of Local Notebooks.

To ensure you are always working with the most current version of your Evernote (EN) Database, make it a point of ALWAYS manually Syncing DOWN from the EN Servers as soon as you open Evernote on any device (this pulls the last synced version down to your device), then manually Sync UP to the Servers when finished (this "saves" your work to the Servers). Do this in addition to whatever schedule you have each device set-up for auto-syncing.

Cheers!

Share this post


Link to post

×
×
  • Create New...