Can't read ink note created by Evernote

Oct 8, 2011 at 5:46 AM

Hi, thank for the wonderful app. I found a problem with ink note. PN shows a blank page for the ink note that created by Evernote desktop. While the ink note created by PN will be shown a text note with ink image in Evernote. Is it possible to have same format for the ink note?

Oct 8, 2011 at 5:59 AM
Edited Oct 8, 2011 at 6:03 AM

PN's ink support is entirely image-based. This gives us great quality and performance and works with Evernote's text recognition. Evernote's own ink note format, on the other hand, is complicated and closed, so only their own clients support it. Here's what their chief technical officer says:

Our ink format isn't really "proprietary", but it's also not particularly clean (or documented), and it goes back several years before most of us were involved with the company. I.e. it's kind of a legacy thing.

Basically, the Windows client includes a UI control which handles ink drawing. For a collection of historic reasons, this can emit an XML-ish representation of the geometric drawings (with pen weights, etc.), which are then re-encoded into some sort of base-64-ish stream for 7-bit ASCII safety. The same UI control is then capable of reading this back in and re-creating the sequence of strokes. Our own WinMobile app had ink support since the port from Windows was mostly free.

So we don't have any sort of clean converters for this format ... it's just arbitrary input and output for a particular UI control. One of the original engineers did a basic Java-only rendering library to take an ink Resource and produce a PNG image (or sequence of horizontal stripes) for display on the web, including server-generated thumbnails. The Mac client added ink rendering by forking a Java process to run this same library.

Only around 1% of our users make ink notes in their accounts, so we haven't prioritized new ink work very highly. Obviously, if ink usage was much higher, we'd probably put a lot of effort into cleaning it up into a better representation.

If you really (really, really) wanted to do something with ink in your app, we could probably send you the Java library sources ... I hesitate more for your protection than for ours.

If someone was willing to help port Evernote's Java library to WinCE/C++, we could get it and add it to People's Note. I am not feeling up for it myself.