Rough concept
OK, as Adobe's format is excluded, here is the very very initial idea sketch.
Annotation file(s)
The book annotations are kept in a dedicated file (say - annotations.xml in book directory).
Possible extension: keeping also device-specific file(s), at least until the format matures and is proven to handle conversion back properly.
Annotation types
The file is to accomodate (at least) the following annotation types:
- highlight/quote (effect of marking some text in the book - from, to, maybe excerpt)
- drawing (freehand image hooked to the specific position in the book - location, size, SVG file)
- text note (textual note hooked to the specific position in the book - location, note text)
- bookmark (pointer to specific page, possibly entitled or marked up with iconic symbol)
I am not yet sure whether those should be treated separately, or just
as single "annotation" item which possibly can have many attributes
(at the very least it seems sensible to handle things like bookmark
with name, highlight with additional text title, image with label).
Location problem
All anotations must specify their position (or two positions). Due to
already named problems with detection/conversion of those, it seems
best to accomodate multiple simultaneous variations (so the same
location can be specified by both logical and physical coordinates, or
one of them).
Calibre functions
Basic data exchange:
- allow user to "download annotations" (grab all annotations from the device, or just annotations to the selected files on the device, and save them to the library)
- automatically "upload annotations", if present, together with the book whenever it is uploaded, and/or upload annotations separately on demand
PC review/editing:
- viewing annotations in .epub viewer
- entering/modifying annotations in .epub viewer
- (?) supporting other formats (maybe things like export to notetaking apps)
Sync (more difficult and surely not for the first step):
- allow user to "sync annotations" (3-way merge of changes made on the device and on PC, with conflicts resolved in favor of keeping/duplicating notes)
|