<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://notiz.blog/wp-content/plugins/pretty-feeds/pretty-feed-v4.xsl" type="text/xsl" media="screen" ?>


<!--

	Feeds whisper secrets,
	In the RSS Club's embrace,
	Knowledge blooms in grace.

-->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:source="http://source.scripting.com/"
xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>JSON &#8211; notizBlog</title>
	<atom:link href="https://notiz.blog/tag/json/feed/" rel="self" type="application/rss+xml" />
	<link>https://notiz.blog</link>
	<description>a weblog mainly about the open, portable, interoperable, small, social, synaptic, semantic, structured, distributed, (re-)decentralized, independent, microformatted and federated social web</description>
	<lastBuildDate>Fri, 26 Apr 2024 12:05:24 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://notiz.blog/wp-content/uploads/2019/10/cropped-notizblog-icon-1-32x32.png</url>
	<title>JSON &#8211; notizBlog</title>
	<link>https://notiz.blog</link>
	<width>32</width>
	<height>32</height>
</image> 
<source:blogroll>https://reader.pfefferle.org/i/?a=opml&amp;get=c_2</source:blogroll>
<creativeCommons:license>https://creativecommons.org/licenses/by-sa/4.0/</creativeCommons:license>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://switchboard.p3k.io/"/>
<atom:link rel="self" href="https://notiz.blog/tag/json/feed/"/>
<atom:link rel="search" type="application/opensearchdescription+xml" title="Search notizBlog" href="https://notiz.blog/wp-api/opensearch/1.1/document" />	<item>
		<title>ActivityPub &#8211; The evolution of RSS</title>
		<link>https://notiz.blog/2024/04/26/activitypub-the-evolution-of-rss/</link>
					<comments>https://notiz.blog/2024/04/26/activitypub-the-evolution-of-rss/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Fri, 26 Apr 2024 12:02:53 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[ActivityPub]]></category>
		<category><![CDATA[ActivityStreams]]></category>
		<category><![CDATA[FediBlog]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[PubSubHubbub]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[WebSub]]></category>
		<guid isPermaLink="false">https://notiz.blog/?p=25230</guid>

					<description><![CDATA[Dave Winer (@davew) stellt (sich) auf seinem Blog und auf Mastodon die Frage: What does ActivityPub does that RSS doesn&#8217;t? und nimmt vorweg: Off the top of my head, it&#8217;s not the ability to syndicate, RSS already does that. I can follow anyone on any server. Es macht natürlich Sinn, erstmal zu klären was RSS [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Dave Winer (<a rel="mention" class="u-url mention" href="https://mastodon.social/@davew">@davew</a>) stellt (sich) auf <a href="http://scripting.com/2024/04/04/143706.html">seinem Blog</a> und auf <a href="https://mastodon.social/@davew/112213481032208332">Mastodon</a> die Frage:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>What does ActivityPub does that RSS doesn&#8217;t?</p>
</blockquote>



<p>und nimmt vorweg:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Off the top of my head, it&#8217;s not the ability to syndicate, RSS already does that. I can follow anyone on any server.</p>
</blockquote>



<p>Es macht natürlich Sinn, erstmal zu klären was RSS ist und kann, um auf die Vorteile von ActivityPub einzugehen!</p>



<p>Also RSS steht für &#8222;Really Simple Syndication&#8220; und ist eine Art &#8222;Digitale Einbahnstraße&#8220;, so zu sagen der Newsletter oder Podcast für Texte auf Webseiten. Und weil es dem Podcast so ähnlich ist (und eigentlich auch dessen technische Basis) nennt es Dave Winer auch neuerdings &#8222;<a href="https://textcasting.org/">Textcasting</a>&#8222;, was ich großartig finde!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Applying the philosophy of podcasting to text.</p>
</blockquote>



<p>Und technisch gesehen ist das auch der große Unterschied zu ActivityPub. Während ich bei Textcasting, Texte nur abonnieren kann, habe ich durch ActivityPub auch einen Rückkanal, der mir ermöglicht, die Texte auch zu liken, mit meinen <s>Freunden</s> Followern zu teilen und zu kommentieren!</p>



<p>In den Kommentaren zu Daves <a href="https://mastodon.social/@davew/112213481032208332" data-type="link" data-id="https://mastodon.social/@davew/112213481032208332">Mastodon Post</a> wird auch fast ausschließlich über diese technischen Aspekte diskutiert. Es geht um Push vs. Pull und immer wieder darum, dass RSS ja eigentlich vollkommen ausreichend und viel simpler ist.</p>



<p><a rel="mention" class="u-url mention" href="https://manton.org/activitypub/manton">@manton</a> fasst es ganz gut zusammen:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I think RSS + Webmention (for sending replies) gets you 90% of the way there. ActivityPub does provide a comprehensive framework for the rest, though, and perhaps follows modern social network conventions more closely, e.g. liking posts, approving follows.</p>
<cite><a href="https://micro.blog/manton/34864514">https://micro.blog/manton/34864514</a></cite></blockquote>



<p>Aber ist die Technik das, was hier wirklich den Unterschied macht?</p>



<p>Die Diskussion erinnert mich sehr an den RSS vs. Atom &#8222;War&#8220;, von dem <a rel="mention" class="u-url mention" href="https://fed.brid.gy/r/https://tantek.com/">@tantek.com</a> in einem <a href="https://youtu.be/FNr0JNwsLy8?feature=shared&amp;t=1021">IndieWeb Vortrag spricht</a>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<span class="embed-privacy-url"><a href="https://youtu.be/FNr0JNwsLy8?t=1023">Eingebetteten Inhalt von YouTube öffnen</a></span>
</div></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I saw the best minds of my time waste our time arguing about syndication formats, arguing about plumbing, user don&#8217;t care about plumbing but for some reason we thought that that mattered, we thought that actually really mattered which XML tags to use in RSS versus Atom. [&#8230;] So we focused on the wrong things we argued about plumbing instead of user experience.</p>
<cite><a href="https://youtu.be/FNr0JNwsLy8?feature=shared&amp;t=1021">Tantek Çelik &#8211; The once and future IndieWeb</a></cite></blockquote>



<p>Vielleicht kommt man mit RSS, WebSub und Webmentions auf ein relativ ähnliches Ergebnis und es ist technisch gesehen wahrscheinlich auch etwas einfacher umzusetzen&#8230; Aber sind RSS und ActivityPub wirklich so weit auseinander?</p>



<p>Für mich ist ActivityPub einfach nur die logische Weiterentwicklung, oder auch die nächste Generation von RSS. Wer sich die erste Version von <a href="https://www.w3.org/TR/activitystreams-core/">ActivityStreams</a> (das Format, welches ActivityPub benutzt um Aktivitäten auszuzeichnen) etwas genauer ansieht, erkennt vielleicht ein alt bekanntes Format.</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">entry</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">"http://www.w3.org/2005/Atom"</span>
       <span class="hljs-attr">xmlns:activity</span>=<span class="hljs-string">"http://activitystrea.ms/spec/1.0/"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>tag:photopanic.example.com,2009:photo/4352<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">title</span>&gt;</span>My Cat<span class="hljs-tag">&lt;/<span class="hljs-name">title</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">published</span>&gt;</span>2010-11-02T15:29:00Z<span class="hljs-tag">&lt;/<span class="hljs-name">published</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"alternate"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text/html"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"..."</span> /&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">activity:object-type</span>&gt;</span>photo<span class="hljs-tag">&lt;/<span class="hljs-name">activity:object-type</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">activity:verb</span>&gt;</span>post<span class="hljs-tag">&lt;/<span class="hljs-name">activity:verb</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">entry</span>&gt;</span></code></span></pre>


<p>ActivityStreams wurden 2011 als <a href="https://activitystrea.ms/specs/atom/1.0/">Namespace für Atom</a> definiert um RSS/Atom Feeds mit Informationen anzureichern, die man aus den sozialen Netzwerken kennt. Das ist hauptsächlich der <code>object-type</code> um neben Texten auch Bilder oder Videos auszuzeichnen, und <code>verb</code> um klar zu machen um was für eine Aktion es sich genau handelt.</p>



<p><a href="https://notiz.blog/tag/ostatus/">OStatus</a>, der Vorgänger von ActivityPub, <a href="https://notiz.blog/2010/03/05/ostatus-the-next-generation-of-openmicroblogging/">benutzte übrigens genau dieses Format um Aktivitäten auszuzeichnen</a>!</p>



<p>Erst 6 Jahre später wurde die <a href="https://www.w3.org/TR/activitystreams-core/">Version 2.0</a> als reines JSON Format veröffentlicht, was aber auch Sinn macht, da JSON das Format ist, welches moderne APIs eben sprechen.</p>



<p>Das heißt ActivityStreams ist im Prinzip eine moderne Form von RSS und ActivityPub ist einfach &#8222;nur&#8220; ein <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">PubSub System</a> welches drumherum gebaut wurde.</p>



<p>Aber zurück zur Usability!</p>



<p>Die Frage ist für mich nicht RSS oder ActivityPub&#8230; Die wesentlich interessantere Frage ist: Feed-Reader oder Mastodon?</p>



<p>Die RSS oder <a href="https://indieweb.org/">IndieWeb Community</a> (und ich zähle mich zu beiden, es geht hier nicht um Blaming) hat bisher leider kein massentaugliches Tool etabliert, welches mit der Usability und Reichweite von Mastodon (und Mastodon ist hier nur exemplarisch für eine Fediverse Platform&#8230; Pixelfed, Misskey und andere machen einen ähnlich guten Job) mithalten kann. Mastodon ermöglicht das dezentrale folgen, abonnieren, kommentieren, liken und sharen in einer simplen Oberfläche. Kein RSS-Reader, den man zum Kommentieren verlassen muss und kein <a href="https://indieweb.org/reader">IndieWeb-Reader</a>, der eine eigene Webseite mit diversen Login- und Ping-Mechanismen voraussetzt!</p>



<p>Mastodon zeigt außerdem sehr deutlich dass Technik austauschbar ist, immerhin ging die Plattform 2016 mit OStatus an den Start <a href="https://notiz.blog/2019/08/16/farewell-ostatus/">und schwenkte erst zwei Jahre später auf ActivityPub</a>!</p>



<p>Ich beschäftige mich jetzt seit ungefähr +/-15 Jahren mit dem Thema, welches man heute als Fediverse oder IndieWeb zusammen fassen würde, und habe auch ein gutes Jahrzehnt an Arbeit in diverse <a href="https://github.com/search?q=topic%3Aindieweb+owner%3Apfefferle&amp;type=repositories">IndieWeb Projekte</a> gesteckt, aber Mastodon und ActivityPub sind in ihren Auswirkungen bisher konkurrenzlos!</p>



<p>Dank Mastodon und ActivityPub habe ich wieder <a href="https://notiz.blog/2024/04/22/its-a-thing/#comments">bis zu 50 Kommentare auf einen einzigen Blog-Post</a> (Likes und Boosts nicht mit gezählt) während über RSS (gemessen an Kommentaren über das WordPress Formular) und Webmentions vielleicht eine Reaktion im Monat kommt.</p>
<p>Thanks for reading this post via RSS. RSS is great, and you’re great for using it. ♥️</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2024/04/26/activitypub-the-evolution-of-rss/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded JSON(-LD)</title>
		<link>https://notiz.blog/2013/08/07/embedded-json-ld/</link>
					<comments>https://notiz.blog/2013/08/07/embedded-json-ld/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Wed, 07 Aug 2013 15:01:21 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[JSON-LD]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Microdata]]></category>
		<category><![CDATA[RDF]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=5530</guid>

					<description><![CDATA[Gmail unterstützt seit ein paar Tagen auch Embedded JSON-LD&#8230; So ne Art &#8222;JSON Version von RDF&#8220; für HTML-Dokumente: Embedded JSON? Wirklich? Und warum? Weil&#8217;s geht? Neben Microformats, Microdata, RDFa, eRDF, OpenGraph Protocol und Twitter Cards jetzt also auch noch JSON? Super Idee!]]></description>
										<content:encoded><![CDATA[
<p><a href="https://developers.google.com/gmail/schemas/reference/formats/json-ld">Gmail</a> unterstützt seit ein paar Tagen auch <a href="https://www.w3.org/TR/json-ld/#embedding-json-ld-in-html-documents">Embedded <abbr title="JSON for Linking Data">JSON-LD</abbr></a>&#8230; So ne Art &#8222;<a href="https://www.w3.org/TR/json-ld/">JSON Version von RDF</a>&#8220; für HTML-Dokumente:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"application/ld+json"</span>&gt;</span><span class="actionscript">
{
  <span class="hljs-string">"@context"</span>: <span class="hljs-string">"http://json-ld.org/contexts/person.jsonld"</span>,
  <span class="hljs-string">"@id"</span>: <span class="hljs-string">"http://dbpedia.org/resource/John_Lennon"</span>,
  <span class="hljs-string">"name"</span>: <span class="hljs-string">"John Lennon"</span>,
  <span class="hljs-string">"born"</span>: <span class="hljs-string">"1940-10-09"</span>,
  <span class="hljs-string">"spouse"</span>: <span class="hljs-string">"http://dbpedia.org/resource/Cynthia_Lennon"</span>
}
</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span></code></span></pre>


<p>Embedded JSON? Wirklich? Und warum? Weil&#8217;s geht?</p>



<p>Neben Microformats, Microdata, RDFa, eRDF, OpenGraph Protocol und Twitter Cards jetzt also auch noch JSON? Super Idee!</p>
<p>Thanks for reading this post via RSS. RSS is great, and you’re great for using it. ♥️</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2013/08/07/embedded-json-ld/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>oAlternative</title>
		<link>https://notiz.blog/2011/11/15/oalternative/</link>
					<comments>https://notiz.blog/2011/11/15/oalternative/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Tue, 15 Nov 2011 01:07:50 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[XML]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=4039</guid>

					<description><![CDATA[Was das OpenWeb so kompliziert macht ist das Wörtchen &#8222;alternativ&#8222;! OpenID Discovery basiert auf Meta-Tags, alternativ funktioniert aber auch XRDS(-Simple)/Yadis oder Webfinger. OpenID stellt über SREG Profilinformationen bereit, alternativ aber auch über Attribute Exchange. RDFa 1.1 ist folgendermaßen aufgebaut: &#60;html prefix="foaf: http://xmlns.com/foaf/0.1/" > ... &#60;span property="foaf:name">John Doe&#60;/span> ... &#60;/html> alternativ aber auch: &#60;div vocab="http://xmlns.com/foaf/0.1/" about="#me"> [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Was das OpenWeb so kompliziert macht ist das Wörtchen &#8222;<strong>alternativ</strong>&#8222;!</p>



<ul class="wp-block-list">
	<li>OpenID Discovery basiert auf Meta-Tags, <strong>alternativ</strong> funktioniert aber auch XRDS(-Simple)/Yadis oder Webfinger.</li>
	<li>OpenID stellt über SREG Profilinformationen bereit, <strong>alternativ</strong> aber auch über Attribute Exchange.</li>
	<li> RDFa 1.1 ist folgendermaßen aufgebaut:
		<code>&lt;html
  prefix="foaf: http://xmlns.com/foaf/0.1/"
  >
  ...
  &lt;span property="foaf:name">John Doe&lt;/span>
  ...
&lt;/html></code>
		<strong>alternativ</strong> aber auch:
		<code>&lt;div vocab="http://xmlns.com/foaf/0.1/" about="#me">
  &lt;span property="name">John Doe&lt;/span>
&lt;/div></code> &#8230;oder:
		<code>&lt;div profile="http://xmlns.com/foaf/0.1/" about="#me">
  &lt;span property="foaf:name">John Doe&lt;/span>
&lt;/div></code>
	</li>
	<li>OpenSocial, oEmbed, ActivityStrea.ms und host-meta benutzen JSON, <strong>alternativ</strong> aber auch XML</li>
	<li>OAuth verschlüsselt mit HMAC-SHA1, <strong>alternativ</strong> aber auch mit RSA-SHA1 oder PLAINTEXT</li>
</ul>



<p>To be continued&#8230;</p>



<p>Wie viel Komplexität man sich sparen könnte wenn man sich auf eine Variante beschränken würde.</p>
<p>RSS readers like you are the unsung heroes of the internet. Keep up the good work!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2011/11/15/oalternative/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>OpenID ABC</title>
		<link>https://notiz.blog/2011/04/30/openid-abc/</link>
					<comments>https://notiz.blog/2011/04/30/openid-abc/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Sat, 30 Apr 2011 12:50:33 +0000</pubDate>
				<category><![CDATA[OpenWeb Notizen]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenID Connect]]></category>
		<category><![CDATA[Simple Web Discovery]]></category>
		<category><![CDATA[WebFinger]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=3676</guid>

					<description><![CDATA[OpenID.net hat einen kleinen Ausblick auf die nächste OpenID Version veröffentlicht&#8230; Eine Mischung aus OpenID Connect, OAuth 2 und einer Menge JSON-APIs. Schade dass Webfinger scheinbar nicht berücksichtigt wurde und statt dessen die Simple Web Discovery zum Zuge kommt.]]></description>
										<content:encoded><![CDATA[
<p>OpenID.net hat einen kleinen Ausblick auf die nächste <strong>OpenID</strong> Version veröffentlicht&#8230; Eine Mischung aus <a href="https://web.archive.org/web/20100726233101/http://openidconnect.com/">OpenID Connect</a>, <a href="http://oauth.net/2/">OAuth 2</a> und einer Menge <a href="https://self-issued.info/docs/draft-jones-json-web-token.html">JSON-APIs</a>. Schade dass <a href="https://github.com/webfinger/">Webfinger</a> scheinbar nicht berücksichtigt wurde und statt dessen die <a href="https://self-issued.info/docs/draft-jones-simple-web-discovery-00.html">Simple Web Discovery</a> zum Zuge kommt.</p>
<p>RSS readers like you are the secret sauce of the internet. Keep rocking and staying informed!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2011/04/30/openid-abc/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>OpenWeb-Notizen: OStatus, Facebook, pubsubhubbub</title>
		<link>https://notiz.blog/2010/10/07/openweb-notizen-ostatus-facebook-pubsubhubbub/</link>
					<comments>https://notiz.blog/2010/10/07/openweb-notizen-ostatus-facebook-pubsubhubbub/#respond</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Wed, 06 Oct 2010 22:25:50 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OStatus]]></category>
		<category><![CDATA[PubSubHubbub]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=3330</guid>

					<description><![CDATA[How to implement OStatus? Evan Prodromou (der Gründer von StatusNet) hat eine Schritt-für-Schritt-Anleitung veröffentlicht, wie man die eigene Seite verOStatust! Making your application a full-fledged participant in the federated social web is not easy, but gradual and incremental improvements can make your users&#8216; activities visible to others. » How to OStatus-enable Your Application Is your [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">How to implement OStatus?</h2>



<p>Evan Prodromou (der Gründer von StatusNet) hat eine Schritt-für-Schritt-Anleitung veröffentlicht, wie man die eigene Seite ver<em>OStatus</em>t!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
	<p>Making your application a full-fledged participant in the federated social web is not easy, but gradual and incremental improvements can make your users&#8216; activities visible to others.</p>
</blockquote>



<p>» <a href="https://web.archive.org/web/20120306210855/http://ostatus.org/2010/10/04/how-ostatus-enable-your-application">How to OStatus-enable Your Application</a></p>



<h2 class="wp-block-heading">Is your Site OStatus-Ready?</h2>



<p>&#8230;und jede neue Implementierung will auch überprüft werden!</p>



<p>» <a href="https://web.archive.org/web/20101005014346/http://www.madebymonsieur.com/ostatus_discovery/index.php">Are you ready for Ostatus .. or not ?</a></p>



<h2 class="wp-block-heading">pubsubhubbub + json</h2>



<p>Facebooks <em>Real-time</em>-API ist eine Art Mischung aus pubsubhubbub+json+OAuth2.</p>



<p>» <a href="https://github.com/pubsubhubbub/">pubsubhubbub</a><br/> » <a href="https://developers.facebook.com/docs/graph-api/webhooks">Real-time Updates</a></p>
<p>RSS readers like you are the secret sauce of the internet. Keep rocking and staying informed!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2010/10/07/openweb-notizen-ostatus-facebook-pubsubhubbub/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>hCardMapper für WordPress</title>
		<link>https://notiz.blog/2008/04/02/hcardmapper-fuer-wordpress/</link>
					<comments>https://notiz.blog/2008/04/02/hcardmapper-fuer-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Wed, 02 Apr 2008 19:21:51 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[hCardMapper]]></category>
		<category><![CDATA[hKit]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[Mikroformate]]></category>
		<category><![CDATA[Optimus]]></category>
		<category><![CDATA[ufExtract]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=791</guid>

					<description><![CDATA[Wie in meinem letzten Post über den hCardMapper beschrieben, war es in der Tat nicht möglich den Microformats-Parser/Proxy ohne weitere Probleme auszutauschen. Die generierten JSON Formate der einzelnen Parser (ufXtract, hKit, mofo) unterscheiden sich an einigen Stellen zu sehr um sie alle gleich behandeln zu können. Soweit zur schlechten Nachricht&#8230; Die gute Nachricht ist, dass [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Wie in meinem letzten <a href="https://notiz.blog/2008/03/28/hcard-mapper/">Post über den hCardMapper</a> beschrieben, war es in der Tat nicht möglich den Microformats-Parser/Proxy ohne weitere Probleme auszutauschen. Die generierten <a href="http://microformats.org/wiki/json">JSON Formate</a> der einzelnen Parser (<a href="https://web.archive.org/web/20121114174332/http://lab.backnetwork.com:80/ufXtract/">ufXtract</a>, <a href="http://microformats.org/wiki/hKit">hKit</a>, <a href="https://web.archive.org/web/20160320131923/http://mofo.rubyforge.org/">mofo</a>) unterscheiden sich an einigen Stellen zu sehr um sie alle gleich behandeln zu können. Soweit zur schlechten Nachricht&#8230;</p>



<p>Die gute Nachricht ist, dass sich <a href="https://about.me/gooh">Gordon Oheim</a> (der Macher des <a href="https://web.archive.org/web/20090211121813/http://lib.omnia-computing.de:80/hcardmapper">hCardMappers</a>) nochmal alle JSON Formate vorgenommen und eine neue Version gebastelt hat:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
	<p>v0.94 &#8211; Added better support for JSON returned by Optimus, ufXtract and hKit.</p>
</blockquote>



<p>Der Mapper sollte also mit mofo, Optimus, ufXtract and hKit problemlos funktionieren.</p>



<p>Die nächste tolle Nachricht ist, dass Gordon auch auf einen kleinen Änderungswunsch von mir sofort eingegangen ist, so dass wir euch jetzt eine <em>hCardMapper Edition</em> von dem <a href="https://notiz.blog/projects/wp-hcard-commenting/">WordPress hCard-Commenting Plugin</a> anbieten können :).</p>



<p>Download: <del><a href="https://notiz.blog/wp-content/uploads/2008/04/wp-hcard-mapper.zip">hCardMapper for WordPress v0.1</a></del> <ins><a href="https://wordpress.org/plugins/hcardmapper/">hCardMapper bei WordPress.org</a></ins></p>



<p>Wenn ihr immer die aktuelle Version haben wollt, hier ist der <a href="http://svn.wp-plugins.org/hcard-commenting/branches/">Link zum SVN</a>.</p>



<p>Ich hab das Plugin auch mal auf notizBlog aktiviert und würde mich über euer Feedback freuen. Macht es Sinn über das Admin-Menü zwischen beiden Versionen (hCard-Commenting und hCardMapper-Commenting) zu wechseln?</p>



<p>Ein dickes Danke nochmal an Gordon für seine tolle und schnelle Arbeit&#8230; tolles Script.</p>
<p>Congratulations on being an RSS reader! You are part of an elite group of people who know how to stay updated in style.</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2008/04/02/hcardmapper-fuer-wordpress/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>hCard Mapper</title>
		<link>https://notiz.blog/2008/03/28/hcard-mapper/</link>
					<comments>https://notiz.blog/2008/03/28/hcard-mapper/#respond</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Fri, 28 Mar 2008 08:41:36 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[microJSON]]></category>
		<guid isPermaLink="false">http://notizblog.org/2008/03/28/hcard-mapper/</guid>

					<description><![CDATA[&#8230;oder How to use hCards to fill in forms. hCardMapper ist eine JavaScript-Klasse (basierend auf Prototype) um Kontakt- oder Profil-Formulare mit Hilfe einer hCard automatisch zu füllen, ähnlich wie bei bragster.com oder getsatisfaction.com. Das schöne an hCardMapper ist seine flexible Struktur. Die JavaScript Klasse ist so aufgebaut, dass sie eigentlich Microformats-Parser unabhängig funktionieren sollte, da [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>&#8230;oder <em>How to use hCards to fill in forms</em>.</p>



<p><a href="https://web.archive.org/web/20090211121813/http://lib.omnia-computing.de:80/hcardmapper">hCardMapper</a> ist eine JavaScript-Klasse (basierend auf <a href="http://www.prototypejs.org/">Prototype</a>) um Kontakt- oder Profil-Formulare mit Hilfe einer hCard automatisch zu füllen, ähnlich wie bei bragster.com oder <a href="https://web.archive.org/web/20080831104943/http://getsatisfaction.com/people/new">getsatisfaction.com</a>.</p>



<p>Das schöne an hCardMapper ist seine flexible Struktur. Die JavaScript Klasse ist so aufgebaut, dass sie eigentlich <a href="https://notiz.blog/2007/05/24/microformats-parser/">Microformats-Parser</a> unabhängig funktionieren sollte, da sie die Daten über einen &#8222;Proxy&#8220; abfrägt. Die einzige Vorgabe ist, dass dieser Proxy eine <a href="https://notiz.blog/2007/09/16/microjson-microformats-in-json/">JSON formatierte hCard</a> (<a href="https://web.archive.org/web/20080516043808/http://microjson.org:80/wiki/JCard">jCard</a>) zurückgibt. Das Problematische an dieser Variante ist, dass jeder Parser unterschiedliche Ergebnisse liefert&#8230; ich werde es heute abend mal mit dem <a href="https://github.com/drewm/hkit">hKit</a>-Parser testen.</p>



<p>Ein weiter Vorteil ist die Formular-Unabhängige Programmierung die es ermöglicht, das Script auch problemlos auf vorhandene Formulare anzuwenden. Über <code>mappnings</code> werden die hCard-Attribute den entsprechenden Formular-Felder zugeordnet.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">Event.observe(<span class="hljs-built_in">window</span>, <span class="hljs-string">'load'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
  hcr = <span class="hljs-keyword">new</span> com.omniacomputing.HCardMapper({
    <span class="hljs-attr">register</span>: <span class="hljs-literal">true</span>,
    <span class="hljs-attr">proxy</span>: <span class="hljs-string">'/hcardmapper/hcard?uri='</span>,
    <span class="hljs-attr">insertBelowEl</span>: <span class="hljs-string">'hcr-hook'</span>,
    <span class="hljs-attr">mappings</span>: {
      <span class="hljs-attr">given_name</span>: <span class="hljs-string">'first'</span>,
      <span class="hljs-attr">family_name</span>: <span class="hljs-string">'last'</span>,
      <span class="hljs-attr">tel</span>: {<span class="hljs-attr">tel</span>: <span class="hljs-string">'phone'</span>, <span class="hljs-attr">work</span>: <span class="hljs-string">'phone'</span>, <span class="hljs-attr">cell</span>:<span class="hljs-string">'phone'</span>},
      <span class="hljs-attr">email</span>: <span class="hljs-string">'email'</span>,
      <span class="hljs-attr">org</span>: {<span class="hljs-attr">org</span>: <span class="hljs-string">'company'</span>, <span class="hljs-attr">organization_name</span>: <span class="hljs-string">'company'</span>},
      <span class="hljs-attr">url</span>: <span class="hljs-string">'website'</span>,
      <span class="hljs-attr">street_address</span>: <span class="hljs-string">'street'</span>,
      <span class="hljs-attr">postal_code</span>: <span class="hljs-string">'zip'</span>,
      <span class="hljs-attr">locality</span>: <span class="hljs-string">'town'</span> 
    }
  })
});</code></span></pre>


<p>Quelle: <a href="https://web.archive.org/web/20090211121813/http://lib.omnia-computing.de:80/hcardmapper">http://lib.omnia-computing.de/hcardmapper</a></p>



<p>Tolle Idee, mal schau&#8217;n wie gut das Script mit den (oben schon erwähnten) unterschiedlichen Verarbeitungsweisen der Parser umgeht&#8230;</p>
<p>Hey there, RSS reader! You’re cool. Keep being awesome! 😎</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2008/03/28/hcard-mapper/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microformats und JSON</title>
		<link>https://notiz.blog/2007/12/30/microformats-und-json/</link>
					<comments>https://notiz.blog/2007/12/30/microformats-und-json/#respond</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Sun, 30 Dec 2007 22:58:32 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[hCard]]></category>
		<category><![CDATA[jCard]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microformats]]></category>
		<guid isPermaLink="false">http://notizblog.org/2007/12/30/microformats-und-json/</guid>

					<description><![CDATA[Ich bin vor einiger Zeit schon auf das microJSON Projekt gestoßen und fand die Idee, ein einheitliches JSON Format für alle Microformats zu erstellen, prinzipiell nicht schlecht, deshalb habe ich auch versucht microJSON für mein hCard-Commenting Script einzusetzen. Bei genauerem Betrachten gibt es bei der jCard aber zwei unschöne Eigenschaften: Da ich, um den Username [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Ich bin vor <a href="https://notiz.blog/2007/09/16/microjson-microformats-in-json/">einiger Zeit</a> schon auf das <a href="https://web.archive.org/web/20080315062601/http://microjson.org/">microJSON</a> Projekt gestoßen und fand die Idee, ein einheitliches JSON Format für alle <a href="http://microformats.org/">Microformats</a> zu erstellen, prinzipiell nicht schlecht, deshalb habe ich auch versucht microJSON für mein <a href="https://wordpress.org/plugins/hcard-commenting/">hCard-Commenting</a> Script einzusetzen.</p>



<p>Bei genauerem Betrachten gibt es bei der <a href="https://web.archive.org/web/20080516043808/http://microjson.org:80/wiki/JCard">jCard</a> aber zwei unschöne Eigenschaften:</p>



<ol class="wp-block-list">
<li>Das <code>n</code> Attribut wird in JSON als <code>name</code> dargestellt.</li>



<li>Das <code>fn</code> Attribut wird gat nicht abgebildet.</li>
</ol>



<p>Da ich, um den Username in den WordPress Kommentaren darzustellen, auf <code>fn</code> angewiesen bin, habe ich mir verschiedene andere &#8222;hCard to JSON&#8220; Services angeschaut.<br>
	<br> Test-hCard: <a href="https://web.archive.org/web/20080827191023/http://pfefferle.org/static/microformats/hcard-test.html">http://pfefferle.org/static/microformats/hcard-test.html</a></p>



<span id="more-690"></span>



<h3 class="wp-block-heading">Überblick der einzelnen JSON Objekte</h3>



<p><a href="https://web.archive.org/web/20110714085344/http://microformatique.com/optimus/">Optimus</a>:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">{
  <span class="hljs-attr">from</span>: <span class="hljs-string">"http://pfefferle.org/static/microformats/hcard-test.html"</span>,
  <span class="hljs-attr">title</span>: <span class="hljs-string">"hCard Test"</span>,
  <span class="hljs-attr">hcard</span>: {
    <span class="hljs-string">"adr"</span>: {
      <span class="hljs-string">"street-address"</span>: <span class="hljs-string">"Street"</span>,
      <span class="hljs-string">"region"</span>: <span class="hljs-string">"State"</span>,
      <span class="hljs-string">"locality"</span>: <span class="hljs-string">"City"</span>,
      <span class="hljs-string">"postal-code"</span>: <span class="hljs-string">"12345"</span>,
      <span class="hljs-string">"country-name"</span>: <span class="hljs-string">"Country"</span>
    },
    <span class="hljs-string">"email"</span>: {
      <span class="hljs-attr">href</span>: <span class="hljs-string">"mailto:mail@examle.org"</span>,
      <span class="hljs-attr">value</span>: <span class="hljs-string">"mail@examle.org"</span>
    },
    <span class="hljs-string">"fn"</span>: <span class="hljs-string">"Mustermann Max"</span>,
    <span class="hljs-string">"org"</span>: <span class="hljs-string">"Organisation"</span>,
    <span class="hljs-string">"tel"</span>: <span class="hljs-string">"111-222-333"</span>,
    <span class="hljs-attr">url</span>: &#91;
      <span class="hljs-string">"http://example.org"</span>, 
      <span class="hljs-string">"http://pfefferle.org/static/microformats/aim:goim?screenname=aim"</span>, 
      <span class="hljs-string">"http://pfefferle.org/static/microformats/ymsgr:sendIM?yim"</span>
    ]
  }
}</code></span></pre>


<p><a href="https://web.archive.org/web/20121114174332/http://lab.backnetwork.com:80/ufXtract/">ufXtract</a>:</p>


<pre class="wp-block-code"><span><code class="hljs language-json"><span class="hljs-comment">// ufXtract </span>
{
  <span class="hljs-attr">"vcard"</span>: &#91;{
    <span class="hljs-attr">"fn"</span>: <span class="hljs-string">"Mustermann Max"</span>,
    <span class="hljs-attr">"n"</span>: {
      <span class="hljs-attr">"given-name"</span>: &#91;<span class="hljs-string">"Mustermann"</span> ],
      <span class="hljs-attr">"family-name"</span>: &#91;<span class="hljs-string">"Max"</span> ]
    },
    <span class="hljs-attr">"adr"</span>: &#91;{
      <span class="hljs-attr">"street-address"</span>: &#91;<span class="hljs-string">"Street"</span> ],
      <span class="hljs-attr">"locality"</span>: <span class="hljs-string">"City"</span>,
      <span class="hljs-attr">"region"</span>: <span class="hljs-string">"State"</span>,
      <span class="hljs-attr">"postal-code"</span>: <span class="hljs-string">"12345"</span>,
      <span class="hljs-attr">"country-name"</span>: <span class="hljs-string">"Country"</span>
    }],
    <span class="hljs-attr">"org"</span>: {
      <span class="hljs-attr">"organization-name"</span>: <span class="hljs-string">"Organisation"</span>
    },
    <span class="hljs-attr">"email"</span>: &#91;<span class="hljs-string">"mail@examle.org"</span> ],
    <span class="hljs-attr">"tel"</span>: &#91;<span class="hljs-string">"111-222-333"</span> ],
    <span class="hljs-attr">"url"</span>: &#91;
      <span class="hljs-string">"http:\/\/example.org\/"</span>,
      <span class="hljs-string">"aim:goim?screenname=aim"</span>,
      <span class="hljs-string">"ymsgr:sendIM?yim"</span>
    ]
  }]
}</code></span></pre>


<p><a href="https://github.com/drewm/hkit">hKit Service</a> (hKit + JSON)</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">json&#91;{
  <span class="hljs-string">"fn"</span>:<span class="hljs-string">"Mustermann Max"</span>,
  <span class="hljs-string">"adr"</span>:{
    <span class="hljs-string">"street-address"</span>:<span class="hljs-string">"Street"</span>,
    <span class="hljs-string">"postal-code"</span>:<span class="hljs-string">"12345"</span>,
    <span class="hljs-string">"country-name"</span>:<span class="hljs-string">"Country"</span>,
    <span class="hljs-string">"region"</span>:<span class="hljs-string">"State"</span>,
    <span class="hljs-string">"locality"</span>:<span class="hljs-string">"City"</span>
  },
  <span class="hljs-string">"email"</span>:<span class="hljs-string">"mail@examle.org"</span>,
  <span class="hljs-string">"org"</span>:<span class="hljs-string">"Organisation"</span>,
  <span class="hljs-string">"tel"</span>:<span class="hljs-string">"111-222-333"</span>,
  <span class="hljs-string">"url"</span>:&#91;
    <span class="hljs-string">"http:\/\/example.org"</span>,
    <span class="hljs-string">"http:\/\/pfefferle.org\/static\/microformats\/aim:goim?screenname=aim"</span>,
    <span class="hljs-string">"http:\/\/pfefferle.org\/static\/microformats\/ymsgr:sendIM?yim"</span>
  ],
  <span class="hljs-string">"n"</span>:{
    <span class="hljs-string">"given-name"</span>:<span class="hljs-string">"Mustermann"</span>,
    <span class="hljs-string">"family-name"</span>:<span class="hljs-string">"Max"</span>
  }
}]</code></span></pre>


<p><a href="https://web.archive.org/web/20071213004055/http://microjson.org/">microJSON</a> (<a href="https://web.archive.org/web/20080516043808/http://microjson.org:80/wiki/JCard">jCard</a>)</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
<span class="hljs-attr">"vcard"</span>:{
  <span class="hljs-attr">"name"</span>:{
    <span class="hljs-attr">"given"</span>:<span class="hljs-string">"Mustermann"</span>,
    <span class="hljs-attr">"family"</span>:<span class="hljs-string">"Max"</span>
  },
  <span class="hljs-attr">"org"</span>:<span class="hljs-string">"Company"</span>,
  <span class="hljs-attr">"email"</span>:<span class="hljs-string">"mail@examle.org"</span>,
  <span class="hljs-attr">"address"</span>:{
    <span class="hljs-attr">"street-address"</span>:<span class="hljs-string">"Street"</span>,
    <span class="hljs-attr">"postal-code"</span>:<span class="hljs-string">"12345"</span>,
    <span class="hljs-attr">"country-name"</span>:<span class="hljs-string">"Country"</span>,
    <span class="hljs-attr">"region"</span>:<span class="hljs-string">"State"</span>,
    <span class="hljs-attr">"locality"</span>:<span class="hljs-string">"City"</span>
  },
  <span class="hljs-attr">"tel"</span>:<span class="hljs-string">"111-222-333"</span>,
  <span class="hljs-attr">"aim"</span>:<span class="hljs-string">"aim"</span>,
  <span class="hljs-attr">"yim"</span>:<span class="hljs-string">"yim"</span>,
  <span class="hljs-attr">"url"</span>:<span class="hljs-string">"http:\/\/example.org"</span>
}</code></span></pre>


<p>Leider unterscheidet sich jedes dieser JSON Formate (wenn auch teilweise nur gering) vom anderen, was ja prinzipiell kein wirklich großes Problem ist. Zum Problem wird es erst dann, wenn man einen dieser Dienste durch einen anderen ersetzt, da ein solcher Vorgang immer mit Änderungen am Quellcode verbunden ist.</p>



<p>Es ist im <a href="https://de.wikipedia.org/wiki/Serviceorientierte_Architektur"><abbr title="service oriented architecture">SOA</abbr></a> Ansatz zwar nicht definiert, dass die Services ähnlich wie bei der <a href="https://de.wikipedia.org/wiki/Schichtenarchitektur">Multi-Tier-Architektur</a> austauschbar sein sollten, es würde jedoch eine Menge an Arbeit erspahren.</p>



<p>Microformats sind wohl definierte offene Standards, wieso nicht auch die Austauschformate wohl definieren?</p>



<p>Weiterführende Links:</p>



<ul class="wp-block-list">
<li><a href="http://microformats.org/wiki/json">JSON im Microformats Wiki</a></li>



<li><a href="https://web.archive.org/web/20080331114412/http://microjson.org/wiki/Welcome_to_the_MicroJSON_Wiki">microJSON Wiki</a></li>
</ul>
<p>You are a master of efficiency! By using RSS, you save time and avoid distractions. 👏</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2007/12/30/microformats-und-json/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Optimus, der Microformats Transformer</title>
		<link>https://notiz.blog/2007/09/19/optimus-der-microformats-transformer/</link>
					<comments>https://notiz.blog/2007/09/19/optimus-der-microformats-transformer/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Wed, 19 Sep 2007 15:39:26 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[Mikroformate]]></category>
		<category><![CDATA[Optimus]]></category>
		<guid isPermaLink="false">http://notizblog.org/2007/09/19/optimus-der-microformats-transformer/</guid>

					<description><![CDATA[Optimus ist ein Script zum Umwandeln von nahezu allen Microformats in JSON oder XML. Es wäre ganz schick den JSON output an die microJSON Formate anzupassen oder umgekehrt, um eine standardisierte Verarbeitung zu ermöglichen.]]></description>
										<content:encoded><![CDATA[
<p><a href="https://web.archive.org/web/20110714085344/http://microformatique.com/optimus/">Optimus</a> ist ein Script zum Umwandeln von nahezu allen Microformats in <a href="http://www.json.org/">JSON</a> oder XML. Es wäre ganz schick den JSON output an die <a href="https://web.archive.org/web/20071213004055/http://microjson.org/">microJSON</a> Formate anzupassen oder umgekehrt, um eine standardisierte Verarbeitung zu ermöglichen.</p>
<p>You are a master of efficiency! By using RSS, you save time and avoid distractions. 👏</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2007/09/19/optimus-der-microformats-transformer/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>microJSON &#8211; Microformats in JSON</title>
		<link>https://notiz.blog/2007/09/16/microjson-microformats-in-json/</link>
					<comments>https://notiz.blog/2007/09/16/microjson-microformats-in-json/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Sun, 16 Sep 2007 10:08:10 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[microJSON]]></category>
		<category><![CDATA[Mikroformate]]></category>
		<category><![CDATA[ufParser]]></category>
		<guid isPermaLink="false">http://notizblog.org/2007/09/16/microjson-microformats-in-json/</guid>

					<description><![CDATA[microJSON ist ein Projekt von Jon Sykes und Jim Barraud. Es geht darum, Microformats in Form der JSON Schreibweise darzustellen. Die Idee von JSON ist, einen einfachen Datenaustausch von Objekten oder auch anderen Datenstrukturen wie z.B. Arrays zwischen Client Systemen (z.B. dem WebBrowser) und Server Systemen zu realisieren. Der Vorteil von JSON ist, dass sie [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://web.archive.org/web/20071213004055/http://microjson.org/">microJSON</a> ist ein Projekt von <a href="https://web.archive.org/web/20120303203204/http://jpsykes.com/">Jon Sykes</a> und <a href="http://jimbarraud.com/">Jim Barraud</a>. Es geht darum, <a href="http://microformats.org">Microformats</a> in Form der <a href="http://www.json.org"><abbr title="JavaScript Object Notation">JSON</abbr></a> Schreibweise darzustellen. Die Idee von JSON ist, einen einfachen Datenaustausch von Objekten oder auch anderen Datenstrukturen wie z.B. Arrays zwischen Client Systemen (z.B. dem WebBrowser) und Server Systemen zu realisieren. Der Vorteil von JSON ist, dass sie kaum Overhead produziert und in JavaScript über die eval() Funktion wieder ganz einfach in ein Objekt gewandelt werden kann.</p>



<p>Beipiel einer hCard:
</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"hcard-given-middle-family"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"vcard"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"fn n"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"given-name"</span>&gt;</span>given<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"additional-name"</span>&gt;</span>middle<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"family-name"</span>&gt;</span>family<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  <span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"org"</span>&gt;</span>org<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"email"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"mailto:email"</span>&gt;</span>email<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"adr"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"street-address"</span>&gt;</span>street<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"locality"</span>&gt;</span>city<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>,<span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"region"</span>&gt;</span>state/province<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>,<span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"postal-code"</span>&gt;</span>postal<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"country-name"</span>&gt;</span>country<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
  <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"tel"</span>&gt;</span>phone<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"url"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"aim:goim?screenname=AIM"</span>&gt;</span>AIM<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"url"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"ymsgr:sendIM?YIM"</span>&gt;</span>YIM<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span></code></span></pre>


<p>Die gleiche hCard als jCard:
</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
<span class="hljs-attr">"vcard"</span>:{
  <span class="hljs-attr">"name"</span>:{
    <span class="hljs-attr">"given"</span>:<span class="hljs-string">"John"</span>,
    <span class="hljs-attr">"additional"</span>:<span class="hljs-string">"Paul"</span>,
    <span class="hljs-attr">"family"</span>:<span class="hljs-string">"Smith"</span>
  },
  <span class="hljs-attr">"org"</span>:<span class="hljs-string">"Company Corp"</span>,
  <span class="hljs-attr">"email"</span>:<span class="hljs-string">"john@companycorp.com"</span>,
  <span class="hljs-attr">"address"</span>:{
    <span class="hljs-attr">"street"</span>:<span class="hljs-string">"50 Main Street"</span>,
    <span class="hljs-attr">"locality"</span>:<span class="hljs-string">"Cityville"</span>,
    <span class="hljs-attr">"region"</span>:<span class="hljs-string">"Stateshire"</span>,
    <span class="hljs-attr">"postalCode"</span>:<span class="hljs-string">"1234abc"</span>,
    <span class="hljs-attr">"country"</span>:<span class="hljs-string">"Someplace"</span>
  },
  <span class="hljs-attr">"tel"</span>:<span class="hljs-string">"111-222-333"</span>,
  <span class="hljs-attr">"aim"</span>:<span class="hljs-string">"johnsmith"</span>,
  <span class="hljs-attr">"yim"</span>:<span class="hljs-string">"smithjohn"</span>
}</code></span></pre>


<p>Neben den Abbildungen der Microformats hCard (<a href="https://web.archive.org/web/20080516043808/http://microjson.org:80/wiki/JCard">jCard</a>) und hCalendar (<a href="https://web.archive.org/web/20080516044142/http://microjson.org/wiki/JCalendar">jCalendar</a>) sind auch die Format jAtom, jResume, jReview, jAtom und jResume geplant. Weitere abbildung gibt es für normale Formulare (<a href="https://web.archive.org/web/20080516234756/http://microjson.org/wiki/JForm">jForm</a>), sowie auch für RSS Feeds (<a href="https://web.archive.org/web/20071111093225/http://microjson.org:80/wiki/JRss">jRSS</a>).</p>



<p>MicroJSON sind meiner Meinung nach eine sehr gute Idee, wenn man Bedenkt dass viele gute Microformats Parser, wie z.B. der vom Firefox Addon <em><a href="https://web.archive.org/web/20101120155908/http://kaply.com:80/weblog/operator/">Operator</a></em> verwendete <em><a href="https://web.archive.org/web/20070303193612/http://www.kaply.com/weblog/2007/01/31/parsing-microformats/">ufParser</a></em>, auf JavaScript basiert.</p>
<p>RSS readers like you are the secret sauce of the internet. Keep rocking and staying informed!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2007/09/16/microjson-microformats-in-json/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
