dauwhe / epub31-bff

Straw-man spec for browser-friendly format for EPUB31
15 stars 3 forks source link

Relationship to Web Application Manifest spec #28

Open dauwhe opened 7 years ago

dauwhe commented 7 years ago

We should pay close attention to the web application manifest spec. I'd propose that we use their format for many basic things; I believe we can extend without making the files invalid as web app manifests. Quick example:

{
    "name": "Moby-Dick",
    "short_name": "Moby-Dick",
    "icons": [{
        "src": "apple-touch-icon.png",
        "sizes": "64x64",
        "type": "image/png"
    }],
    "start_url": "index.html",
    "display": "fullscreen",

    "@context": {
        "title": "http://schema.org/name",
        "language": "http://schema.org/inLanguage",
        "version": "http://schema.org/version",
        "modified": "http://schema.org/dateModified",
        "mediaType": "http://schema.org/fileFormat",
        "href": "http://schema.org/url"
    },

    "@type": "http://schema.org/Book",
    "@id": "https://dauwhe.github.io/epub-zero/acme-publishing/MobyDick/",
    "specVersion": "4.0",

    "metadata": {
        "title": "Moby-Dick",
        "language": "en-US",
        "modified": "2015-09-29T17:00:00Z",
        "version": "1.0",
        "identifier": "9780000000000"
    },

    "spine": [{
        "href": "html/title-page.html",
        "type": "text/html"
    }, {
        "href": "html/copyright.html",
        "type": "text/html"
    }, {
        "href": "html/introduction.html",
        "type": "text/html"
    }]
}
HadrienGardeur commented 7 years ago

I can see a very good reason to extend the Web Application Manifest: it'll give us immediate support on multiple browsers and OS.

That said, very little of what the Web Application Manifest does is relevant to us:

IMO there are still very good reasons to have a standalone manifest for a publication, but I agree that we should provide an option to embed this manifest in a Web App Manifest, just like we provide an option to embed our manifest in a container.

iherman commented 7 years ago

I certainly agree that this should be a goal. We will have some discussions, hopefully, with the relevant people at TPAC in Lisbon. We will have to clarify how exactly we can extend the basic Web Manifest structure. We should also see whether we need all the terms they put in; for example, with the spine around, I am not sure the 'start_url' is useful.

Ivan

On 12 Aug 2016, at 17:23, Dave Cramer notifications@github.com wrote:

We should pay close attention to the web application manifest http://www.w3.org/TR/appmanifest/ spec. I'd propose that we use their format for many basic things; I believe we can extend without making the files invalid as web app manifests. Quick example:

{ "name": "Moby-Dick", "short_name": "Moby-Dick", "icons": [{ "src": "apple-touch-icon.png", "sizes": "64x64", "type": "image/png" }], "start_url": "index.html", "display": "fullscreen",

"@context": {
    "title": "http://schema.org/name",
    "language": "http://schema.org/inLanguage",
    "version": "http://schema.org/version",
    "modified": "http://schema.org/dateModified",
    "mediaType": "http://schema.org/fileFormat",
    "href": "http://schema.org/url"
},

"@type": "http://schema.org/Book",
"@id": "https://dauwhe.github.io/epub-zero/acme-publishing/MobyDick/",
"specVersion": "4.0",

"metadata": {
    "title": "Moby-Dick",
    "language": "en-US",
    "modified": "2015-09-29T17:00:00Z",
    "version": "1.0",
    "identifier": "9780000000000"
},

"spine": [{
    "href": "html/title-page.html",
    "type": "text/html"
}, {
    "href": "html/copyright.html",
    "type": "text/html"
}, {
    "href": "html/introduction.html",
    "type": "text/html"
}]

}

dauwhe commented 7 years ago

@HadrienGardeur wrote:

start_url may be redundant with the first item in the spine

I think this might be a feature. It's quite common to want ebooks to open somewhere other than the first spine item (to skip past boring front matter), hence reference type="other.ms-firstpage" and things like that.

iherman commented 7 years ago

On 12 Aug 2016, at 17:32, Hadrien Gardeur notifications@github.com wrote:

I can see a very good reason to extend the Web Application Manifest: it'll give us immediate support on multiple browsers and OS.

That said, very little of what the Web Application Manifest does is relevant to us:

name/short_name will be redundant with title start_url may be redundant with the first item in the spine icon is helpful if you want to have a book on your smartphone/tablet homescreen IMO there are still very good reasons to have a standalone manifest for a publication, but I agree that we should provide an option to embed this manifest in a Web App Manifest, just like we provide an option to embed our manifest in a container.

Let us see what the discussion will bring in this respect in Lisbon. Maybe coming up with some specific examples, like the one Dave just did, would be great because it would show the Web Manifest people what we are thinking of doing.

There are things that I do not really understand in the Web Manifest document (and I should look at this again) is the references to security issues that would certainly become relevant for us if we are on the Web.

HadrienGardeur commented 7 years ago

I think this might be a feature. It's quite common to want ebooks to open somewhere other than the first spine item (to skip past boring front matter), hence reference type="other.ms-firstpage" and things like that.

I agree that this might be a feature, but for a different reason:

For what you're describing, we're better off using a rel value or a property that would show up in the link object.

TzviyaSiegman commented 7 years ago

See also https://github.com/w3c/manifest/issues/471

HadrienGardeur commented 7 years ago

I've created a minimal example, using as few elements from the Web App Manifest as we can: https://github.com/dauwhe/epub31-bff/blob/master/extensions/web-app-manifest.md

I can also add a full example in the repo, if we switch these to a gh-pages branch, we could even test such an example directly on a smartphone.

iherman commented 7 years ago

On 12 Aug 2016, at 18:06, Hadrien Gardeur notifications@github.com wrote:

I've created a minimal example, using as few elements from the Web App Manifest as we can: https://github.com/dauwhe/epub31-bff/blob/master/modules/web-app-manifest.md https://github.com/dauwhe/epub31-bff/blob/master/modules/web-app-manifest.md I can also add a full example in the repo

Yes, let's have them there!

HadrienGardeur commented 7 years ago

Just added a Web App Manifest to the Moby Dick example in the repo: https://github.com/dauwhe/epub31-bff/blob/master/examples/MobyDick/manifest.webmanifest

Do we create a gh-pages branch or turn master into gh-pages to test such examples?