Jump to content

Welcome! You're currently a Guest.

If you'd like to join in the Discussion, or access additional features in our forums, please sign in with your Evernote Account here. Have an Evernote Account but forgot your password? Reset it! Don't have an account yet? Create One! You'll need to set your Display Name before your first post.

Photo
Web

Nasty data loss bug between web and native app

evernote

  • Please log in to reply
9 replies to this topic

#1 Krellan

Krellan

  • PipPip
  • Title: Alliance Lackey
  • Group: Members
  • 50 posts

Posted 18 June 2012 - 09:42 PM

I just found a nasty data loss bug between the Evernote Web interface, and the Evernote native application interface (I'm running on a Mac).

Here's what happened:

I had a document open in Evernote Web.

I made some changes using the native app, and synced. The sync succeeded.

I then closed the document in Evernote Web. The Web interface saved the document as part of its usual process when closing it, and to my horror, it overwrote my new version (written by using the native app)! The changes that I had made were lost, even though the native app told me it had synced successfully.

I then went back to the Evernote native app. Realizing that the Evernote service had probably became confused, I copied all my text to the clipboard, and pasted it somewhere else safely. Crossing my fingers, I hit "Sync" on the app. Yep, just as I thought, the *old version* from the Web interface came down during the sync, and destroyed the new version of my document!

Good thing I had copied all my text elsewhere before hitting "Sync"! If I hadn't done that, I would have lost all of my changes. Nasty, since I had some irreplaceable information in there!

Two suggestions for the Evernote staff:

1) When saving a document, please note the timestamp at which it was saved, and the timestamp from which the original file was opened at. Check the server for changes to the document during that meantime. If there were any changes, odds are they came in from another source, so be careful. Please merge in those changes if possible, or ask the user what to do. Do not just blindly overwrite the changes! This is what version control systems do for software, and it is considered industry-wide good practice.

2) Please save a history of each edit made to each document. Build up a version history going back over time, going back to the original blank page which started each document. Every time the user saves something to the server, by any method, please consider it a separate version. Again, this is what version control systems do for software, and is considered good practice. This would be a feature worth paying for! It would be great to have version history going back over time.

Thank you for reading this.

I recently renewed my subscription, because even though it has its issues, Evernote is still the best of the various "online brain" services out there that I have found.

Josh

#2 spg SCOTT

spg SCOTT

  • Title: "There is no magic, only lost physics"
  • Group: Evernote Evangelist
  • 1,402 posts

Posted 18 June 2012 - 09:51 PM

Generally, when there is a difference of opinion between what the note contents should be, the desktop clients should cater for this issue.

The web client is taken as the absolute truth, and the note edited in the desktop client, should be moved to a "Conflicting Changes" (Local) notebook.

Is there a conflicting changes notebook in your EN?


Also, 2 is already there, and a premium feature ;) (Called Note History)

#3 Krellan

Krellan

  • PipPip
  • Title: Alliance Lackey
  • Group: Members
  • 50 posts

Posted 19 June 2012 - 04:48 AM

Generally, when there is a difference of opinion between what the note contents should be, the desktop clients should cater for this issue.

The web client is taken as the absolute truth, and the note edited in the desktop client, should be moved to a "Conflicting Changes" (Local) notebook.

Is there a conflicting changes notebook in your EN?


Also, 2 is already there, and a premium feature ;) (Called Note History)


Thanks for your fast reply!

That's scary that Evernote would always blindly prefer one source over another. I'm very surprised they don't do timestamp comparison, file size comparison, or any other technique that's been developed over time. Did you ever have a PalmPilot in the past? They were very good at maintaining state between two or more places at the same time. If they detected a conflict, they would simply make two copies of the note, and let the user sort it out manually. Not a bad idea, and simple to implement. Much better than having data loss when the user makes a recent edit on the "weaker" source, and then loses it when the "stronger" source overwrites it!

There's no "Conflicting Changes" notebook, either on the Web client, or on my local app (on Mac).

I did find Note History on my local app. Unfortunately, the Note History doesn't include any record of the edit that was lost! It's not there either. It's probably because the local app is the "weaker" source, in the above example, and so it never got to apply its copy of the data to the server at all. And I have a premium subscription, although I'm growing increasingly skeptical of Evernote's ability to maintain my data safely.

Is there a way to access the "Note History" feature from the Web client? I couldn't find it, even after clicking around several links.

#4 spg SCOTT

spg SCOTT

  • Title: "There is no magic, only lost physics"
  • Group: Evernote Evangelist
  • 1,402 posts

Posted 19 June 2012 - 07:52 AM

The conflicting changes notebook is created when it is needed. (in the desktop versions, it is a local notebook and wont be in the web client)

I'm guessing you probably didn't see the Conflicting Changes notebook because you removed your edit from the note before you synced. removing the need for it.


Note history is visible when viewing a note and clicking on "Show Details" (right hand side, under the edit, share, etc. buttons) in the web client, that shows the info of the note, including the link to note history



#5 BurgersNFries

BurgersNFries

  • Title: Don't make me come over there...
  • Group: Evernote Evangelist
  • 9,620 posts

Posted 19 June 2012 - 12:11 PM

Well, it sounds to me like EN did exactly what you told it to do. You modified the note from your Mac & sync'd it. Then you modified the note from the web with the old data.

The reason the web version is considered the source of all truths is because you're directly changing the database. All other clients are syncing with the database.

Note history is only taken once every about 8 hours.
I'm not affiliated with Evernote. I'm just an Evangelapologist. Evernote is an integral part of my life.

Submit support requests toward the bottom of the help/support page here. If you do not receive an auto reply email with a case #, it did NOT get submitted. Premium users will receive a reply within one business day, California time. Free users receive a reply as time permits.

#6 Krellan

Krellan

  • PipPip
  • Title: Alliance Lackey
  • Group: Members
  • 50 posts

Posted 19 June 2012 - 07:50 PM

The conflicting changes notebook is created when it is needed. (in the desktop versions, it is a local notebook and wont be in the web client)

I'm guessing you probably didn't see the Conflicting Changes notebook because you removed your edit from the note before you synced. removing the need for it.


I didn't remove my edit before doing the sync. I backed it up somewhere else, though.

When I did the sync, the obsolete version of the note came down from the server, and it overwrote my newer note locally on the app.

I then restored my note from backup (which I was glad I took). Gave it a new title, just to be sure.

No record of the overwrite appears in the Note History (for either the original note or my restored/renamed note), and there's no Conflicting Changes notebook.

Note history is visible when viewing a note and clicking on "Show Details" (right hand side, under the edit, share, etc. buttons) in the web client, that shows the info of the note, including the link to note history


Thanks! Didn't think to check under "Show Details". I found the History feature there. Unfortunately, there's no history of the overwrite there either, even on the Web client. It's as if my interim copy of the note never existed: if it weren't for the backup, it would have been gone for good.

The History feature, on the Web client, seems rather buried. It's strange that it wouldn't have an icon, like a little scroll or something, next to the other icons that trigger popup windows, which would make sense from a user interface point of view.

#7 Krellan

Krellan

  • PipPip
  • Title: Alliance Lackey
  • Group: Members
  • 50 posts

Posted 19 June 2012 - 08:04 PM

Well, it sounds to me like EN did exactly what you told it to do. You modified the note from your Mac & sync'd it. Then you modified the note from the web with the old data.


That is correct. I didn't realize the Web client would fail to refresh itself, to pick up changes from incoming syncs from other sources, before I started editing. From now on, I'll be careful to always manually refresh the Web client's webpage before daring to make any edits in it! Evernote should explore the use of AJAX to do automatic refreshing when necessary.

The reason the web version is considered the source of all truths is because you're directly changing the database. All other clients are syncing with the database.


Makes sense. That will make me really shy to make any edits on any native apps, because of this design, though. It's a shame, because I like the speed, local caching, and more powerful UI of the native apps.

Too bad Evernote doesn't use some kind of version control system, or the equivalent, when making edits from any source. That would provide much more safety for people's notes.

Note history is only taken once every about 8 hours.



That's another shame. It's unfortunate that note history isn't taken every time the note is edited. That would seem to make more sense, than taking history at a fixed time interval.

#8 BurgersNFries

BurgersNFries

  • Title: Don't make me come over there...
  • Group: Evernote Evangelist
  • 9,620 posts

Posted 19 June 2012 - 10:47 PM


Well, it sounds to me like EN did exactly what you told it to do. You modified the note from your Mac & sync'd it. Then you modified the note from the web with the old data.


That is correct. I didn't realize the Web client would fail to refresh itself, to pick up changes from incoming syncs from other sources, before I started editing. From now on, I'll be careful to always manually refresh the Web client's webpage before daring to make any edits in it! Evernote should explore the use of AJAX to do automatic refreshing when necessary.

The reason the web version is considered the source of all truths is because you're directly changing the database. All other clients are syncing with the database.


Makes sense. That will make me really shy to make any edits on any native apps, because of this design, though. It's a shame, because I like the speed, local caching, and more powerful UI of the native apps.

Too bad Evernote doesn't use some kind of version control system, or the equivalent, when making edits from any source. That would provide much more safety for people's notes.

Note history is only taken once every about 8 hours.



That's another shame. It's unfortunate that note history isn't taken every time the note is edited. That would seem to make more sense, than taking history at a fixed time interval.


Well to be honest, you're not using EN as it's intended. It's not designed to be a collaboration tool. It's designed as a personal information collection tool. So opening a note on the web client & changing that note on another computer/device is "off label". IOW, it's not designed to allow the same note to be modified by two computers/devices simultaneously. When it's used as it's intended, one should have very little data loss.
I'm not affiliated with Evernote. I'm just an Evangelapologist. Evernote is an integral part of my life.

Submit support requests toward the bottom of the help/support page here. If you do not receive an auto reply email with a case #, it did NOT get submitted. Premium users will receive a reply within one business day, California time. Free users receive a reply as time permits.

#9 Krellan

Krellan

  • PipPip
  • Title: Alliance Lackey
  • Group: Members
  • 50 posts

Posted 21 June 2012 - 06:07 AM

Well to be honest, you're not using EN as it's intended.  It's not designed to be a collaboration tool.  It's designed as a personal information collection tool.  So opening a note on the web client & changing that note on another computer/device is "off label".  IOW, it's not designed to allow the same note to be modified by two computers/devices simultaneously.  When it's used as it's intended, one should have very little data loss.


That's just it.  If it's a personal information collection tool, then it goes to follow that it would be something you would want around you at all times.  Thus, the need to have it running on multiple devices.

It's not "collaboration", although that's a good idea.  Each Evernote session was open to my account, and to no other accounts.  Nobody else but me had access.  (That's another cool thing about Google Docs: it does support multiplayer simultaneous editing!)

Even personal tools should have some basic protection against conflicts encountered during synchronization.  The "Palm Desktop" had this in the 1990's, for the PalmPilot.  Source code control systems, used by programmers, have have had it for decades.  It's a real shame Evernote isn't trying very hard to ensure data integrity.

#10 misterphil

misterphil

  • Pip
  • Title: Member
  • Group: Members
  • 40 posts

Posted 21 June 2012 - 08:04 PM

Well to be honest, you're not using EN as it's intended. It's not designed to be a collaboration tool. It's designed as a personal information collection tool. So opening a note on the web client & changing that note on another computer/device is "off label". IOW, it's not designed to allow the same note to be modified by two computers/devices simultaneously. When it's used as it's intended, one should have very little data loss.


Use Google Docs for collaborative work. It's awesome for that.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Clip to Evernote