h-x-app

From IndieWeb


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:

Screenshot of Indiekit’s sign in form.

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.

See Also