Audiobook Profile for Web Publications

W3C First Public Working Draft

This version:
https://www.w3.org/TR/2019/WD-audiobooks-20190620/
Latest published version:
https://www.w3.org/TR/audiobooks/
Latest editor's draft:
https://w3c.github.io/audiobooks/index.html
Editor:
Wendy Reid (Rakuten/Kobo)
Participate:
GitHub w3c/audiobooks
File a bug
Commit history
Pull requests

Abstract

This specification provides a draft version of an Audiobook Profile for a Web Publication. It also references a framework for packaging audiobooks.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

This draft is still under consideration within the Publishing Working Group and is subject to change. The most prominent issues will be referenced in the document with links provided.

This document was published by the Publishing Working Group as a First Public Working Draft. This document is intended to become a W3C Recommendation.

GitHub Issues are preferred for discussion of this specification. Alternatively, you can send comments to our mailing list. Please send them to public-publ-wg@w3.org (archives).

Publication as a First Public Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 March 2019 W3C Process Document.

1. Introduction

This specification is a module of the Web Publication specification. It will describe the requirements to create an Audiobook profile of a Web Publication.

An Audiobook is defined as a collection of audio resources grouped together by a reading order, metadata, and resources, all contained in a manifest. This Audiobook can live on the Open Web Platform, or packaged.

Editor's note

The Publishing Working Group is currently working on this topic.

This specification is intended to standardize the audiobooks distribution model on the web and between businesses. It should facilitate different user agent architectures for the consumption of Audiobooks. The primary goal is to bring clarity to a part of the publishing industry currently underserved by standards, while opening Audiobooks to the Open Web Platform and new user agents.

This specification does not define how user agents are expected to render Audiobooks. Details about the types of afforances that user agents can provide to enhance the reading experience for users are instead defined in [PWP-UCR].

1.1 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:

Supplemental Content

Supplemental content is any content relating to the audiobook content but not required for the full experience of the publication. Examples of supplemental content include photographs, charts, or data relating to topics mentioned in the book.

2. Specification

2.1 Construction

2.1.1 Bounds

An Audiobook consists of a finite set of resources that represent its content. This extent is known as its bounds and is defined within its manifest — it is obtained from the union of resources listed in the default reading order and resource list.

To determine whether a resource is within the bounds of an Audiobook, user agents MUST compare the absolute URL of a resource to the absolute URLs of the resources obtained from the union. If the resource is identified in the enumeration, it is within the bounds of the Audiobook. All other resources are external to the Audiobook.

Resources within the bounds of a Audiobook do not have to share the same domain.

2.1.2 Primary Entry Page

The primary entry page represents the preferred starting resource for an Audiobook and enables discovery of its manifest. For the full specification of the primary entry page, please refer to [wpub].

It is not required that the primary entry page be included in the default reading order, as the Audiobooks profile requires that only audio resources be present. The primary entry page should instead, if present, be included as a resource.

2.1.3 Table of Contents

The table of contents provides a hierarchical list of links that reflects the structural outline of the major sections of the Audiobook.

The Web Publication specification [wpub] defines the general structure of the Table of Contents in HTML [html].

When an Audiobook contains additional resources (i.e. supplemental content) a table of contents MUST be included, the table of contents MUST include a link to all resources, and all links SHOULD refer to resources within publication bounds.

Issue 1

The requirement for a table of contents if supplemental content is present is being discussed in WPUB #408.

Refer to the table of contents property definition for more information on how to identify which resource contains the table of contents.

2.2 Manifest

2.2.1 Introduction

This section is non-normative.

The Audiobook manifest is defined by a set of properties that describe the basic information a user agent requires to process and render an Audiobook. These properties are categorized in Web Publications [wpub]. Where these properties are extended from Web Publications is specified in this section.

2.2.2 Manifest Contexts

An Audiobook manifest MUST start by setting the JSON-LD context [json-ld]. The context has the following two major components:

  • the [schema.org] context: https://schema.org
  • the publication context: https://www.w3.org/ns/wp-context
Example 1: The context declaration.
{
	"@context" : ["https://schema.org", "https://www.w3.org/ns/wp-context"],
	…
}

2.2.3 Publication Type

An audiobook's< manifest MUST define its Publication Type using the type term [json-ld]. The type MUST be Audiobook [schema.org].

Example 2: Setting a publication's type to Audiobook.
{
		"@context" : ["https://schema.org", "https://www.w3.org/ns/wp-context"],
		"type"     : "Audiobook"
		…
}

2.2.4 Properties

2.2.4.1 Requirements

The requirements for the expression of Audiobook properties are defined as follows:

REQUIRED:
RECOMMENDED:

These properties do not all have to be serialized in the authored manifest. Refer to each property's definition to determine whether it is required in the manifest or can be compiled into the canonical manifest from other information.

2.2.4.2 Creators

A creator is an individual or entity responsible for the creation of the Web Publication. The Audiobooks profile can use the full list of creators specified in Web Publications.

The creators list includes two recommended creators for Audiobooks:

Example 3: Author of a book
{
    "type"     : "Audiobook",
    "@context" : ["https://schema.org","https://www.w3.org/ns/wp-context"],
    …
    "url"      : "https://publisher.example.org/janeeyre",
    "author"   : {
        "type"  : "Person",
        "name"  : "Charlotte Bronte"
    }
}
Example 4: Author and Narrator of an Audiobook
{
		"type"		: "Audiobook";
		"@context": ["https://schema.org", "https://www.w3.org/ns/wp-context"],
		…
		"url"			: "https://publisher.example.org/janeeyre",
		"author"	: {
				"type": "Person",
				"name": "Charlotte Bronte"
		}
		"readBy"	: {
				"type": "Person",
				"name": "Ivan Herman",
				"id"	: "https://www.w3.org/People/Ivan/"
		}
}
2.2.4.3 Duration

A duration is the length of the audio resources in an Audiobook. The duration property is fully defined in the Web Publications specification.

Duration SHOULD be expressed for the entirety of the audiobook as part of the manifest, and SHOULD be present at the item level in the default reading order.

Example 5: Duration of an Audiobook in Hours
{
    "type"     : "Audiobook",
    "@context" : ["https://schema.org","https://www.w3.org/ns/wp-context"],
    …
    "url"      : "https://publisher.example.org/janeeyre",
    "author"   : {
        "type"  : "Person",
        "name"  : "Charlotte Bronte"
    },
		"duration" : "PT123456789S"
}
Example 6: Duration of an Audiobook in Seconds
{
		"type"     : "Audiobook",
		"@context" : ["https://schema.org","https://www.w3.org/ns/wp-context"],
		…
		"url"      : "https://publisher.example.org/janeeyre",
		"author"   : {
				"type"  : "Person",
				"name"  : "Charlotte Bronte"
		},
		"duration" : "PT12345.235S"
}
2.2.4.4 Default Reading Order

The default reading order is a specific progression through the audio resources in the audiobook.

The default reading order MUST contain at least one audio resource, which MAY be identified by the type of LinkedResource.

Editor's note

The relationship to LinkedResource is explained in the core specification. The Working Group is exploring including AudioObject as well [schema.org].

Example 7: Audiobook Reading Order for a Single Resource
{
	"@context" : ["https://schema.org", "https://www.w3.org/ns/wp-context"],
	"type"		 : "Audiobook",
	"url"			 : "https://publisher.example.org/janeeyre",
	"name"		 : "Jane Eyre",
	"readingOrder" : [{
		"type"	: "LinkedResource",
		"url"   : "audio/janeeyre.mp3",
		"encodingFormat" : "audio/mp3",
		"name"  : "Jane Eyre",
		"duration" : "12:45:03.123"
	}]
}
Example 8: Audiobook Reading Order for Multiple Resources
{
	"@context" : ["https://schema.org", "https://www.w3.org/ns/wp-context"],
	"type"		 : "Audiobook",
	"url"			 : "https://publisher.example.org/janeeyre",
	"name"		 : "Jane Eyre",
	"readingOrder" : [{
		"type"	: "LinkedResource",
		"url"   : "audio/part001.mp3#0",
		"encodingFormat" : "audio/mp3",
		"name"  : "Chapter 1",
		"duration" : "457.931"
	}, {
		"type"  : "LinkedResource",
		"url"   : "audio/part001.mp3#457.932",
		"encodingFormat" : "audio/mp3",
		"name"  : "Chapter 2",
		"duration" : "234.245"
	}]
}
2.2.4.5 Resource List

The resource list enumerates any additional resources used in the processing and rendering of an audiobook that are not listed in the reading order. It is expressed using the resources property.

If an audiobook includes supplemental content it MUST be referenced in the resource list.

Example 9: Audiobook with Supplemental Content
{
	"@context" : ["https://schema.org", "https://www.w3.org/ns/wp-context"],
	"type"		 : "Audiobook",
	"url"			 : "https://publisher.example.org/janeeyre",
	"name"		 : "Jane Eyre",
	"resources" : [
		"cover.jpg",
		"portrait_CB.jpg",
		"supplement.pdf"
	]
}

2.3 Packaging

Audiobooks will be packaged using the method described in the Packaged Web Publications specification.

3. Security

Editor's note
Placeholder for security issues.

4. Privacy

Editor's note
Placeholder for privacy issues.

A. Manifest Examples

This section is non-normative.

A.1 Simple Audiobook

A manifest for an audiobook. The canonical version of this manifest is also available.

{
  "@context": ["https://schema.org", "https://www.w3.org/ns/wp-context"],
  "type": "Audiobook",
  "id": "https://librivox.org/flatland-a-romance-of-many-dimensions-by-edwin-abbott-abbott/",
  "url": "https://w3c.github.io/wpub/experiments/audiobook/",
  "name": "Flatland: A Romance of Many Dimensions",
  "author": "Edwin Abbott Abbott",
  "readBy": "Ruth Golding",
  "publisher": "Librivox",
  "inLanguage": "en",
  "dateModified": "2018-06-14T19:32:18Z",
  "datePublished": "2008-10-12",
  "duration": "PT15153S",
  "license": "https://creativecommons.org/publicdomain/zero/1.0/",

  "resources": [
    {
      "rel": "cover",
      "url": "http://ia800704.us.archive.org/9/items/LibrivoxCdCoverArt12/Flatland_1109.jpg",
      "encodingFormat": "image/jpeg"
    },{
      "rel": "contents", 
      "url": "toc.html", 
      "encodingFormat": "text/html"
    }
  ],

  "readingOrder": [
    {
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_1_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1371,
      "name": "Part 1, Sections 1 - 3"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_2_abbott.mp3",
      "encodingFormat": "audio/mpeg", 
      "length": 1669,
      "name": "Part 1, Sections 4 - 5"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_3_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1506,
      "name": "Part 1, Sections 6 - 7"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_4_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1669,
      "name": "Part 1, Sections 8 - 10"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_5_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1506,
      "name": "Part 1, Sections 11 - 12"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_6_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1798,
      "name": "Part 2, Sections 13 - 14"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_7_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1225,
      "name": "Part 2, Sections 15 - 17"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_8_abbott.mp3",
      "encodingFormat": "audio/mpeg",
      "length": 1371,
      "name": "Part 2, Sections 18 - 20"
    },{
      "url": "http://www.archive.org/download/flatland_rg_librivox/flatland_9_abbott.mp3", 
      "encodingFormat": "audio/mpeg",
      "length": 1659,
      "name": "Part 2, Sections 21 - 22"
    }
  ]
}

A.2 Audiobook with Supplemental Content

A manifest for an audiobook with supplemental content.

{
	"@context": ["https://schema.org", "https://www.w3/org/ns/wp-context"],
	"type": "Audiobook",
	"id": "https://publisher.example.com/janeeyre",
	"url": "https://publisher.example.com/janeeyre",
	"name": "Jane Eyre",
	"author": "Charlotte Bronte",
	"readBy": "Jane Doe",
	"duration": "12:34:56.789",
	"inLanguage": "en",
	"dateModified": "2019-03-29T15:59:00Z",
	"datePublished": "2019-03-29",

	"readingOrder": [
		{"url": "audio/chapter001.mp3", "encodingFormat": "audio/mp3", "name": "Chapter 1", "duration": "1234.567"},
		{"url": "audio/chapter002.mp3", "encodingFormat": "audio/mp3", "name": "Chapter 2", "duration": "890.123"},
		{"url": "audio/chapter003.mp3", "encodingFormat": "audio/mp3", "name": "Chapter 3", "duration": "456.789"},
		{"url": "audio/chapter004.mp3", "encodingFormat": "audio/mp3", "name": "Chapter 4", "duration": "987.654"},
		{"url": "audio/chapter005.mp3", "encodingFormat": "audio/mp3", "name": "Chapter 5", "duration": "321.987"}
	],

	"resources": [
	{"rel": "cover", "url": "images/cover.jpg", "encordingFormat": "image/jpeg"},
	{"rel": "contents", "url": "toc.html", "encodingFormat": "text/html"},
	{"url": "haworth_house.pdf", "encodingFormat": "application/pdf"}
	]
}

B. Table of Contents Examples

This section is non-normative.

B.1 Simple Table of Contents

A table of contents for a simple audiobook.

<nav role="doc-toc">
	 <h2>JANE EYRE</h2>

	 <ol>
		<li><a href="audio/chapter001.mp3">Chapter 1. There was no possibility of taking a walk that day...</a></li>
		<li><a href="audio/chapter002.mp3">Chapter 2. I resisted all the way:...</a></li>
		<li><a href="audio/chapter003.mp3">Chapter 3. The next thing I remember is,...</a></li></ol>
	</nav>

B.2 Table of Contents with Media Fragments

A table of contents using media fragment references to locations in a single audio track.

<nav role="doc-toc">
	<h2>JANE EYRE</h2>

	<ol>
		<li><a href="https://example.publisher.org/janeeyre/part001.mp3">Chapter 1</a></li>
		<li><a href="https://example.publisher.org/janeeyre/part001.mp3#456.789">Chapter 2</a></li>
		<li><a href="https://example.publisher.org/janeeyre/part001.mp3#1234.567">Chapter 3</a></li>
	</ol>
</nav>

C. Acknowledgements

This section is non-normative.

The editors would like to specially thank the following individuals for making significant contributions to the authoring and editing of this specification:

Additionally, the following people were members of the Working Group at the time of publication:

D. References

D.1 Informative references

[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[json-ld]
JSON-LD 1.0. Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/json-ld/
[PWP-UCR]
Web Publications Use Cases and Requirements. Joshua Pyle; Franco Alvarado. W3C. 19 February 2019. W3C Note. URL: https://www.w3.org/TR/pwp-ucr/
[schema.org]
Schema.org. URL: https://schema.org
[wpub]
Web Publications. Matt Garrish; Ivan Herman. W3C. 9 April 2019. W3C Working Draft. URL: https://www.w3.org/TR/wpub/