Any time I find myself thinking how great the Internet is, my thoughts drift to the one area in which I find it sorely lacking: a native annotation capability. The notion of hypertext and the linking of documents in a digital network is genius. It seems to me that if you can conceive of this, you have to understand that it works well only when you are talking about large volumes of “pages” or documents. And if you imagine large volumes of documents and the rabbit hole the links lead you down, you’ve got to wonder how we missed the native ability to annotate these documents as we go.
There are third-party tools that help with this. These tools can clip articles and store the clipped versions locally. Some of them provide tools for marking up the articles–highlighting, or adding your own annotations. But these often feel flimsy to me. It seems to me that what we need, is foundational tool for annotating what we read on the Internet. And while this does’t seem to be an operating system level function, it certainly seems to be something that a well-designed web browser should be able to do as part of its basic functionality.
Requirement for a Digital Commonplace Book protocol
The Internet is full of standards and protocols, and if I were designing web browsers, I’d see if I could come up with a standard for what I’d call a “digital commonplace book” protocol–DCB for short, since above all, a protocol must have an abbreviation. My DCB protocol would differ in some ways from tools like Pocket or Evernote. My list of requirements for a DCB would look as follows:
- HTML protocols would be extended to support DCB. There is some additional metadata that would be needed to support annotations, like versioning, and being able to locate specific pieces of text or objects on the page.
- Highlights and annotations could be stored locally or in a service (like Evernote or Pocket)
- In addition to the highlights and annotation data being stored, information about the specific page and page version would need to be stored as well.
- When a browser renders a page, it would look at the digital commonplace book to see if that page had entries, and apply CSS to the page to show the highlights and annotations when viewing the page.
- If the page had changed since the annotations were captured, the meta-data collected as part of the annotation could provide a reference to the page version it was captured on, and the browser would have a kind of timeline slider for the page that allows you to scroll back in time to see the pages as it was at the time you captured your annotations.
- On the server side, it might be useful to log how many times (and what parts) of a page have been annotated. These would all be anonymous logs. The site owner would not know who annotated the pages, just that (a) there was an annotation, and it which part was annotated. This would be optional at the site, or even page level.
- The annotations features would be built into the browser, and the storage format would be standardized, and compatible with any browser.
- Browsers would provide mechanisms for tagging, updating, viewing, searching, and exporting annotations.
- The format of the annotations would be an open format readily accessible to other applications and protocols. JSON might be a good start.
The bottom line for me is that if I highlighted some text on a page in a browser, and made some notes about it, and then came back to that page a few days later, the browser would show my highlights and annotations inline as I viewed the page.
Making Kindle annotations compatible with the DCB protocol
The other major source of annotations I make are in the books, magazines and newspapers I read. And while Kindle provides a useful mechanism for highlights an annotating passages, it’s a lot easier to the get the data in than to get the data out.
I would make Kindle apps and devices compatible with the DCB protocol. I imagine this wouldn’t be too difficult, considering that the annotation functionality is already there in the devices and apps, and would just require some tweaking to make it compatible with such a protocol. The part I would spend a lot of time on is making sure it is as easy to get my annotations out as it is to get them in.
I was thinking about this because I am getting ready to write my next post on how I’m using Obsidian to catalog my reading and reading-related notes. I read in all kinds of mediums. I read web pages, articles in apps, on the Kindle, via Audible audiobooks, and of course on good old-fashioned paper.
For me, all books are interactive. I converse with the authors in the margins. I highlight passages and come back later and make notes on why I highlighted them. Long gone are the days when I revered the pristine look of the printed page, over the page that I have made my own. I encourage my kids to do the same.
In thinking about how I’ve organized my reading notes in Obsidian, it occurred to me my methods could be greatly improved if there was a standardized protocol for a digital commonplace book. Alas, one doesn’t exist at this point.
But at least you now have the context for why I organize my reading notes the way I do–but I’m getting ahead of myself here. That will have to wait for another post.