#microformats 2022-01-30

2022-01-30 UTC
#
[tantek]
^ I'm more & more leaning towards making some strong critical statements there
#
[schmarty]
not sure of the right term, but the block protocol doesn't seem to have "governance" for the schema behind blocks. like it's either very prescriptive (e.g. the "person has a firstName" thing that tantek mentioned) or it's very do-whatever-you-want, since it seems like anyone can publish any kind of block.
#
[tantek]
Yeah, starting with that, the VERY FIRST block / schema / property is a classic western-centric error: "So the schema for a *Person* has the properties *firstName*" which means the author has close to zero i18n clue (sorry if that's harsh but this takes such minimal research that it's painful to see this error)
#
[tantek]
It's only since the 1990s that we've had vCard's international-aware property *given-name* πŸ™„ (which was re-used by hCard, vCard4, h-card, schema-org/Person etc.)
#
[tantek]
It should have been based on a spectrum of "just" existing plain HTML elements (with *maybe* additional attributes) to Web Components which both already have much better understood security characteristics/concerns/precautions etc.
#
[tantek]
Inventing a bunch of one-off JSON for this use-case is a classic example of not understanding the existing technology stack (and how to use its existing features) and so introducing another (unnecessary) layer of abstraction on top.
#
[tantek]
I mean seriously the diagram in the image preview literally is *mostly pre-existing HTML elements* (or trivial pairings thereof): paragraph/<p>, heading<hn>, list/<ol>/<ul>, quote/<blockquote>, code/<pre><code>, preformatted/<pre>, pullquote/<blockquote class="pullquote">, image/<img>, audio/<audio>
#
[tantek]
build Web Components for "verse" and "markdown" and "gallery" and you're basically done. of course this would mean using HTML as HTML and not just as a JS-delivery wrapper πŸ™„
#
[schmarty]
for sure. the main "innovation" here really seems to be taking the WordPress block editor (which is all about plumbing to allow authoring tools to read back what they wrote) and making it work outside of WordPress.
#
[schmarty]
(which feels like it could 100% work for microformats2 πŸ€·β€β™‚οΈ)
#
[tantek]
so the "trivial" way to to "blocks" is to say every direct child element of an h-entry is a block. done.
#
[tantek]
then "just" use <p> for paragraph block, etc. as mapped above
#
[tantek]
if for some reason you actually need explicit markup to say "this thing is actually a block" (and other elements are not, may be decorative, wrappers etc.), then fine, add class="e-block" to each block inside the h-entry. parses out into a flat array of ordered blocks inside the h-entry. presto.
#
GWG
By the way, I looked into the idea of replacing the HTML comments used by the WordPress block editor with microformats as the parsing mechanism
jacky joined the channel
#
[tantek]
^ maybe that would work to give a Micropub client enough of a semantic hook to create / retrieve / update blocks in a blog post
#
[tantek]
GWG, did you also come up with class="e-block" as sufficient?
#
GWG
No.
#
GWG
I just hate the idea of HTML comments the way they did it, and tried to figure out if I could replace it.
#
GWG
Before the block editor, I'd thought of the same idea...parsing out microformats, then saving them in the content part of the wordpress post object
ur5us joined the channel
#
GWG
Apparently, blocks are taking off, as you mentioned
darkkirb, hoenir, rattroupe[d], shaunix[d], Jeremiah[d], Silicon[d], marksuth[d], aaronpk[d], Myst[d], Seirdy and mossymaker[d] joined the channel
#
[snarfed]
to be fair, block protocol's perspective on schemas is evidently more nuanced than "either prescriptive or do-what-you-want." see https://blockprotocol.org/docs/faq#is-the-block-protocol-an-ontology-of-the-real-world and the next few items
#
[snarfed]
and they're not quite as naive as that Person/firstName example implies: https://blockprotocol.org/docs/faq#why-aren't-the-default-schema.org-definitions-sufficient
#
[tantek]
snarfed, I can't take "schemas is more nuanced" seriously when they couldn't even put enough thought into the nuance of the name of a person which is a well solved problem
#
[snarfed]
pls read the link
#
[snarfed]
the second one
#
[snarfed]
(I'll probably back away slowly from most follow-up, I'm neither an ontology nor block protocol expert. I just read that page recently so it was fresh in my mind)
#
[tantek]
ah that's a more refined FAQ thank you
#
[snarfed]
welcome
#
[tantek]
"yet in various cultures this isn’t guaranteed" [citation needed], bold claims to be made that dispute 20+ years of i18n-aware standards need bold evidence
#
[tantek]
snarfed, you're also experienced enough to know that this was tried (XML, RDF), and already effectively failed multiple times: "permissionless ability to build atop and extend schema./org, unbounded by the processing constraints and imagination of any single working group or organization"
#
[tantek]
AKA "everyone make up their own XML tags", = babel
#
[tantek]
again, demonstrating either naivete or willful ignorance of past standards experiences
#
[tantek]
see also XML Namespaces
#
[snarfed]
sure. I'm not here for a comprehensive critique or apology of it. just wanted to redirect us away from "is it a good ontology?" since it's a) mostly not trying to be, and b) that's the least interesting part of it
#
[snarfed]
(from the links above: "Is the Block Protocol an ontology of the real-world? No, and for the most part the Block Protocol itself does not define the structure of entities passed between blocks and applications.)
#
[tantek]
my point is if they can't get something "simple" like basic ontology, then I don't expect they got anything harder right
#
[tantek]
general methodology for critiquing new complex proposals
#
[snarfed]
again, as they said, they're mostly trying to _avoid_ defining any new ontology
#
[snarfed]
that may be naive, and fine, but it's probably more interesting and useful to look at the things they are trying to do
#
[tantek]
snarfed, I kinda fundamentally disagree with basic approach, per HTML vs JS
#
[snarfed]
fair enough
#
[tantek]
"using HTML as HTML and not just as a JS-delivery wrapper"
#
[tantek]
note that their dependence on JS blocks is harmful both for robustness (per JS fragility akin to XML fragility) and security (per arbitrary JS)
#
[tantek]
so it really is a giant mess
#
[tantek]
sad to say this is much more like pre-web COM objects
#
[snarfed]
probably true. (I'm still only partially ramped up)
#
Loqi
[@photomatt] @spolsky This is 100% what Gutenberg is trying to do, and it's designed to not be @WordPress-specific, with the idea that Gutenberg blocks become cross-CMS. We have open source Android and iOS versions. You should talk to @matias_ventura
#
[tantek]
there are some gems in there though: "We are trying to fulfil the vision of the Semantic Web (aka. the OG Web3, before all the NFTs took over!)" πŸ˜‚
#
[tantek]
ooh interesting thread yeah
#
Loqi
[@pbakaus] @photomatt @spolsky @WordPress @matias_ventura FWIW - I've iterated on a proposal codenamed Progressive Elements in 2017 that tried to achieve many of these things - I'm more than happy to share it with any/all of you if helpful. I couldn't staff it internally back then, but maybe it will help you on your journey.
mambang[m], diegov, juanchipro[m], Zegnat[d], aspenmayer[d], angelo, balupton[d], daiyi[d], capjamesg[d], MarkJR84[d], corenominal[d], Christian_Olivie, sknebel, grantcodes[d], sayanarijit[d], KartikPrabhu, jacky, Murray[d], [aciccarello] and zack[m] joined the channel
#
[schmarty]
snarfed: thanks for the reference! It was more thoughtful than I expected.
#
[schmarty]
Still kinda boils down to: "these schema.org folks did a lot of work, so use that. It has biases, contradictions, and omissions, sadly. Hope you're able to recognize and work around them. good luck!"
zack[m] joined the channel
#
[snarfed]
separation of concerns is good. it's easier to try to solve just one or a few problems at a time instead of all problems at once.
#
[snarfed]
(and again, no idea whether their approach is actually a good one. and tantek's argument that "you can't punt on ontologies in this space" may be true. I don't know, I don't live here, just nearby.)
diegov, mambang[m], ur5us, angelo and jamietanna joined the channel
#
[KevinMarks]
If you go looking for readymade schemas, schema.org does jump out, sure. But do you want their inheritance worldview?
#
capjamesg[d]
Inheritance worldview?
#
[KevinMarks]
schema has a hierarchy of types that inherit from each other, and so end up with odd properties from the parent (volcanos have fax numbers)
#
[KevinMarks]
they also tend to have a lot of parallel names for similar things, whereas in microformats we try to use the same name for similar properties, rather than inheritance
cygnoir[d] and jacky joined the channel