Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate new AVAnnotate manifests #739

Closed
3 tasks done
elynema opened this issue Nov 13, 2024 · 4 comments
Closed
3 tasks done

Investigate new AVAnnotate manifests #739

elynema opened this issue Nov 13, 2024 · 4 comments
Assignees
Labels
investigation Related research work

Comments

@elynema
Copy link

elynema commented Nov 13, 2024

Description

Investigate AVAnnotate manifests (listed on #430) to review any changes with updated AVAnnotate tool and compare with list of features that we have defined as needing to be supported (see #430). May also need to determine if these manifests are valid.

Done Looks Like

  • Identify any questions we have about how the AVAnnotate manifests work to pass back, including any manifests that aren't valid or seem to have problems
  • Identify types of parsing changes that will be needed to support these manifests
  • Create any new issues needed to support this functionality beyond those already linked to AVAnnotate Grant Work #430
@elynema elynema added the investigation Related research work label Nov 13, 2024
@Dananji Dananji self-assigned this Nov 15, 2024
@Dananji
Copy link
Collaborator

Dananji commented Nov 15, 2024

Validity of each new manifest (validated against Presentation 3.0 API in IIIF Presentation Validator:

AVAnnotate

Rest of the items have the same Manifest link, https://avannotate.github.io/dev-demo/manifests/manifest.json: invalid ❌, cause: format: 'unknown' for YouTube videos listed in the Manifest. This is not a blocker for the annotations work.

Aviary

@Dananji
Copy link
Collaborator

Dananji commented Nov 15, 2024

Questions:

  1. annotations list in an item contains a AnnotationPage with multiple annotations. These annotations have different sets of motivations;
  • a supplementing motivation for the Annotation while motivation is set to tagging/commenting or both in the body of the annotation. The target for these annotations has a media fragment (similar to supplementing annotations in Avalon manifests for transcripts). E.g. https://tanyaclement.github.io/znh-1939/manifests/manifest.json. In Aviary, these annotations are presented with 2 linked timestamps (start and end of media fragment) alongside the text. In AVAnnotate viewer they are displayed similar to transcript lines in Ramp's Transcript component.
  • a motivation: [ 'commenting', 'tagging'] for the Annotation while motivation is set totagging/commenting in the body of the annotation. Target for these annotations has a point selector with a single time point (similar to highlighting annotations in Avalon playlist manifests for markers). E.g. https://tanyaclement.github.io/shoes/manifests/manifest.json.

In both AVAnnotate and Aviary both these representations are displayed under 'Annotations'.
Question: why do these 2 have different sets of motivations at the Annotation level?
Although it doesn't seem like this makes a difference, seeing both Aviary and AVAnnotate display them as annotations. I wanted to ask the question; are these expected to be painted on the page the same way?

  1. Annotation body items with the purpose: 'tagging' has differently formatted values:
  • In the item named Comparison, the values have the format value:"Editing:Superimposition", which is then used to create a legend for filters in the UI.
  • In Zora Neale Hurston field recordings at the Library of Congress, the values have a single text value without a colon. E.g. value: "Herbert Halpert".
    Both these pages have an index, which has categorization of the tags present in the annotations. But only the first Manifest contains these category information.
    Note: These tags are not present in the Aviary interface for annotations.
    Question: which representation has the correct format for the value property of the tagging annotation?
  1. Does AnnotationPage label has any meaning when it comes to displaying annotations on the page? Both Zora Neale Hurston field recordings at the Library of Congress and https://tanyaclement.github.io/shoes/ manifests have labels for the AnnotationPage that is under annotations list for each item. While AVAnnotate doesn't display this label, Aviary uses this value as a tag displayed next to the value of the annotation.

  2. When there are multiple sets of annotations for a single Canvas, does Ramp display one set of annotations (like AVAnnotate) or multiple sets (like Aviary) at a given time? See more on the issue comment.

@Dananji
Copy link
Collaborator

Dananji commented Nov 19, 2024

Implementation notes:

  1. Creates a body of an Annotation as a list of items, similar to Aviary. This is not invalid, but something that Ramp needs to accommodate in the parsing step. Related work: Fix annotation parsing for Aviary annotations #740. This needs to be re-checked against AVAnnotate manifests.

  2. A single Annotation body can have multiple tags with purpose: 'tagging'. This should be accommodated in data structure built in the parser for annotations work.

  3. Navigating to the next/previous canvases using the player controls doesn't work as expected for the Multi-AV Video Event example. Gives a blank player with the following message in the Web console:

    MEDIA_ERR_SRC_NOT_SUPPORTED: The media resource indicated by the src attribute was not suitable.
    

    Steps to re-produce:

    1. Load the Manifest into ramp, observe the first canvas loads without any issues.
    2. Click the next button, and it works without any issues.
    3. Click the next button again (now we are on the 3rd Canvas in the list, which is a YouTube video), and it gives an empty player without any message.

    Another example of a multi-video Manifest from AVAnnotate: https://avannotate.github.io/annotating-adler/manifests/manifest.json (from the A/V working group interoperability spreadsheet), and the previous/next navigation using player controls works fine for this one.
    The above could be related to the fact that particular media file with the error is a YouTube video?

  4. Annotations within the AnnotationPage are not in chronological order. These need to be ordered.

@Dananji
Copy link
Collaborator

Dananji commented Dec 2, 2024

No further investigation is necessary at this point.

@Dananji Dananji closed this as completed Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
investigation Related research work
Projects
None yet
Development

No branches or pull requests

2 participants