Tag evernote

Publish Books Instantly From Evernote

It’s never been easier to be an author. Evernote is an especially popular tool for many writers. It serves as the place to collect, find, and organize source material, archival information, and photographs. For many authors, Evernote is the place where ideas are assembled into words and manufactured into stories. The white canvas of a note is a comfortable place to pour out prose and organize the elements of a

Continue reading…

Securing Impala for analysts

We’ve previously described the Hadoop/Hive data warehouse we built in 2012 to store and process the HTTP access logs (450M records/day) and structured application event logs (170M events/day) that are generated by our service. This setup is still working well for us, but we added Impala into our cluster last year to speed up ad hoc analytic queries. This led to the promised 4x reduction in query times, but access to data in the

Continue reading…

Evernote’s Three Laws of Data Protection [Update]

There are certain things that matter to us, that we fight for, and that define virtually every decision that we make at Evernote. In 2011, we laid them out in our 3 Laws of Data Protection: Your Data is Yours Your Data is Protected Your Data is Portable Over the past few years, we’ve seen a welcome shift across our entire industry towards more transparency around data use, intent, and

Continue reading…

How Evernote’s XML Export Format Works

Evernote notes can be exported from our Windows and Mac clients using two different output formats: HTML and ENEX. HTML produces a web page (or series of web pages) containing all of the exported notes, as well as any included Resources (images, files, etc.). This format is useful for sharing Evernote content with just about anybody, even folks who don’t use Evernote. The Evernote software is not able to import

Continue reading…

How Evernote’s Image Recognition Works

Evernote’s ability to search for text within images is a popular feature. In this post, I’ll describe how the process works and answer some frequently-asked questions. How images are processed When a note is sent to Evernote (via synchronization), any Resources included in the note that match the MIME types for PNG, JPG or GIF are sent to a different set of servers whose sole job is performing Optical Character

Continue reading…

An Inside Look at Type Ahead Search in Evernote

One of the first things I worked on when I joined Evernote was designing and implementing Type Ahead Search for the Evernote Mac Client. This is how it looks today:   Most of us, at some point, have faced the challenge of not knowing what exactly to search for when confronted with a search box and a blinking cursor. We introduced type ahead search to improve this experience for our

Continue reading…

Building Apache Thrift on Mac OS X

If you follow this blog, you’re already well aware that the Evernote API is built on the Apache Thrift framework. Our client SDKs give you everything you need to use the API, so most developers don’t actually have to understand much about Thrift. From time to time, though, somebody wants use our Thrift IDLs to compile their own client-side code. Most of our engineers use Macs, and we’ve found that building the Thrift

Continue reading…

Protecting your data: the broken drives edition

In our blog post “Evernote’s Three Laws of Data Protection”, Phil touches on some of the measures we take to protect your data and our goal of being a trusted place for it. There is much more we do, so I wanted to talk a bit about an important aspect: what happens when hard drives fail? You have probably read stories of people buying previously owned computers and finding they

Continue reading…

WhySQL?

When we describe our overall service architecture to smart people who have been involved in other big services, the two most common questions are: Why is your structured data stored in SQL databases instead of something like [big-data, web-scale, No-SQL platform X]? Why are you running your own hardware instead of hosting Evernote in [cloud service provider Y]? These are both valid and interesting questions. I’ll start with #1 and

Continue reading…

So API Together: Evernote and Thrift

When we started to plan the Evernote service in 2007, we knew that we would need to support both “thin” clients (like web browsers) and “thick” synchronizing clients on the day that we launched. This forced us us to think about remote protocols and client APIs before we built any web GUI, rather than waiting a few months to staple an API onto an existing web service. Our application forced

Continue reading…