Evernote developer platform takes it way beyond note-taking

Elephants on platforms. Credit: Azim Nuddin via Flickr

Evernote’s move from the personal to the business world wasn’t surprising – the company’s aim of remembering everything for you means that it needed to transcend the barrier between home and work. Like Yammer, it’s taken a freemium approach to integrating the two, adding tools for managing corporate notebooks alongside your own personal data. All you need to do to move to a business account is add your corporate mail address.

From the outside there’s no difference between a business notebook and your own private information. Both look the same, and are treated as separate notebooks inside Evernote. Once a notebook is owned by a company it can’t be deleted by a user – you can only leave. Business notebooks are shared in a library, with tools that let you see related content so you can quickly join a relevant set of notes, while administrators add a recommended flag to notebooks. That means there’s no learning curve, and no need to switch away from your existing desktop, tablet or smartphone apps.

Most importantly there’s complete separation between business and personal notes. Content in a business notebook is controlled by the business, content in your own notebooks is controlled by you. That means you can quickly switch back to a personal account when you leave an employer, and can keep your own data.

In a recent conversation with CITEworld, CEO Phil Libin told us he thinks of the launch of Evernote Business as “moving from single player to multiplayer.” What the company is doing with Evernote Business is wrapped up in his question “How do you know what your team knows?”

It’s a good question, and one that goes further than just into notebooks and shared information. Libin likens it to providing tools to make it easier for you to have that knowledge, noting that “search is an indication of failure.” AI isn’t the answer, either, “Evernote doesn’t need to be smart like a person, more smart like a dog. […] The art is to make you feel like you’re smarter”.

But notes aren’t the only part of Evernote that work well in business.

Evernote is also extensible, with an API makes it easy to extend and integrate with other applications. Unlike many APIs, Evernote’s doesn’t leave you coding your own connections to web services. Instead it provides a selection of SDKs for most common languages and platforms – and keeps them on github. You can use these to add Evernote support to web and mobile applications, working with free tools like Visual Studio Express and Eclipse.

There are two key APIs – one for the Evernote Cloud service, one for working with local applications on Windows, Mac and Android. In practice, you’re likely to prefer working with the Cloud API, as all Evernote notes are stored in the cloud. Pushing data into the cloud means it’ll sync with clients on all platforms, and any web apps you develop will run in most desktop and mobile browsers. You’ll need to register for an API key before you can work with Evernote’s production servers (though the test sandbox is a good place to start).

What Evernote is good at is capturing, storing (and with Business, sharing) information. Apps you build with the various SDKs will need to be focused on this, taking advantage of device capabilities.

It’s easy to imagine apps that use smartphone cameras to store receipts for expense claims, or to capture barcodes and build a simple tool for locating parts in a store. Evernote’s Trunk app store gives examples of the kind of apps and services that can be built using the APIs. While your apps are unlikely to get as far as the Trunk, it’s a useful tool for exploring possible solutions.

Your apps will need to deliver notes to the cloud service, with the API handling the note structure for you. Evernote uses OAuth to handle user authentication, so users don’t need to share passwords with your app. While Evernote Business adds new authentication methods to the platform, the API abstracts them to allow developers to quickly support them with a couple of extra lines of code.

Credit: Screenshot
Evernote's developer site gives you details and tutorials to get started with mobile and web apps.

Once connected to a user account you can use the SDKs to open a Notebook and create a new Note object, and then start populating it with content. Resource objects are used to hold binary content associated with a Note, and are called from markup in the note. Once a note has been created, a simple call drops into a store associated with a user ID. You can also add tags to a note, to help with indexing and search.

Adding content to a note is easy enough, as you can use Evernote’s own document markup language ENML. A subset of XHTML, ENML is easy to learn, and – more importantly – easy to construct. A new <en-note> tag sets up a note, while <en-media> handles storing content in a note. You can use CSS to style notes for display, though you’re limited to using only in-line styles and can’t embed external stylesheets. While it makes it harder to give notes a consistent look and feel, it makes sense to treat Evernote as a box that stores everything, with no reference to the outside world. That does mean you’ll need to convert any HTML content into ENML before delivering it to the Evernote Cloud, and that you’ll need to deliver any binary content as a resource that can be rendered in a client app (supported file types include GIF, PNG, WAV and MPEG).

The APIs mean that Evernote can even be a UI for a line-of-business application, as apps don’t need to add content to a notebook – they can poll accounts to look for changes and then extract the data. You could use a tool that did this to pull information from a business notebook and deliver it to another application. Just remember to poll at intervals greater than 15 minutes, otherwise Evernote will remove your API key. Alternatively you can take advantage of recently added Webhook support to push updates to a registered URL.

With support for popular languages and platforms, extending Evernote can quickly add new tools to a team. Whether using the consumer Evernote service or the more full-fledged business tool, there’s a lot that can be done with the various SDKs, from creating new content to integrating content in existing applications. You also don’t need to be worried about your data going away, as Libin notes that Evernote is different from many startups.

“We’re building Evernote to demonstrate long term value, giving up short term revenue to make money over the next 100 years. There is no exit.”

From CIO: 8 Free Online Courses to Grow Your Tech Skills
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies