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

Relationship to Web Application Manifest spec #28

Open
dauwhe opened this issue Aug 12, 2016 · 9 comments
Open

Relationship to Web Application Manifest spec #28

dauwhe opened this issue Aug 12, 2016 · 9 comments

Comments

@dauwhe
Copy link
Owner

dauwhe commented Aug 12, 2016

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
Copy link
Collaborator

HadrienGardeur commented Aug 12, 2016

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
  • description is redundant with the same element in our metadata
  • lang is redundant with language
  • orientation is redundant with rendition:orientation
  • 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.

@iherman
Copy link

iherman commented Aug 12, 2016

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 [email protected] 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
Copy link
Owner Author

dauwhe commented Aug 12, 2016

@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
Copy link

iherman commented Aug 12, 2016

On 12 Aug 2016, at 17:32, Hadrien Gardeur [email protected] 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
Copy link
Collaborator

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:

  • start_url can point to a reading application written in JS (that will use our Web Publication Manifest to handle all sorts of things)
  • while the first item in the spine points directly to the content of the publication

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
Copy link

See also w3c/manifest#471

@HadrienGardeur
Copy link
Collaborator

HadrienGardeur commented Aug 12, 2016

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
Copy link

iherman commented Aug 12, 2016

On 12 Aug 2016, at 18:06, Hadrien Gardeur [email protected] 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
Copy link
Collaborator

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants