Re: Human readable credentials?

On Mon, 8 Jun 2020 at 18:49, Jeremy Townson <jeremy.townson@gmail.com>
wrote:

> I have a question for the group about displaying credentials to humans.
> Credentials, being JSON, are machine readable, okay, but when the machine
> is told to display the credential on screen, what does the machine do?
>
> Does this matter? It would appear so.. A holder may wish to make a visual
> check of a credential he holds. An issuer may wish their credentials to
> display their logo, etc. In fact, one can imagine it being useful to
> display virtually any credential, except possibly login credentials and
> that kind of thing.
>
> Since credentials have emerged from linked data on the web, one idea would
> be to continue to do what the web does generally and have a web page render
> a credential. But the integrity of that web page and of the credential are
> guaranteed in different ways. How then would the view and the credential be
> tied to the same issuer?
>
> It seems you could address this question in two ways. One would be to
> embed the view data into the credential itself. For example, a credential
> could contain a field like "view": "*some mime message or whatever*".
> Another would be to use a content-addressable link, such as a hashlink,
> where the content contains the same info.
>
> The problem here is neither of those approaches are standard in the data
> model. Seemingly, it would be useful if they were standard because an
> arbitrary wallet, given an arbitrary credential would know how to display
> it.
>
> So finally, my question. What ways are people using to display
> credentials, are they robust and is there any best approach that might be
> worthy enough to standardise?
>
> Many thanks,
> Jeremy Townson
>
> ps: I've enjoyed watching the CG list file through my inbox. It seems a
> very coherent group, which hopefully gives as good a chance of success in
> this world.
>
> pps: To introduce myself, I have been working on a Scala implementation of
> the VC data model.
>

Hi Jeremy

Great question, and one that I've been exploring extensively recently.

Quick demo: https://melvincarvalho.com/schema/local-business.html

I've been through a large number of solutions and two stand out and I am
finding to be an incredible UX

*1.  Add "@view" to your JSON*

So you have in your credential:

[
  {
    "*@view*": "<path-to-viewer>"
  }
]

This can lead to display inline with a simple shim

*2. Using the "data island" technique popular with SEO*

<script type="application/ld+json" id="data" *view="<path-to-viewer>"*>
  [{ credential }]
</script>

Again this just works with a simple shim

I've simply been blown away by the UX that can be achieved with this
pattern.  It's the most powerful thing I've seen since I started
programming.

I would love to see these patterns mature towards standardization.  I think
it would require compelling use cases, demos and code.  I have a lot of
ongoing work in progress in this area so would to hear ideas!

Received on Tuesday, 9 June 2020 16:36:49 UTC