Skip to content

Folding nfc into a static render suite needs a dispatch mechanism #77

Closed

Description

@dmitrizagidulin

The TF discussion on #54 converged on three broad suites: static (pre-baked artifacts), data (card object), and html. The spec currently keeps nfc as its own renderSuite value instead of folding it into static, because of a gap:

The nfc suite value tells the wallet what to do with the payload -- transmit it over an NFC radio, not display it. If NFC payloads, images, and PDFs all share renderSuite: "static", nothing else in the render method carries that distinction:

  1. template.mediaType does not work: the NFC example uses application/octet-stream, and there is no well-known registered media type that means "NDEF/NFC payload".
  2. outputPreference.accessMode (visual, auditory, tactile, textual) describes how a human perceives the rendering, not a machine transmission channel.

Some options include:

  • Keep nfc (and similar channel-specific methods) as their own suite values, reserving static for artifacts the wallet displays directly (current state of the spec).
  • Fold them into static and add a discriminator property (e.g. a channel or delivery hint).
  • Fold them into static and mint/register a dedicated media type for NFC payloads.

Activity

  1. dlongley commented on Sep 22, 2026

    @dlongley
    Contributor

    Perhaps accessMode should be renamed to deliveryMode (or similar) to allow for the combination of accessibility vocabulary terms and other modes of delivery, such as nfc.

  2. dmitrizagidulin commented on Sep 29, 2026

    @dmitrizagidulin
    CollaboratorAuthor

    @dlongley I like deliveryMode, and included it in PR #85

  3. dmitrizagidulin commented on Oct 6, 2026

    @dmitrizagidulin
    CollaboratorAuthor

    Addressed by PR #85, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussItem needs discussion

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions