h-x-app
This article is a stub. You can help the IndieWeb wiki by expanding it.
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 Examples
IndieWeb community members publishing h-x-app markup
Publishers
Barnaby Walters
Barnaby publishes 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.
Example: http://pin13.net/mf2/?url=https%3A%2F%2Fwaterpigs.co.uk%2Fnotes%2Fnew%2F
Aaron Parecki
Aaron Parecki publishes h-x-app
markup with name, logo and url properties on http://quill.p3k.io and other p3k applications to provide basic information about the application to authorization UIs.
Example: http://pin13.net/mf2/?url=https%3A%2F%2Fquill.p3k.io%2F
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>
Pelle Wessman
Pelle Wessman publishes h-x-app
markup with name, url and responses properties on webmention.herokuapp.com since 2015-08-24.
Barry Frost
Barry Frost publishes h-x-app
markup on his Micropublish client with name and url properties.
Eddie Hinkle
Eddie Hinkle publishes h-x-app
markup with name, and logo properties on http://indigenous.abode.pub to provide basic information about the native iOS app application to authorization UIs.
Example: http://pin13.net/mf2/?url=http%3A%2F%2Findigenous.abode.pub%2F
gRegor Morrill
gRegor Morrill publishes h-app
and h-x-app
on indiebookclub.
Jacky Alciné
- Koype takes in the authorization token when a Micropub request is made to inject h-app as a
generator
property on posts. - Sele uses
h-app
for 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-app
to present generator information to visitors
Jason Garber
- indieweb-endpoints.cc publishes
h-x-app
markup with name, url, logo, summary, and author (added 2022-10-07) properties since 2019-05-23. - rel-me.cc publishes
h-x-app
markup with name, url, logo, summary, and author (added 2022-10-07) properties since 2022-05. - micromicro.cc publishes
h-x-app
markup with name, url, logo, summary, and author properties since 2022-10.
Paul Robert Lloyd
- IndieKit publishes
h-x-app
markup with name, url and logo properties since 2019-08-29.
Consumers
Danielle McLean
00dani parses h-x-app
markup in her authorization endpoint and uses the data to better present where she is logging in to. See her post about it, with screenshots of her UI.
Aaron Parecki
Aaron Parecki parses h-x-app
(and h-app
) markup in the p3k authorization endpoint to present a nicer prompt when logging in to applications.
Eddie Hinkle
Eddie Hinkle parses both h-x-app
and h-app
markup in the abode authorization endpoint to present a nicer prompt when logging in and authenticating applications.
capjamesg
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
The ProcessWire IndieAuth plugin consumes h-app
and displays the information during authorization. Filed an issue to support h-x-app
as well [1].
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.
Paul Robert Lloyd
IndieKit parses both h-x-app
and h-app
markup to show client information on sign in and consent screens:
Add yourself!
Add yourself here… (see this for more details)
Service Support
indieauth.com
IndieAuth.com consumes 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.
Properties
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
p-summary Discussion
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.
Brainstorming
- 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.