- From: Brian Di Palma <offler@gmail.com>
- Date: Fri, 9 Aug 2013 17:49:44 +0100
- To: Kornel Lesiński <kornel@geekhood.net>
- Cc: Dimitri Glazkov <dglazkov@chromium.org>, "Tab Atkins Jr." <jackalmage@gmail.com>, Marcos Caceres <w3c@marcosc.com>, public-webapps <public-webapps@w3.org>
I've no experience of the previous XML manifest files but I must admit that I find the arguments for HTML quite persuasive. My default and original position would have been for JSON. I know that I for one will now be more open toward using HTML as a data definition format in my own work. On Tue, Aug 6, 2013 at 6:31 PM, Kornel Lesiński <kornel@geekhood.net> wrote: > On Thu, 01 Aug 2013 17:57:20 +0100, Tab Atkins Jr. <jackalmage@gmail.com> > wrote: > >> HTML is the Web's serialization format *for HTML, and other text-like >> things*. As Kornel's example shows, HTML is *not* well suited to >> holding key/value pairs or the like; > > > The ugly part is current lack of support for nested groups of metatags, but > HTML is pretty good at nesting in general, so this can be fixed easily (I've > proposed <metagroup> and <permission> in passing). > > OTOH JSON is by design set in stone, so you can't relax parsing even to fix > the merge-conflict-inducing trailing comma, you can't add language attribute > to values, you can't add proper comments. > > Here's a very interesting post about hacking JSON format, motivated by pains > of using JSON for configuration: > > http://fadefade.com/json-comments.html > > Comments are irrelevant for data serialization/exchange when JSON is spit by > software (and this is where JSON shines), but become a necessity in files > that humans have to carefully maintain. > > When files are written by hand (and config files most often are) people can > abuse the syntax. The comment hack proposed in aforementioned article makes > JSON-with-comments incompatible with ES5 JSON and turns underspecified quirk > and implementation detail into de-facto standard. > > JSON left out comments deliberately to avoid deteriorating by having a hacky > extension point, and now a hacky extension point has been found... > >> you have to hack them in via ugly >> <meta> values, and you don't get any of the benefit of the rest of >> HTML, because <meta>/<link> *is all you're doing*. > > > Actually, if I could define app's metadata and web components all in one > file that would be awesome: > > <link rel="import manifest" href="/"> > > (and for added awesomeness I'd make that file my homepage, so I can have > self-contained 1-request web app, and subpages that get the manifest and > components from the page that is most likely to be cached). > >> This is quite different from Templates, because those are actually >> leveraging HTML, and so using HTML as the delivery format as well just >> reduces impedance mismatch. I don't think that applies here. JSON is >> the way the web does key/value transmission. > > > JSON is fantastic for bare key/value transmission (uncommented, unlocalized > automatic data dump), but manifest is not just a basic key/value > transmission. Locales tree-patching-dictionary in the spec shows that > manifest already has impedance mismatch with JSON data model. > > -- > regards, Kornel >
Received on Friday, 9 August 2013 16:50:12 UTC