View Single Post
Old 01-18-2011, 03:58 PM   #38
borisb
Edge User
 
I've been thinking about annotations, and I came to the following conclusions regarding annotations and zooming:
- zooming any type of annotation in PDFs should never be an issue
- zooming some annotations in EPUBs (and PDFs in reflow) is fundamentally an unsolvable problem.

First, there are two types of annotations. The first is markup, which are things like using the Pencil tool and the second is text highlighting and linked items.

Markup is effectively in a layer above the text, exactly like writing on a transparency superimposed over a printed page. Text highlighting is things like the yellow highlighter tool in MS Word, or "attaching" a URL or a library item to some text in an ebook, appearing as an icon in the right margin.

A PDF should never have a zoom problem because a PDF page is effectively a photocopy. You can zoom in and zoom out, but all the same words (and diagrams) will appear in the same order and positioning on the page, just in larger or smaller type. For example, if I highlight "CCC DDD" in the following text (simulated with underline):

AAA BBB CCC DDD
EEE FFF GGG HHH

and I then zoom out, I simply get:

AAA BBB CCC DDD
EEE FFF GGG HHH


As long as the markup layer is zoomed the same amount, the markup will always overlay exactly the same portion of the underlying PDF at any magnification (and pan). Text highlighting (and linked items) behave the same.

In theory, Adobe/enTourage should be able to fully and perfectly support annotations and zooming in a PDF.

EPUBs (and reflowed PDFs) are fundamentally a problem because how many words you see on a page and what line they're on will vary based on screen size and zoom level. And herein lies the problem. Consider the following sample lines of text:

AAA BBB CCC DDD
EEE FFF GGG HHH

If you find something significant about "CCC DDD" you may circle it with the Pencil tool (I obviously can't represent this in a text post). As long as the page is formated as shown, the drawn circle will superimpose properly, highlighting the desired words.

Now here is where you get the problem. If you make the text larger, you might get:

AAA BBB CCC
DDD EEE FFF
GGG HHH

I ask you: how should the software "circle" the phrase "CCC DDD"? As you can immediately recognize, it cannot be done. Zooming itself isn't the problem, it's that the geography of the text on the page has changed, and it's now unclear how & where the annotation should be displayed.
I use the circle as the example as it's the clearest, but you have effectively the same problem with any other type of "squiggle" - the software doesn't know what you really intend to highlight and therefore cannot maintain your intention at a different zoom level (a human might circle both "CCC" and "DDD" independently, but one can't expect that of software).


Text highlights wouldn't be a problem, though, nor links, because these are tied to individual characters. I.e., if you had highlighted "CCC DDD", then they would still be highlighted since the highlight is a characteristic of each letter, e.g. (using underline to simulate):

AAA BBB CCC
DDD EEE FFF
GGG HHH

Similarly, if you had linked a URL to "FFF", then the link would still appear in the right margin of the line containing FFF (this is similar to the way you can attach - or "anchor" - pictures in MS Word to a word, and as the word moves in the document, the picture tags along).

So, PDFs shouldn't be a problem. They should annotate perfectly. Clearly the Reader software should "know" a PDF is being viewed, and support annotations and zooming fully correspondingly.

EPUBs (and reflowed PDFs) shouldn't be a problem if only text (character) based tools are used and the Pencil and similar markup tools are not used (or optionally disabled). However, if a markup tool is used in EPUBs, then Adobe/enTourage has no choice but to lock the annotation to a zoom level because that's the only way to ensure your squiggles overlay the same block of text.

An Addendum

Landscape implementation should really just be about swapping X & Y coordinates. And the screen height & width get swapped. Annotations are all sets of coordinates, so they simply swap X & Y, too. So unless the Adobe software simply doesn't support landscape, I really can't see why landscape hasn't been implemented a year after the eDGe went to manufacturing. And even if Adobe can't do landscape, the eink display driver itself could be told to swap X & Y coordinates coming from the Adobe software. This is really quite puzzling...