{"id":25298,"date":"2024-04-22T18:24:10","date_gmt":"2024-04-22T16:24:10","guid":{"rendered":"https:\/\/notiz.blog\/?p=25298"},"modified":"2025-04-10T11:25:36","modified_gmt":"2025-04-10T09:25:36","slug":"its-a-thing","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2024\/04\/22\/its-a-thing\/","title":{"rendered":"It&#8217;s a Thing!"},"content":{"rendered":"\n<p>Das Fediverse tut sich schwer, das volle Potential der verschiedenen <a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#object-types\">Activity-Objects<\/a> auszunutzen, haupts\u00e4chlich aus Angst, sie falsch oder schlecht darzustellen und deshalb teilen die meisten gro\u00dfen Netzwerke leider nur <code>Note<\/code>s.<\/p>\n\n\n\n<p>Dabei k\u00f6nnte es so einfach sein!<\/p>\n\n\n\n<p><a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/social.wedistribute.org\/users\/deadsuperhero\">@deadsuperhero<\/a> schreibt auf seinem <a href=\"https:\/\/deadsuperhero.com\/\">Blog<\/a>, dass er eigentlich gerne <code>Article<\/code>s ver\u00f6ffentlichen will, aber (haupts\u00e4chlich) durch Mastodon zu <code>Note<\/code> gezwungen wird, wenn er sicher gehen will, dass der Text vollst\u00e4ndig dargestellt wird.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Here\u2019s the problem, though: the biggest player in the space, Mastodon, does a poor job of supporting Article. Instead, every post Mastodon uses is instead a <a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-note\" target=\"_blank\" rel=\"noreferrer noopener\">Note<\/a>. From a semantic point of view, it might not seem like there\u2019s a lot of difference between the two: both are effectively texts posts that can contain some formatting markup, both can hold an arbitrary amount of characters, and both can effectively be used to represent a full article.<\/p>\n<cite><a href=\"https:\/\/deadsuperhero.com\/2024\/04\/a-content-fallback-mechanism-for-the-fediverse\/\">A Content-Fallback Mechanism for the Fediverse<\/a><\/cite><\/blockquote>\n\n\n\n<p>Ironischerweise zeigt Mastodon eine f\u00f6derierte <code>Note<\/code> vollst\u00e4ndig an, auch wenn der Text weit \u00fcber die eigentlich erlaubten 500 Zeichen hinaus geht, bei einem <code>Article<\/code> wird statt dessen aber nur die kurze <code>summary<\/code> benutzt.<\/p>\n\n\n\n<p>Seine Idee: Ein Content-Fallback Mechanismus!<\/p>\n\n\n\n<p>Das hei\u00dft jede Aktivit\u00e4t, egal von welchem Typ, liefert zus\u00e4tzlich zu dem spezifischen Objekt, eine standardisierte <code>Note<\/code> (<code>content-fallback<\/code>): <\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JSON \/ JSON mit Kommentaren\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"@context\"<\/span>:&#91;\n    <span class=\"hljs-string\">\"https:\/\/www.w3.org\/ns\/activitystreams\"<\/span>,\n    {\n      <span class=\"hljs-attr\">\"Hashtag\"<\/span>:<span class=\"hljs-string\">\"as:Hashtag\"<\/span>\n    }\n  ],\n  <span class=\"hljs-attr\">\"id\"<\/span>:<span class=\"hljs-string\">\"https:\/\/wedistribute.org\/2024\/04\/iftas-dsa-guide\/\"<\/span>,\n  <span class=\"hljs-attr\">\"type\"<\/span>:<span class=\"hljs-string\">\"Article\"<\/span>,\n  <span class=\"hljs-attr\">\"content-fallback\"<\/span>: {\n    <span class=\"hljs-attr\">\"content\"<\/span>:<span class=\"hljs-string\">\"IFTAS, the dedicated Trust &amp; Safety organization ...\"<\/span>,\n    <span class=\"hljs-attr\">\"mediaType\"<\/span>:<span class=\"hljs-string\">\"text\/plain\"<\/span>,\n    <span class=\"hljs-attr\">\"summary\"<\/span>:<span class=\"hljs-string\">\"\"<\/span>,\n    <span class=\"hljs-attr\">\"tag\"<\/span>:&#91;{\n      <span class=\"hljs-attr\">\"href\"<\/span>:<span class=\"hljs-string\">\"https:\/\/wedistribute.org\/tags\/fediverse\"<\/span>,\n      <span class=\"hljs-attr\">\"name\"<\/span>:<span class=\"hljs-string\">\"#fediverse\"<\/span>,\n      <span class=\"hljs-attr\">\"type\"<\/span>:<span class=\"hljs-string\">\"Hashtag\"<\/span>\n    }],\n    <span class=\"hljs-attr\">\"type\"<\/span>:<span class=\"hljs-string\">\"Note\"<\/span>,\n    <span class=\"hljs-attr\">\"updated\"<\/span>:<span class=\"hljs-string\">\"2024-04-11T20:55:29Z\"<\/span>\n  }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON mit Kommentaren<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Ich verstehe das Problem und finde die Idee generell nicht schlecht, aber eigentlich bietet ActivityPub alles N\u00f6tige schon von Haus aus! <a href=\"https:\/\/www.w3.org\/TR\/activitypub\/\">ActivityPub<\/a> oder besser <a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/\">ActivityStreams<\/a> ist so aufgebaut, dass alle Objekte von einem Art <a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-object\">Base-Object<\/a> abgeleitet werden. Das hei\u00dft <code>Article<\/code>, <code>Note<\/code>, <code>Event<\/code> oder <code>Place<\/code>, haben ein gleiches Minimal-Set an Attributen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-attachment\">attachment<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-attributedto\">attributedTo<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-audience\">audience<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-content\">content<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-context\">context<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-name\">name<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-icon\">icon<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-image\">image<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-inreplyto\">inReplyTo<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-published\">published<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-replies\">replies<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-summary\">summary<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-tag\">tag<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-updated\">updated<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-url\">url<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-to\">to<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-bto\">bto<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-cc\">cc<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-bcc\">bcc<\/a><\/code><\/li>\n\n\n\n<li><code><a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-mediatype\">mediaType<\/a><\/code><\/li>\n\n\n\n<li>&#8230;und <a href=\"https:\/\/www.w3.org\/TR\/activitystreams-vocabulary\/#dfn-object\">mehr<\/a><\/li>\n<\/ul>\n\n\n\n<p>Und auch wenn beispielsweise <code>Place<\/code> oder <code>Event<\/code> einige spezifische Eigenschaften haben, die nicht jede Plattform &#8222;kennt&#8220; und &#8222;versteht&#8220;, sollte es immer m\u00f6glich sein, die Beschreibung (<code>content<\/code> oder <code>summary<\/code>) und den Titel (<code>name<\/code>) anzuzeigen.<\/p>\n\n\n\n<p>Das Prinzip ist \u00e4hnlich wie, wenn nicht sogar inspiriert durch, <a href=\"https:\/\/schema.org\/Thing\">schema.org\/Thing<\/a>. Auch hier basieren alle Objekte letztendlich auf einem <code>Thing<\/code> und trotz der wesentlich gr\u00f6\u00dferen Anzahl<sup data-fn=\"86afc0a7-1418-45a0-ac8c-065597de0527\" class=\"fn\"><a href=\"#86afc0a7-1418-45a0-ac8c-065597de0527\" id=\"86afc0a7-1418-45a0-ac8c-065597de0527-link\">1<\/a><\/sup> an Objekten und Attributen, k\u00f6nnen Suchmaschinen sich immer sicher sein, dass es zumindest einen <code>name<\/code>, eine <code>description<\/code> und eine <code>url<\/code> zum Anzeigen gibt.<\/p>\n\n\n\n<p>Bevor wir \u00fcber also \u00fcber ein `content-fallback` nachdenken, sollten wir (meiner Meinung nach) erst einmal daf\u00fcr sorgen, dass die vorhanden M\u00f6glichkeiten richtig genutzt werden.<\/p>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"86afc0a7-1418-45a0-ac8c-065597de0527\">The vocabulary currently consists of 806 Types, 1474 Properties 14 Datatypes, 90 Enumerations and 480 Enumeration members. \u2013 <a href=\"https:\/\/schema.org\/docs\/schemas.html\">https:\/\/schema.org\/docs\/schemas.html<\/a> <a href=\"#86afc0a7-1418-45a0-ac8c-065597de0527-link\" aria-label=\"Zur Fu\u00dfnotenreferenz 1 navigieren\">\u21a9\ufe0e<\/a><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Das Fediverse tut sich schwer, das volle Potential der verschiedenen Activity-Objects auszunutzen, haupts\u00e4chlich aus Angst, sie falsch oder schlecht darzustellen und deshalb teilen die meisten gro\u00dfen Netzwerke leider nur Notes. Dabei k\u00f6nnte es so einfach sein! @deadsuperhero schreibt auf seinem Blog, dass er eigentlich gerne Articles ver\u00f6ffentlichen will, aber (haupts\u00e4chlich) durch Mastodon zu Note gezwungen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"[{\"content\":\"The vocabulary currently consists of 806 Types, 1474 Properties 14 Datatypes, 90 Enumerations and 480 Enumeration members. \u2013 <a href=\\\"https:\/\/schema.org\/docs\/schemas.html\\\">https:\/\/schema.org\/docs\/schemas.html<\/a>\",\"id\":\"86afc0a7-1418-45a0-ac8c-065597de0527\"}]"},"categories":[2],"tags":[1080,860,5171,1103,1094,57],"class_list":{"0":"post-25298","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-web","7":"tag-activitypub","8":"tag-activitystreams","9":"tag-fediblog","10":"tag-fediverse","11":"tag-mastodon","12":"tag-wordpress","13":"h-entry","14":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/comments?post=25298"}],"version-history":[{"count":5,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25298\/revisions"}],"predecessor-version":[{"id":53307,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25298\/revisions\/53307"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=25298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=25298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=25298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}