Categories land in the Web App Manifest

Starting in early May, Rob Dolin began advocating for adding a categories member to the Web App Manifest spec. It was something we’d been discussing for a while now. It’s a feature that will be incredibly useful to users, especially as it relates to PWAs in the Windows Store, other app stores, and in catalogs. This weekend, our hard work paid off and it was added to the spec!

So what does it do and how do I use it?

First off, the new categories member is totally optional. It’s there if you think it offers a benefit for your users, but is by no means necessary.

According to the spec:

The categories member is only meant as a hint to catalogs or stores listing web applications and it is expected that these will make a best effort to find appropriate categories (or category) under which to list the web application. Like search engines and meta keywords, catalogs and stores are not required to honor this hint.

The categories member is a list of categorizations you want to apply to your site. There are no pre-defined categories, but the W3C is maintaining a list of common categories shared by most app stores and catalogs. You will probably want to use at least one of those to ensure your site gets filed properly.

Here’s quick example of a hypothetical manifest for a web version of the book Gojiro by Mark Jacobson:

{
"name": "Gojiro",
"description": "Gojiro, a freak mutation with a cynical worldview, suffers the pain of solitude as well as several maladies experienced by entertainers, including drug abuse and suicidal tendencies.",
"icons": [{
"src": "images/icon.png",
"sizes": "192x192"
}],
"categories": ["books", "fiction", "science fiction & fantasy", "kaiju", "怪獣"]
}

Here you can see 5 categories being assigned to the book. I chose to start with one of the top-level categories from the list and then get more specific, kinda like how class names were originally conceived. The genre “Kaiju” is a sub-classification of “science fiction & fantasy” novels, which are a sub-classification of “fiction”, which is a sub-classification of “books”.

Though the W3C list is in English (as with most web specs), there is no requirement to have all of your categories in English. The final entry, “怪獣”, is “Kaiju” in Japanese.


This addition to the Web App Manifest was much-needed and, along with IARC rating (which we also landed recently) will help our users more easily find the resources they’re looking for. Many hearty congrats to Rob for landing this update and for being added as an editor of the spec!

[{"type":"entry","author":{"type":"card","name":"Cédric Nirousset","photo":"https://webmention.io/avatar/pbs.twimg.com/12aa29f52428d678f425f45f395158db566176de9852082b53d841f1b4cd8b90.jpg","url":"https://nyrodev.com/"},"url":"https://twitter.com/Nyr0/status/902259192010084353","published":"2017-08-28T19:58:49+00:00","wm-received":"2017-08-28T20:04:32Z","wm-id":454393,"wm-source":"https://brid-gy.appspot.com/repost/twitter/AaronGustafson/902253701875863554/902259192010084353","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/plain","value":"🔖 Categories land in the Web App Manifest aaron-gustafson.com/notebook/categ…","text":"🔖 Categories land in the Web App Manifest aaron-gustafson.com/notebook/categ…"},"repost-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"repost-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Derek Pennycuff","photo":"https://graph.facebook.com/v2.10/10101114134173508/picture?type=large","url":"https://www.facebook.com/10101114134173508"},"url":"https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10101114134173508","published":null,"wm-received":"2017-08-28T23:19:56Z","wm-id":454415,"wm-source":"https://brid-gy.appspot.com/like/facebook/100002880350996/1205263776246289/10101114134173508","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","name":"tag:facebook.com,2013:1205263776246289_liked_by_10101114134173508\n  \n  \n  \n  \n      Derek Pennycuff\n    \n    \n\n  https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10101114134173508","like-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"like-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Michael Spellacy","photo":"https://graph.facebook.com/v2.10/10214535007113115/picture?type=large","url":"https://www.facebook.com/10214535007113115"},"url":"https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10214535007113115","published":null,"wm-received":"2017-08-29T04:09:54Z","wm-id":454455,"wm-source":"https://brid-gy.appspot.com/like/facebook/100002880350996/1205263776246289/10214535007113115","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","name":"tag:facebook.com,2013:1205263776246289_liked_by_10214535007113115\n  \n  \n  \n  \n      Michael Spellacy\n    \n    \n\n  https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10214535007113115","like-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"like-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Simon St.Laurent","photo":"https://graph.facebook.com/v2.10/10152625090308201/picture?type=large","url":"https://www.facebook.com/10152625090308201"},"url":"https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10152625090308201","published":null,"wm-received":"2017-08-29T04:42:14Z","wm-id":454459,"wm-source":"https://brid-gy.appspot.com/like/facebook/100002880350996/1205263776246289/10152625090308201","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","name":"tag:facebook.com,2013:1205263776246289_liked_by_10152625090308201\n  \n  \n  \n  \n      Simon St.Laurent\n    \n    \n\n  https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10152625090308201","like-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"like-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Jen Strickland","photo":"https://webmention.io/avatar/graph.facebook.com/47de7678a773cdea5a8de8154ff0a9fdac150509fe7c0ee366cea6e6f59f1471.jpg","url":"https://www.facebook.com/10211586524873491"},"url":"https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10211586524873491","published":null,"wm-received":"2017-08-30T10:47:52Z","wm-id":454819,"wm-source":"https://brid-gy.appspot.com/like/facebook/100002880350996/1205263776246289/10211586524873491","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","name":"tag:facebook.com,2013:1205263776246289_liked_by_10211586524873491\n  \n  \n  \n  \n      Jen Strickland\n    \n    \n\n  https://www.facebook.com/100002880350996/posts/1205263776246289#liked-by-10211586524873491","like-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"like-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"UXLx: UX Lisbon","photo":"https://webmention.io/avatar/pbs.twimg.com/48347bcf81a0774907654012ae4d343ae0565a616af33d6bb5387b9fbe7a64db.gif","url":"http://www.ux-lx.com"},"url":"https://twitter.com/uxlx/status/902931551041794048","published":"2017-08-30T16:30:32+00:00","wm-received":"2017-08-30T16:43:35Z","wm-id":454890,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/902931551041794048","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"“The Requisite Contact Form” <a href=\"https://buff.ly/2vCTvqT\">buff.ly/2vCTvqT</a> by <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://twitter.com/search?q=%23progressivewebapps\">#progressivewebapps</a>\n<a class=\"u-mention\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\"></a>","html":"“The Requisite Contact Form” <a href=\"https://buff.ly/2vCTvqT\">buff.ly/2vCTvqT</a> by <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://twitter.com/search?q=%23progressivewebapps\">#progressivewebapps</a>\n<a class=\"u-mention\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\"></a>","text":"“The Requisite Contact Form” buff.ly/2vCTvqT by @AaronGustafson #progressivewebapps"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Rey Bango","photo":"https://webmention.io/avatar/pbs.twimg.com/59b45942701858aa6c29284e15e800b595fcb452ecd99981312542ab403b7edc.jpg","url":"http://blog.reybango.com"},"url":"https://twitter.com/reybango/status/902986490023731201","published":"2017-08-30T20:08:50+00:00","wm-received":"2017-08-30T20:30:43Z","wm-id":454930,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/902986490023731201","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>'s thoughts on it: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","html":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>'s thoughts on it: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","text":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out @AaronGustafson's thoughts on it: aaron-gustafson.com/notebook/categ…"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Rey Bango","photo":"https://webmention.io/avatar/pbs.twimg.com/59b45942701858aa6c29284e15e800b595fcb452ecd99981312542ab403b7edc.jpg","url":"http://blog.reybango.com"},"url":"https://twitter.com/reybango/status/902986490023731201","published":"2017-08-30T20:08:50+00:00","wm-received":"2017-08-30T20:31:31Z","wm-id":454931,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/902986591437824002","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>'s thoughts on it: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","html":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>'s thoughts on it: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","text":"\"Categories\" is an awesome new addition to the Web App Manifest spec. Chk out @AaronGustafson's thoughts on it: aaron-gustafson.com/notebook/categ…"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Jeff Burtoft","photo":"https://webmention.io/avatar/pbs.twimg.com/4276770bd5d2bc98d29620f0a1e1ded5cc2b80c33952374cdd4435f6d0f1e9b4.jpg","url":"http://www.thishereweb.com"},"url":"https://twitter.com/boyofgreen/status/902986226277519360","published":"2017-08-30T20:07:47+00:00","wm-received":"2017-08-30T20:32:15Z","wm-id":454934,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/902986226277519360","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"I think there might be something to this W3C manifest thingie: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a> from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>","html":"I think there might be something to this W3C manifest thingie: <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a> from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a>","text":"I think there might be something to this W3C manifest thingie: aaron-gustafson.com/notebook/categ… from @AaronGustafson"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Jason Grigsby, ☁4","photo":"https://webmention.io/avatar/pbs.twimg.com/a850c61d3b4d6d8e13f90ecd09bf867c25e4ff826468dbbd7e3ec6c1420cef2e.jpeg","url":"https://cloudfour.com"},"url":"https://twitter.com/grigs/status/903241759202803712","published":"2017-08-31T13:03:11+00:00","wm-received":"2017-08-31T13:22:55Z","wm-id":455064,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/903241759202803712","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","html":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","text":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from @AaronGustafson aaron-gustafson.com/notebook/categ…"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Jason Grigsby, ☁4","photo":"https://webmention.io/avatar/pbs.twimg.com/a850c61d3b4d6d8e13f90ecd09bf867c25e4ff826468dbbd7e3ec6c1420cef2e.jpeg","url":"https://cloudfour.com"},"url":"https://twitter.com/grigs/status/903241759202803712","published":"2017-08-31T13:03:11+00:00","wm-received":"2017-08-31T15:21:54Z","wm-id":455091,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/903276296804995074","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","html":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","text":"Categories added to the Web App Manifest. Applies to Progressive Web Apps. More from @AaronGustafson aaron-gustafson.com/notebook/categ…"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Jeremy Keith","photo":"","url":"https://adactio.com/"},"url":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","published":"2017-09-01T10:51:05","wm-received":"2017-09-01T09:52:07Z","wm-id":455259,"wm-source":"https://adactio.com/links/12768","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"<h1 class=\"p-name\">\n<a class=\"u-bookmark-of\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">\nCategories land in the Web App Manifest | Aaron Gustafson\n</a>\n</h1>\n<h2>\n<time class=\"dt-published\" datetime=\"2017-09-01T10:51:05\">\nSeptember 1st, 2017\n</time></h2>\n\n<p>Manifest files can have <a href=\"https://github.com/w3c/manifest/wiki/Categories\">categories</a> now. Time to update those JSON files.</p>","html":"<h1 class=\"p-name\">\n<a class=\"u-bookmark-of\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">\nCategories land in the Web App Manifest | Aaron Gustafson\n</a>\n</h1>\n<h2>\n<time class=\"dt-published\" datetime=\"2017-09-01T10:51:05\">\nSeptember 1st, 2017\n</time></h2>\n\n<p>Manifest files can have <a href=\"https://github.com/w3c/manifest/wiki/Categories\">categories</a> now. Time to update those JSON files.</p>","text":"Categories land in the Web App Manifest | Aaron Gustafson\n\n \n\n\nSeptember 1st, 2017\n \n\nManifest files can have categories now. Time to update those JSON files."},"bookmark-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"bookmark-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Adactio Links","photo":"https://webmention.io/avatar/pbs.twimg.com/8e0a805eae6791b05c23541931a123a5446393bb9929fcdd274f7e5c33d7792f.jpeg","url":"http://adactio.com/links"},"url":"https://twitter.com/adactioLinks/status/903557109845024769","published":"2017-09-01T09:56:16+00:00","wm-received":"2017-09-01T10:14:26Z","wm-id":455260,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/903557109845024769","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"Categories land in the Web App Manifest | Aaron Gustafson <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","html":"Categories land in the Web App Manifest | Aaron Gustafson <a href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\">aaron-gustafson.com/notebook/categ…</a>","text":"Categories land in the Web App Manifest | Aaron Gustafson aaron-gustafson.com/notebook/categ…"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false},{"type":"entry","author":{"type":"card","name":"Xperienz","photo":"https://webmention.io/avatar/pbs.twimg.com/bdef4e203e0a3008fdcdfc026dcc14d15ac29fdb77d730fe674827977bd016ed.jpg","url":"http://www.xperienz.pt"},"url":"https://twitter.com/XperienzRD/status/905385272292114432","published":"2017-09-06T11:00:44+00:00","wm-received":"2017-09-06T11:13:37Z","wm-id":456420,"wm-source":"https://brid-gy.appspot.com/post/twitter/AaronGustafson/905385272292114432","wm-target":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","content":{"content-type":"text/html","value":"“The Requisite Contact Form” <a href=\"https://buff.ly/2vDdu8V\">buff.ly/2vDdu8V</a> by <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://twitter.com/search?q=%23progressivewebapps\">#progressivewebapps</a>\n<a class=\"u-mention\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\"></a>","html":"“The Requisite Contact Form” <a href=\"https://buff.ly/2vDdu8V\">buff.ly/2vDdu8V</a> by <a href=\"https://twitter.com/AaronGustafson\">@AaronGustafson</a> <a href=\"https://twitter.com/search?q=%23progressivewebapps\">#progressivewebapps</a>\n<a class=\"u-mention\" href=\"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/\"></a>","text":"“The Requisite Contact Form” buff.ly/2vDdu8V by @AaronGustafson #progressivewebapps"},"mention-of":"https://www.aaron-gustafson.com/notebook/categories-land-in-the-web-app-manifest/","wm-property":"mention-of","wm-private":false}]

Webmentions

Shares