This document provides a draft version of Incorporating Synchronized Narration into a Publication Manifest.

This draft is still under consideration within the Synchronized Media for Publications Community Group and is subject to change. The most prominent issues will be referenced in the document with links provided.

Introduction

The Synchronized Narration document covers how to associate Synchronized Narration with an HTML document, by pointing to it from within the HTML document itself. This document shows how to incorporate Synchronized Narration at the Publication Manifest level. Reasons for wanting to do this include:

Terminology

Terms with meanings specific to the publishing industry are capitalized in this document (e.g., "Reading System"). A complete list of these terms and definitions is provided in [[wpub]].

Only the first instance of a term in a section is linked to its definition.

In addition, the following terminology is defined for use in this specification:

Issue #16: add packaging terminology

VOCAB
TODO: what terms do we need to define that are specific to incorporation into web publications?

Specification

Inclusion in a Publication Manifest

Issue #15: clarify packaging rules

A Synchronized Narration document may be associated with a reading order entry in a Publication Manifest. This is done by creating a LinkedResource object for the Synchronized Narration document and adding it to the reading order entry's alternate property:

      {
        "readingOrder": [
            {
              "url": "html/c001.html",
              "alternate": {
                "type": "LinkedResource",
                "url": "narration1.json",
                "encodingFormat": "application/vnd.syncnarr+json",
                "duration": "10000s"
              }
            },
            ...
          ]
          ...
      }          
      

A synchronized narration document is a LinkedResource and uses the following properties:

Publication Manifest Examples

Issue #17: Add more manifest examples

Audiobook

An audio book can add Synchronized Media resources to enable phrase-by-phrase playback:

{
	"@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
	"type"		 : "Audiobook",
	"url"      : "https://publisher.example.org/janeeyre",
	"name"     : "Jane Eyre",
	"readingOrder" : [{
		"type"	: "LinkedResource",
		"url"   : "audio/part001.wav#0",
		"encodingFormat" : "audio/vnd-wav",
		"name"  : "Chapter 1",
		"duration" : "457.931",
		"alternate" : {
      "type": "LinkedResource",
      "url": "sync-media/part001-1.json",
      "encodingFormat" : "application/vnd.syncnarr+json"
    }
	}, {
		"type"  : "LinkedResource",
		"url"   : "audio/part001.wav#457.932",
		"encodingFormat" : "audio/vnd-wav",
		"name"  : "Chapter 2",
		"duration" : "234.245",
		"alternate" : {
      "type": "LinkedResource",
      "url" : "sync-media/part001-2.json",
      "encodingFormat" : "application/vnd.syncnarr+json"
    }
	}]
}

Multi-document web publication

This is a hypothetical example based on TODO

{
  "@context": ["https://schema.org", "https://www.w3.org/ns/wp-context"],
  "url": "https://publisher.example.org/mobydick",
  "author": "Herman Melville",
  "dateModified": "2018-02-10T17:00:00Z",

  "readBy": "Someone",
  "duration": "20000s",

  "sync-media-css-class-active": "-my-active-element",
  "sync-media-css-class-playing": "-my-document-playing",

  "readingOrder": [
    {
      "url": "html/c001.html",
      "alternate": [{
        "type": "LinkedResource",
        "url": "narration1.json",
        "encodingFormat": "application/vnd.syncnarr+json",
        "length": "10000s"
      }]
    },
    {
      "url": "html/c002.html",
      "alternative": [{
        "type": "LinkedResource",
        "url": "narration2.json",
        "encodingFormat": "application/vnd.syncnarr+json",
        "length": "10000s"
      }]
    }
  ]
}