Programming OneNote 12

I've confirmed that, as one of them thar jour-nye-lists, I can actually write about my experiences with the Office 12 Beta (I'm allowed to talk about client-side stuff only). I have much to say about the new task-based interface, but for my first post I have to talk about OneNote.

Whoa, baby, does this have potential. Add a reference to the Interop library in Visual Studio and you have trivially simple read-write access to XML-encoded OneNote content. How easy is it to read the pages in your Notebook? Is three lines too much work?:

 ApplicationClass ac = new ApplicationClass(); string strXml; ac.GetHierarchy(String.Empty, HierarchyScope.hsPages, out strXml); Clipboard.SetText(strXml);

Preliminary investigation shows that you get back all the needed valuable information (note flags, binary content [requires two calls,which is fine]). I haven't yet started writing new data, but expect it to be equally straightforward.

OneNote is a platform for innovation. I really think this is one of the best chances for MicroISV development we've had in years.