Before I even get into this post, let’s get one thing straight, I really love OneNote. It is definitely one of the most under rated pieces of software on the market today. Lots of folks have been talking about all the great new features in the SP1 preview that has been released, but I still think the OneNote team missed the boat with this service pack (read Chris Prately’s blog for lots of behind the scenes stuff on OneNote, especially the entry on SP1). Yes there are a bunch of new ways to help take notes, via real-time sharing, copying notes from the PocketPC and smartphones, and even recording video notes. These are all great additions, but the one thing I was waiting for I was most disappointed in, the open API. I had heard that there was going to be a API added to OneNote, and unfortunately, I assumed (which we all know what happens when you do that) that it was going to be a complete API. Turns out that in this SP1 the API will only let you import stuff to OneNote, and does not allow for any output, which is a shame. Which leads me to my biggest pet peeve:
Black Hole Software – Software that will suck in all your data, but will never give it back up.
In a nutshell, that is OneNote. You can put notes in, but never get them back out again. Yes, I know that you can export notes as MHTML files, but that is a total waste, since trying to parse those files and mine the data in your notes is just as bad as trying to mine data from HTML. Yes, in the SP1 Preview they added support to export your notes as Word docs, but that’s really where they missed the boat. Why convert stuff from one binary format (.one files) to another binary format (.doc files), especially when there is already WordML (hint, hint -- I bet that would be a cheap addition to SP1, exporting to WordML, since they already export it to Word).
In order to really make use of OneNote (and to really make it better that what it is supposed to be replacing, good old notepads), there must be an exposed object model, otherwise it is no better then the notepad. The idea of using OneNote in combination with Longhorn’s WinFS is what I’d like to see long term. Combining those 2 technologies together would be a great personal document tracking application (think of a personal Documentum type system). You would always be able to find your notes, and let you organize (or not organize, as it may be) your thoughts, ideas, documents.
But none of that can be accomplished without an open object model. And that’s the rub. Creating an exposed object model is not cheap, and obviously, Microsoft will need to weight the ROI on such a project. At the moment, OneNote does not seem to be generating enough cash to warrant such an expense, and at its current adoption rate, I don’t know if it would make it into the next release of OneNote. But, maybe the reason more folks don’t use OneNote is because there isn’t a very good way to get their notes back out of it. I don’t know if that is truly the case, and I’m sure the PMs on the OneNote team are struggling with that very problem.
So, my quick fixes to this problem are the following:
- Add the capability to export OneNote files to WordML (not just Word docs).
- Publish the spec on the OneNote binary format (yes I know this is a longshot, but I’ve got to ask). With that out in the open, maybe we (that, is other developers) can figure out ways to make use of the data buried within the notes (and maybe generate more reasons to use OneNote in the process). If publishing the binary format is out of the question, how about just a managed dll that we can use to read .one files (of course the encrypted notes may be an issue).