h-x-app is a proposed microformats vocabulary for marking up data about software applications.
There's a bunch of research into existing formats and potential properties over on store. See below for current, experimental usage.
In October 2021 Ryan Barrett indicated, based on his indie map crawl of IndieWeb sites, that complete set of h-x-app names at the time was: Quill, IndieAuth.com, Teacup, redaktor, Switchboard, Taproot Notes, A WebMention Endpoint, unrelenting.technology Game logs, unrelenting.technology Crawl log, and Woodwind (defunct). Here are the complete indiemap h-x-app results: 121 pages, 25 canonical. (beware, 29MB!) https://snarfed.org/h-x-app.csv
IndieWeb community members publishing h-x-app markup
h-x-app markup with name, logo/photo and url properties on waterpigs.co.uk via Taproot, also marked up as h-product, to provide basic information about the Note Posting UI to authorization UIs.
Aaron also added
h-x-app markup to the IndieWebCamp wiki with name, logo/photo and url properties.
<div class="jumbotron h-x-app"> <h1> <img src="/images/quill-logo-144.png" class="u-logo p-name" alt="Quill"> Quill </h1> </div>
- Koype takes in the authorization token when a Micropub request is made to inject h-app as a
generatorproperty on posts.
- Sele uses
h-appfor marking up authorization requests with more context about what they'll be accepting a request for
- Shock (I use this to present sites like https://jacky.wtf) uses
h-appto present generator information to visitors
- indieweb-endpoints.cc publishes
h-x-appmarkup with name, url, logo, summary, and author (added 2022-10-07) properties since 2019-05-23.
- rel-me.cc publishes
h-x-appmarkup with name, url, logo, summary, and author (added 2022-10-07) properties since 2022-05.
- micromicro.cc publishes
h-x-appmarkup with name, url, logo, summary, and author properties since 2022-10.
- IndieKit publishes
h-x-appmarkup with name, url and logo properties since 2019-08-29.
capjamesg published h-x-app markup with the name, logo, and url properties on the following resources that he has built and hosts:
capjamesg reads h-app and h-x-app markup in his IndieAuth endpoint during the authorization stage as per the specification. The name, logo, and url of an application found in h-app or h-x-app markup is presented to the user during authorization for additional context on the application to which they are subscribing.
ProcessWire IndieAuth plugin
gRegor Morrill is using this module on gregorlove.com since 2021-10-07. The plugin has been available for others to use on their ProcessWire sites since 2022-07-04.
IndieKit parses both
h-app markup to show client information on sign in and consent screens:
Add yourself here… (see this for more details)
h-x-app when displaying the authentication/authorization prompt in order to show the application's name and icon if available. If no markup is available, then only the client_id is displayed.
h-x-app properties currently in use are:
- u-url: URL of the client.
- p-name: Name of the client.
- u-logo: An image representative of an application.
- p-summary: Provides a short description of the client, which may include its purpose (not part of the IndieAuth specification)
- p-author: Author of the client, optionally marked up as an embedded h-card
A p-summary attribute could be displayed on an authorization page on an IndieAuth server. Some OAuth clients such as Twitter already allow applications to specify descriptions. Similar behavior would be useful in IndieAuth. A client could show a description of their tool on the IndieAuth server’s authorization page when a user is asked to approve acces to their tool.
p-summary has not been adopted by as many clients as the other proprieties.
- How is h-x-app different from h-product? The current attributes in use both overlap. I know the intent behind h-x-app is to convey information about applications. Is an "application" a product for IndieAuth use cases?
- Maybe h-x-app needs to be more clearly defined toward a /store use case in order to advance further in its development outside of being used for client introspection by IndieAuth providers.