Archive

Obviously wrong

So Microsoft is suing Barnes & Noble for patent infringement. Well, that’s what patents are for: the right to sue. And that’s what licenses are for: the right to avoid getting sued. The only thing is, if you’re going to sue someone with half a brain, you should at least make sure your patent is reasonably solid.

With that said, one of the patents that Microsoft claims that Nook is violating deals with annotating documents, an area I know a bit about. The patent, filed in December 1999, claims a system and method to associate annotations with a non-modifiable document. The idea is that file positions in the document associated with user-selected objects are used to retrieve annotations from some other location, and to display these annotations for the user.

Sounds obvious, no? So obvious, in fact, that when we built such a system in 1997, we didn’t bother patenting this.

Not only was this obvious, but also it was probably not novel in 1997. Work by Phelps and Wilensky, for example, when describing multivalent documents, talks about adding annotations to SGML documents. They also mention putting annotations into a separate layer of a multivalent document, which corresponds to the Microsoft patent’s discussion of modifiable and non-modifiable portions of the file.

Our own work on XLibris, is in, some ways, even closer to the patent in question. Interestingly, the papers we published at academic conferences in 1998 mention the “image+text” document format we used, but did not talk about how annotations were associated with the text. The “image+text” format was a PDF format produced by certain OCR processes that identified the words and their bounding boxes on each page. This was certainly a static document, as what you showed the user was the scanned page image.

The DL’98 paper does, however, establish the relationship between bounding boxes of words and the annotations. In the context of creating clippings, we wrote:

In designing clippings, we had to decide how much of the document should be shown for each annotation. Startingwith the bounding rectangle of each ink stroke, we expand it horizontally to the width of the page and vertically to include complete words…

Finally, in an IEEE Computer article published in January of 1999, we do show (p. 67) a schematic diagram of the XLibris architecture, clearly separating the PDF (image+text) component from the annotation database. XLibris views were linked to the underlying documents through an interface that produced, for each page, the list of words and their bounding boxes. In this way, we abstracted the file representation of the document completely from the creation, display, and storage of annotations. All of the the engineering for this was done in the summer of 1997, even though it took a year and a half for the details to be published. Why did it take so long? Probably because it was obvious.

We also recommend

3 Comments

The patent appears to be quite a bit more narrow (and perhaps somewhat less obvious – you be the judge), in that it spells out specifically how the position of an annotation is determined and stored in terms of UTF-8 byte-offsets of printable characters.

The operative portion of Claim 1 is: “determining a position of the selected object in the non-modifiable portion of the file regardless of said markup tags bounding said selected object”
The technical description spells out quite explicitly that the position is encoded as the byte offset in a UTF-8 version of the non-markup portion of the document, and makes some justification of why this is useful, vis-a-vis having a consistent position even if the encoding of the backing document is changed.