Thinking about Ink across platforms


As part of my quest to explore what it might mean for ink to be available in the browser, I’ve been thinking a little bit about what it might mean for ink to be shareable with other platforms.

Take the Ink Serialized Format (ISF), for example. Almost all Tablet apps use this format to save or copy/paste ink. Should OS X or Linux be able to read and write this format? Others have wondered the same thing. Julien Couvreur’s, for instance, does a good job of looking at different ink interoperability formats here.

I’m not so sure ISF is the way to go, but as part of a mental exercise and in order to really learn what ISF is all about I started writing some test apps. And before I knew it I had an itch. I wanted to see if I could author an ISF file on a Tablet (by drawing a series of strokes on a Tablet app and saving them to a file) and then read that exact same file on a Mac.

Now there is no provided way to do this in the Tablet PC SDK and the ISF format is not public nor a standard, but I just wanted to see what I didn’t know.

So for the last couple evenings I’ve been poking at the ISF format and today for the first time, Bob and I were able to actually read an ISF stream on a Mac. Here’s the original ink stroke drawn on a Tablet:


and here’s the same stroke displayed on a Mac in a test app we wrote:


Yeah, doesn’t look like much, but that’s what first attempts are often like.

Now I’m not suggesting that I’ve got code that can read and write ISF on multiple platforms. I only parsed through enough of the ink format to understand some basics and write a couple routines to read and render some ink on the PC and a Mac. That’s all. It’s not complete, probably will not be, and you should view it as a learning exercise I took. I’m probably not going to flesh out the code nor publish it. ISF is not a supported format, after all.

A couple things to note about what I did do. Notice that I only rendered the ink using simple polylines. There’s no fancy Bezier curves or anti-aliasing. These are just bare bones line segments in order to see what if anything would appear. The ink looks lots better on the Tablet. Maybe using InkWell could help with this, although I’m not so sure. What about transparency, color, and other ink properties? Would InkWell provide stroke rendering that’s similar enough to that Tableteers are accustomed too?

Anyway, it was an interesting diversion. Now I can get back to sleeping at night πŸ˜‰


  1. I wondered when someone would figure out how to do something and see it on both machines. If you decide to flesh out a program, I think many teachers would find it useful for their students, some of whom have Macs and others work with Tablet PC platforms. Keep up the good work.

  2. I’ve asked Microsoft a couple of times to open the format but of course it has fallen on deaf ears.

    The other thing you could do is create your own “bridge” format and enumerate the strokes yourself and import/export ISF on Windows using the Microsoft.Ink.dll. It wouldn’t nearly be as fast but that’s life. Just don’t make it XML-based! πŸ™‚

  3. SVG is OK, but I’ve found that relying on SVG viewers for rendering doesn’t provide the best “ink” experience. One big issue is with selection for copy/paste. Short of writing a custom SVG viewer that allows people to select words in an SVG document, I see SVG as an option for rendering view-only docs.

    Flash has a similar issue, although one advantage of is that Flash viewers are quite common.

  4. I am a regular user, and here are some of my observations so far on using Xp and OS X. I use Office 2003 on my Tablet. Inked presentations done i PowerPoint look just fine on my iMac in Office X. On the mac I can scale and change the colour on the ink etc. using fill and line tools in powerpoint.