2023/12/29

At the end of 2023, Evernote’s technology is better than ever

Evernote 2023 recap blog post (banner)

2023 was a whirlwind year at Evernote, full of significant changes and exciting growth. After Bending Spoons acquired Evernote, we carried out several initiatives to make the company financially stable. We introduced collaborative editing and two new powerful AI features. We gained precious insights into our customers through thousands of survey responses, interviews, emails, forum posts, and more. But most importantly, we brought substantial improvements to Evernote’s underlying technology.

At the year’s onset, we had three clear goals:

1. Make Evernote faster

2. Make Evernote more reliable

3. Make Evernote more secure

While there’s still a lot we plan to do, considerable progress has already been made. Below, I’ve summarized the most impactful developments from the year, and offered a few sneak peeks at what’s coming next.

We made performance our top priority

One of the biggest challenges facing us as we began our work with Evernote came in the form of optimizing resource allocation. Not every issue with a product can be solved by throwing endless resources at it—indeed, such an approach almost always increases complexity and inefficiency, ultimately leading to inferior outcomes. Since a house built on weak foundations won't stay standing for long, this year we chose to focus primarily on improving the product's fundamentals, while we allocated a comparatively smaller portion of our resources to product innovation.

This is why our technological achievements for the year intentionally outweigh the rate of product innovation. I’m happy to share that we’ve made significant progress in our core focus areas (speed, reliability, security). We’ve also unlocked several downstream benefits that will further the product’s development for years to come.

Now, let’s take a closer look at each goal.

Goal 1 | Make Evernote faster

· We brought instant sync and collaborative editing to Evernote. The new data structure means the content of your notes syncs instantly across all devices—something that would have been impossible with the original structure. Read more about it here.

· We improved loading and sync speeds across all clients through the systematic removal of legacy experiments, feature flags, and unused code. Altogether, approximately forty thousand lines of legacy code were removed.

· We made Evernote Web's initial downsync process almost 17 times faster by updating the client’s storage system to be more compatible with our other clients. Read more about it here.

· We greatly increased the frequency of software updates, going from releasing one every four to eight weeks to a regular weekly release schedule. As a result, improvements are now delivered faster than ever before.

Goal 2 | Make Evernote more reliable

· We removed a lot of legacy code following the introduction of collaborative editing. In addition to making all note-editing operations more reliable, it's now easier for us to understand and fix issues.

· We implemented timely in-app communications, alerting users about ongoing sync problems and encouraging them to restart the app to avoid losing relevant changes. Thanks to this system, there’s been an encouraging decrease in instances where content doesn’t sync with the backend server.

· We set up advanced monitoring in Evernote’s backend to continuously track the product’s health status. The new monitoring system makes it simpler to diagnose complex errors, leading to quicker fixes and an overall better user experience.

· We modernized Evernote’s backend through extensive data migrations. As we've mentioned before, Evernote’s Monolith backend application had accumulated an unwieldy amount of technical debt. This year, we invested significant resources toward modernizing the architecture. Migrating data for over 200 million Evernote users to a new system was a considerable challenge, but our efforts are already paying off. Thanks to the new architecture, Evernote’s backend requires much less manual maintenance, resulting in a more stable development environment and fewer issues for the user.

· We began rewriting parts of Evernote’s client code. Even before we began working on the client codebases, we knew that piecing together patches for recurring issues wouldn’t be sustainable in the long term. Instead, we rewrote from scratch select pieces of the codebase. As of today, we’ve updated the notebook list and a handful of widgets. Going forward, we’ll also take on the note editor, note list, task list, and search functionality.

Goal 3 | Make Evernote more secure

As Evernote’s stewards, it’s imperative that we safeguard users’ sensitive and personal information to the highest possible degree. This year, we introduced crucial innovations to further protect Evernote from malicious activity:

· We transitioned to a new two-factor authentication process, replacing SMS-based authentication with more secure options, such as Google Authenticator, Authy, and 1Password.

· We introduced intelligent rate limits to prevent abusive behavior. This precaution limits the number of calls that can be placed on most Evernote backend services, preventing would-be abusers from trying to overwhelm Evernote’s servers in an attempt to gain access to user data. This measure shouldn’t affect legitimate users in any way. For example, no real user would ever contact Evernote’s backend from over one hundred distinct IP addresses in less than one hour.

· We preemptively reset vulnerable passwords with an automatic password reset for accounts that didn’t have two-factor authentication. These accounts were particularly vulnerable to attacks through a weak or reused password. Affected users were then prompted to update their password the next time they opened Evernote. And again, I highly recommend setting up two-factor authentication!


These improvements constitute only a fraction of our work on Evernote’s technology this year. As most took place deep within the product’s backend, it’s likely that Evernote users didn’t notice a thing—which was exactly our intent. The ultimate goal was to execute all these articulate processes without compromising the user experience. And, with the exception of the October outage we discussed in a previous post, the strategy proved successful.

Looking ahead to 2024

Our 2023 accomplishments laid a strong foundation for future improvements. I’m excited to share with you a few of the things we’ll work on in 2024.

Product

The first part of 2024 will be relatively light on new features, as we’ll focus on fine-tuning Evernote’s existing components. Here’s what you can expect in the coming months:

· Substantial improvements to the user experience. To date, we’ve prioritized bigger reliability issues. Yet, what often frustrates users (myself included) is a combination of many small bugs rather than one or two major issues. From January 2024, the Evernote team will work to address some of the most prominent inefficiencies, helping make Evernote’s user experience smoother than it’s ever been.

· A stunning new user interface, available for Desktop users beginning in January. With the new UI, users will enjoy the in-app experience they know and love, but repackaged into a lightweight and contemporary design. But don’t worry, we’re not moving buttons, rearranging features, or disrupting existing workflows.

Technology

As we continue to modernize the Monolith and rewrite specific pieces of the client codebase, we’ll also work on some new projects:

· We’ll replace our custom client-side database with a more modern solution. The current solution, which we call Conduit, is generally slow, hard to maintain, and the main bottleneck for improving client performance. In 2024, we’ll replace it with a more efficient and reliable alternative. This will make development easier and resolve many of the small errors and inconsistencies users encounter.

· We’ll release RENT, a new metadata sync process. RENT is a counterpart to the collaborative editing initiative from April 2023. While collaborative editing focuses on instantly syncing note content across multiple devices, RENT handles note metadata syncing. With RENT, users will see changes to note titles, thumbnails, dates, and note list content reflected across all their devices faster than ever before.

As we end the year (and this report!), I’m extremely proud of the bright, dedicated people who have worked tirelessly to improve Evernote. Furthermore, I’d like to extend a big thank you to our customers for your continued trust and support. We know the past year has seen some uncertainty and change, but there’s every reason to look at the future with excitement and optimism.

See you in 2024!

- Federico