2023/11/02

Web downsync just got over 16x faster!

Federico Simionato

Accessing Evernote from a new browser. Reloading the page following an expired session. Logging back in. Deleting the cache…

All of these are routine activities that every Evernote Web user is familiar with. Each one kicks off a process called an initial downsync, during which all the user’s content is re-downloaded into the browser’s storage system so the user can access their Evernote notes offline.

For the largest Evernote accounts, the entire initial downsync process took up to ten minutes (which is at least nine minutes too long!).

With speed on our minds, we set out to make the downsync process much snappier. We’re delighted with the results—and we’re sure Evernote customers will be, too!

Here’s how we made our sync blazing fast

Unlike Evernote Desktop and Mobile, which use a storage system called SQLite, Evernote Web used IndexedDB—a system that didn’t allow for records to be retrieved in bulk. That meant each customer record had to be downloaded, processed, and stored individually. (Customer records can refer to notebooks, reminders, notes metadata, preferences, widgets, and other important Evernote components.) 

The more notes in a customer’s account, the greater the number of records. And given that some customers have tens of thousands of notes, it’s clear how the whole process might take an infuriatingly long time.

To solve this problem, we updated the Web’s storage system from IndexedDB to SQLite/WASM, SQLite’s web-compatible product. Not only did this make the downsync process incredibly fast, but it unlocked important synergies between Evernote Web and the other clients.

So how fast are we talking? We put Evernote Web to the test. On accounts with only a handful of notes, speed improved by 2x or more. But it’s on larger accounts where the difference is the most significant. Using the old system, it took 285 seconds (almost 5 minutes) to perform the initial downsync on an account with 17,265 notes. With the new system, the downsync on the same account took just 17 seconds… making it nearly 17x faster! 🚀

A few things to keep in mind if you use Evernote Web

Only the latest versions of major browsers (Chrome, Safari, Firefox) currently support the new downsync. Older versions aren’t compatible with our new storage system, so they’ll default to the old downsync process. 

Evernote Web might not work in Incognito or other private browsers. Since Incognito browsers limit the amount of data that can be downloaded at one time, it’s possible that the initial downsync won’t be performed on larger accounts. In this case, Evernote will need to be opened in a regular browser window instead. For other private browser modes, the downsync will default to the old, slower process. These limitations may change or go away entirely in the future, but we can’t make any promises (ultimately, they’re down to the browser rather than Evernote).

Another step towards a faster, more reliable Evernote

A blazing-fast downsync is exciting. Aligning all our clients (Web, Desktop, Mobile) to a single type of storage system is a game-changer. Creating a unified cross-client storage system didn’t just help us remove a major bottleneck for future performance improvement, but it marks another big step towards making Evernote faster, more stable, and more reliable than ever before.