#microformats 2024-05-23

2024-05-23 UTC
[tw2113], to2ds, [jeremycherfas], [Joschi_Kuphal], gRegorLove_, [capjamesg], barnaby, khjkjh and [Murray] joined the channel
#
[snarfed]
I'm seeing a growing trickle of people mistakenly using u-url to link to their profiles elsewhere when they want rel-me instead. anyone else seeing this? not sure what we can do about it...
#
Loqi
[preview] [snarfed] #829 Web: consider ignoring parsed u-url
#
[tantek]
better error messages?
#
[tantek]
why are people linking from *inside* a post to their profiles elsewhere?
#
[snarfed]
I'm usually seeing it in their h-cards
#
[tantek]
inside their h-cards isn't wrong!
#
[snarfed]
wait really?!?
#
[snarfed]
that was not my understanding
#
[tantek]
your u-url properties in h-card are URLs for you!
#
[tantek]
can include email and tel: too!
#
[tantek]
literally methods of contact
#
[tantek]
so other profiles is a correct use of that and we have LOTS of docs supporting that
#
[snarfed]
huh, I thought it was more specific, ie the canonical URL for that object, not URLs elsewhere that happen to represent the same person
#
[tantek]
what was your understanding?
#
[tantek]
no no u-uid is for canonical
#
[snarfed]
maybe I confused it with h-entry u-url
#
[tantek]
u-url is *any* URL that represents that person or is a way to contact them!
#
[snarfed]
so then for h-cards at least, u-url and rel-me heavily overlap? basically the mf2 vs HTML equivalents?
#
[snarfed]
so is that true for h-entry too? is u-url there equivalent to rel-syndication?
#
aaronpk
hm we do have a different property for syndication urls in h-entry
#
[snarfed]
(modulo the difference in scoping, obviously)
#
aaronpk
and u-url is defined as "entry permalink" in h-entry
#
aaronpk
tho the definition of u-url in h-card also makes it sound like a singlar value https://microformats.org/wiki/h-card#Properties
#
[tantek]
snarfed, we deliberately deprecated rel=syndication because it was a poor fit in context
#
[snarfed]
yeah that's how I understood it, so I assumed h-card was the same
#
[snarfed]
sorry, I meant u-syndication, not rel=syndication
#
[tantek]
what no
#
[tantek]
"home page or other URL representing the person or organization"
#
[tantek]
what about that implies singular?
#
aaronpk
"page" and "URL"
#
aaronpk
those are singular :)
#
[tantek]
it says nothing about the cardinality
#
aaronpk
and it says "or"
#
[tantek]
because each instance of a property has a single value
#
aaronpk
which also implies either one or the other but not both
#
[tantek]
no no no
#
[tantek]
all of the property definitions are written in that brief prose
#
aaronpk
"home pages and/or other URLs"
#
aaronpk
now it's not implied singular
#
[tantek]
"*`u-email`* - email address" is technically "singular"
#
[tantek]
does not mean that you can only have one email address bov
#
[tantek]
*`"u-email`* - email addresses" would be wrong, because a single property DOES NOT contain multiple values
#
aaronpk
just saying most people who read that sentence are not going to think "oh ok so 'a photo of the person' means i can have multiple photos"
#
[tantek]
developers are not "most people"
#
[tantek]
in a spec, you are expected to pay attention to each word
#
[tantek]
e.g. "a" vs "the"
#
[tantek]
a - implies non-singularity
#
[tantek]
the - implies singularity
#
aaronpk
you are technically correct
#
[tantek]
and developers are required to read specs technically in order to keep specs briefer and more readable
#
[tantek]
instead of longer walls of text
#
[tantek]
because the more the text, the more such details are lost in the noise
#
[tantek]
that's for tutorials
#
[tantek]
alright I'll go through and explicitly add "a/an"
#
[tantek]
no I retract that
#
[tantek]
it already says at the top: "All properties are optional and may be plural."
#
[tantek]
what about that is unclear?
#
[tantek]
you must obey that constraint when reading ALL the property definitions
#
aaronpk
how about "may contain multiple values" instead of "be plural"
#
[tantek]
because that's not true
#
aaronpk
what's the difference??
#
[tantek]
*an* instance of a property MAY NOT contain multiple values
#
aaronpk
actually saying the property may be plural kind of sounds like I could have "u-urls"
#
[tantek]
you can't say <span class="p-email">mailto:a@example.com, mailto:b@example.com</span> etc.
#
[tantek]
ok that's a valid criticism
#
aaronpk
oh i was reading this as if it were describing the microformats json
#
[snarfed]
I don't mind the cardinality debate, but fwiw my misunderstanding was more semantics than cardinality
[KevinMarks] joined the channel
#
[snarfed]
ie if h-entry u-url really is the post's canonical permalink, but h-card u-url is for any link representing the person anywhere, those seem very different, and that's what misled me
#
[tantek]
I'm going with "may have multiple instances"
#
[tantek]
[snarfed] technically u-uid should be used for canonical permalink as well
#
[snarfed]
sure, but regardless
#
[tantek]
you could have different u-url values for a post for different languages for example!
#
[tantek]
with ?lang=es or whatever on the end
#
[tantek]
ok before I commit this
#
[snarfed]
(minor point, a subset of u-uids I've seen in the wild aren't URLs, so I've tended to use u-url instead when I need an actual HTTP-fetchable permalink)
#
[tantek]
WDYT aaronpk [snarfed] of "All properties are both optional and may have multiple instances, e.g. multiple name, photo etc. properties."
#
[tantek]
[snarfed] agreed, that's why you can look for a u-uid that is also a u-url as "an actual HTTP-fetchable permalink"
#
[snarfed]
I'm still a bit stuck on the semantics difference though. would you reasonably put u-url on syndication links in an h-entry?
to2ds joined the channel
#
to2ds
Is there a Backus-Naur for microformats?
#
[tantek]
aaronpk? does that help the confusion about url in h-card?
#
[tantek]
to2ds not AFAIK, what's the problem you are trying to solve?
[aciccarello] joined the channel
#
[tantek]
microformats are an addition to HTML, if you are interested in a Backus-Naur, perhaps first search for a Backus-Naur for HTML
#
to2ds
[tantek] Just curious.
[schmarty] joined the channel
#
aaronpk
works for me
#
[KevinMarks]
should we have an example that is more like Tantek's real h-card which has multiple URLs in it?
#
tantek
edited /h-card (+66) "/* Properties */ editorial: more explicit clarification of existing functionality that all properties are optional and plural meaning they may have multiple instances, not that each property instance takes multiple values (no one has ever implemented that, fortunately)"
(view diff)
#
[KevinMarks]
Tantek's one also has nested h-cards for `category` and `org` which might be a useful warning to parsers
#
[tantek]
what are h-card-examples ?
#
[tantek]
I know we have lots of h-card examples on the wiki, this may be a gardening / discovery issue more than a "should we have" issue
#
[tantek]
[KevinMarks] want to take a deeper look at the wiki and propose something?
#
[KevinMarks]
I will later on, OK
#
[snarfed]
regardless of h-entry/h-card semantics mismatch...oof. can't believe I misunderstood h-card u-url for, what, something like a decade
#
[tantek]
snarfed, or perhaps larger, the fact that ALL properties in ALL mf2 vocabs can be multi-instance?
#
[tantek]
which is precisely why each mf2 property in the JSON always has an *array* of values, even if there's only one
#
[tantek]
specs are hard
#
[snarfed]
no again my misunderstanding was not cardinality, it was semantics
#
[tantek]
the two are obviously related, since some semantics assume particular cardinality
#
tantek
edited /h-entry (+67) "/* Properties */ editorial: more explicit clarification of existing functionality that all properties are optional and plural meaning they may have multiple instances, not that each property instance takes multiple values (no one has ever implemented that, fortunately)"
(view diff)
#
[snarfed]
sure, related. but not the same
#
tantek
edited /h-feed (+85) "/* Properties */ editorial: more explicit clarification of existing functionality that all properties are optional and plural meaning they may have multiple instances, not that each property instance takes multiple values (no one has ever implemented that, fortunately)"
(view diff)
#
[tantek]
ok that should do it for now
#
[tantek]
[snarfed] LMK if any other such questions about cardinality or semantics arise for any of the vocabs you are using
#
[tantek]
leaving the other mf2 vocabs alone for now because they need larger edits
#
[snarfed]
(having maintained granary's mf2 lib for well over 10y, I'm all too aware that mf2 properties are multi-valued 😁)
#
[snarfed]
thanks! yeah I'm still curious whether/how much the meaning of h-entry u-url differs from h-card u-url
#
[snarfed]
eg my last question above: if h-card u-url and rel=me evidently overlap so much, are h-entry u-url and u-syndication similarly overlap? would you put u-url on syndication links in an h-entry?
[snarfed] joined the channel
#
[tantek]
IMO you could, if you felt it was of equivalent fidelity
#
[tantek]
one of the implications IMO of u-syndication is that there is little to no guarantee of fidelity
#
[tantek]
or persistence
#
[tantek]
and often an *expectation* of lower fidelity (e.g. Twitter limitations)
#
[tantek]
post character count limitations
#
[tantek]
js;dr destinations being non-archivable
#
[tantek]
and you have no idea if a silo will flip from being high-fidelity high-persistence to being low-fidelity low-persistence for cost savings
#
[snarfed]
huh. ok
#
[snarfed]
would you apply that same fidelity judgment to h-card u-urls?
#
[tantek]
maybe somewhat? we don't have an equivalent of u-syndication in h-card
#
[tantek]
perhaps we need a u-silo 🦆
#
[snarfed]
yeah, maybe it's rel=me, but different language etc
#
[snarfed]
(and not syndication specific)
[Joe_Crawford], barnaby, [Ros] and btrem joined the channel
#
btrem
Late to the party. I've never thought of u-url and u-syndication as the same. I use u-url in an h-feed to point to the primary copy, which in my case is always on my own site. If I create a copy elsewhere, e.g., on my GitHub site, I use u-syndication rel=syndication for that copy.
#
btrem
In my h-card, I use multiple u-url items, one to point to my home page, and a second that links to my GitHub account. The first has u-url only, the second has both u-url and rel=me.
barnaby, [Jo], jeremycherfas and [tantek] joined the channel