W3C

Publishing Maintenance Working Group Annotation Task Force Telco

26 June 2025

Attendees

Present
Brady Duga, George Kerscher, Hadrien Gardeur, Ivan Herman, Laurent Le Meur
Regrets
-
Chair
Laurent Le Meur
Scribe
Brady Duga

Meeting minutes

Organizations

Laurent Le Meur: What orgs are interested in this project
… EDRLab talked to Himmer (sp?) who are interested but will not join
… Colibrio made a presentation on CFI use and presented the fact that Colibrio has released an open source JS library for CFI
… So those are two who are interested, does anyone knows anyone else?
… (sounds like no)

Documentation

Laurent Le Meur: proposal for docs is to use github as a subdir under somewhere [I missed where]
… we still need to decide Note vs rec
… apparently the current admin at W3C isn't happy with Note -> Rec process
… so we need to decide ASAP

Ivan Herman: Rec means we need 2 implementations
… and in this case we will probably need to prove interop between RSes
… If I look at that and the few number of orgs interested, then I am not sure we can do rec track
… just trying to be realistic

Laurent Le Meur: We have Colibrio and EDRLab
… which should be good

Ivan Herman: No, sorry. There are 2 independent implementations, but the minimum of 2 should require interchange as well
… so we need more than 2, maybe 3 or 4

Laurent Le Meur: Are you sure that using the Readium kit at different companies won't count as multiple impls?

Ivan Herman: No, it is like Google and Brave implementing the same thing. They are considered the same impl
… I would like it to be a rec, but I am trying to defend against objections

George Kerscher: Rick Johnson and VitalSource are interested in interchange
… They are also interested in citations. They are no longer members, but I can check if they are implementing
… they are not in WG

Ivan Herman: That is ok
… CR does not require they be W3C members

ach George Kerscher

Brady Duga: So Note to rec is an issue, what about the other direction?

Ivan Herman: No, not a problem, it would just stay as a working draft

Laurent Le Meur: I would be in favor of going to rec track
… Note is ok at first, but it is a problem for wider adoption

Laurent Le Meur: Back to documentation

Ivan Herman: Should be in the 3.4 line in github

Laurent Le Meur: Yes, with folder name annotations
… Next item is process and use cases

Use cases

Laurent Le Meur: we should start with them, ok?

Ivan Herman: Yes, definitely

Laurent Le Meur: I have a Google doc that I started
… we can move to github later

<Laurent Le Meur> link to the temporary google doc: https://docs.google.com/document/d/12V_HTYNTQhrAcqT3ve0mMd8GIeybEMq9B5Q7D1M4FdI/edit?tab=t.0

Laurent Le Meur: It would be good to add to this document in the next few days, then we can move the best ones to github

Ivan Herman: So 1 paragraph is 1 use case?

Laurent Le Meur: Yes

Simple annotation

<Laurent Le Meur> first use case : A user decides to annotate a textual section of an EPUB. He selects the section, triggers the annotation affordance, optionally enters a note, selects a highlight mode and color. He then saves the annotation. The selected section appears on the page with the chosen highlight.

<Laurent Le Meur> comments?

Ivan Herman: We already have annotations, the important thing is the interchange
… do we even need this one? Since it already exists
… looking for other use cases for the web, but I am not finding them
… what we really care about is how are these different from web annotations

Laurent Le Meur: W3C annotations has so much in it. Maybe we should close the door on unnecessary things

Ivan Herman: The use case doc structure is ours, we could start with exactly that
… e.g. "web annotations allows, but we don't need" at the start of the use cases

George Kerscher: A simple use case, I read in Thorium, annotate, then open the same book on the phone in a different app
… That isn't even between people

Laurent Le Meur: That is on the list near the top

Annotating images, videos

<Laurent Le Meur> second one: A user decides to annotate an image of an EPUB. He selects the image and triggers the annotation affordance. The annotation feature is then identical to the one associated with a textual selection.

Laurent Le Meur: There are some obvious ones before it, but the only one I want to call out is images, etc
… we should probably discuss this

George Kerscher: There are a couple of AI tools to get the description of the image
… I could annotate the image with that, but I may need a sighted user to confirm the annotation

George Kerscher: Just select it and annotate

Laurent Le Meur: In Thorium, that ability doesn't exist
… This will inform our choice of selectors

George Kerscher: What about figures?

Laurent Le Meur: If we require images, we will get figures

Ivan Herman: Apart from the tech issues, what are the arguments for not annotating images?
… It seems fine in a use case document

Brady Duga: Do we need all the possibilities?

Laurent Le Meur: There are definitely technical issues with some of these things
… maybe we can add a use case for images, but not video, etc?

Ivan Herman: Just because it is in the use case document, doesn't mean we don't have to support it
… If it is a valid use case, we should add it, then explain why we are not supporting the use case
… technical issues aside, it is a valid use case

Laurent Le Meur: So we can have use cases that are not in the requirements list?

Ivan Herman: Yes

Laurent Le Meur: Ok, we can dream in the use cases

Adding tags

<Laurent Le Meur> third one: A user creates an annotation. He can categorise this annotation with a string (let’s call it a tag), so that annotations can easily be grouped together. Examples: “analysis”, “to be discussed”.

Laurent Le Meur: there is another small use case
… categorization
… Being able to add a label
… So the annotator can add some semantics

Brady Duga: Is this use case valid for us? Since we are specing interchange

Laurent Le Meur: If we have the possibility to tag, then we will need this in interchange

Ivan Herman: The real use case is adding categories to the interchange

Laurent Le Meur: I will move this to the last section for interchange
… and clarify

Bookmarks

<Laurent Le Meur> next use case: A user decides to bookmark a location in an EPUB. The current cursor is used as an anchor. He selects the section. He triggers the annotation affordance, optionally enters a note, selects a highlight mode and color. He then saves the annotation. A bookmark icon appears on the page, near the line where the cursor was positioned when the bookmark was created.

Laurent Le Meur: People also want to share bookmarks, it is not clear if the current spec covers bookmarks

Hadrien Gardeur: You have bookmarks and highlights, and either can be annotated
… a highlight is essentially a range, but a bookmark isn't
… an annotation is complementary to those two (highlight and annotation)

Ivan Herman: I agree with Hadrien Gardeur
… We are talking annotations and selectors, a selector could be a range or a bookmark
… we need to add them both to use cases, and yes they should be separated
… in the bookmarks use case, a big difference between an epub and web page, a book is typically much longe
… it is unusual for someone to read the whole epub in one go
… so we need to clarify in the use cases that there is an emphasis difference here

George Kerscher: I see 3 or 4 items in this annotation. I see a tag, a color, the content, and one bookmark (the location)
… so when I move devices I have a last known reading position

Laurent Le Meur: I didn't put this in the use cases, since this is not a user action, but rather is automatic

George Kerscher: I don't know if that is a flag that goes across users
… in schools teachers want to know amount read, etc, but we aren't going there, we are just looking at the annotation transfer

Hadrien Gardeur: I would treat last known reading position as different from a bookmark, and typically that can't be annotated
… And the progression is transient, so it may not be very interesting for this work
… It seems better for syncing across devices, so I would exclude it from our use cases

Laurent Le Meur: But when I export wouldn't it be interesting to export it?

Hadrien Gardeur: maybe, but not for sharing

Brady Duga: if I'm jumping between devices, I might want my reading position to follow, not in other use cases. Make it optional in the RS is a UX complexity. My alternative is to explicitly add a bookmark if I want to export it. It is almost an implementation detail. We should not muddy the waters with this current position

Laurent Le Meur: We are at time, if everyone could review the use cases and add as needed, and we can finalize the next time we meet

George Kerscher: Will we move this into the repo?

Laurent Le Meur: Yes. Should we allow some editing first, or move it now?

George Kerscher: I prefer github

Ivan Herman: Let's take it offline

Minutes manually created (not a transcript), formatted by scribe.perl version 244 (Thu Feb 27 01:23:09 2025 UTC).