Versioning mechanism
-
Hi Simplenote team,
I’m currently writing my Bachelor’s thesis in Software Engineering, and I’m doing a comparative study of note-taking applications focusing specifically on their versioning mechanisms. I’ve chosen Simplenote as one of the applications to analyze.
I was hoping you could shed some light on how note versioning is implemented under the hood in Simplenote. Specifically, I’m trying to understand:
- What storage strategy is used for versioning? (e.g., full snapshots at each save, delta-based storage where only the differences between versions are stored, or a Content-Addressable Storage approach)
- Is there a hashing algorithm involved in identifying or deduplicating versions?
- Are there any public technical resources, blog posts, or documentation that describe the internal architecture of the versioning system?
I understand this may touch on implementation details that aren’t publicly documented, but even a high-level description would be incredibly helpful for my thesis. Proper academic attribution will of course be given to any information provided.
Thank you in advance for your time!