<?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>jCard &#8211; notizBlog</title>
	<atom:link href="https://notiz.blog/tag/jcard/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, 12 Apr 2024 10:21:56 +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>jCard &#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/jcard/feed/"/>
<atom:link rel="search" type="application/opensearchdescription+xml" title="Search notizBlog" href="https://notiz.blog/wp-api/opensearch/1.1/document" />	<item>
		<title>Portable Contacts (schicker als ich dachte)</title>
		<link>https://notiz.blog/2008/08/08/portable-contacts-schicker-als-ich-dachte/</link>
					<comments>https://notiz.blog/2008/08/08/portable-contacts-schicker-als-ich-dachte/#respond</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Fri, 08 Aug 2008 09:51:35 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[DataPortability]]></category>
		<category><![CDATA[FediBlog]]></category>
		<category><![CDATA[hCard]]></category>
		<category><![CDATA[jCard]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenSearch]]></category>
		<category><![CDATA[XRDS]]></category>
		<category><![CDATA[XRDS-Simple]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=1046</guid>

					<description><![CDATA[In der aktuellen Folge (Episode 5: The Portable Contacts Initiative) sprechen John McCrea, Joseph Smarr und Chris Messina über das Portable Contacts &#8211; Projekt über welches ich vor kurzem noch so gescholten habe&#8230; Und ich muss sagen, ich hatte unrecht! Ich glaube kleine Gruppen mit dem Fokus auf ein spezielles Problem können wesentlich effektiver arbeiten [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>In der aktuellen Folge (<a href="https://web.archive.org/web/20130609052310/http://www.thesocialweb.tv/blog/2008/08/episode-5-the-p.html">Episode 5: The Portable Contacts Initiative</a>) sprechen John McCrea, Joseph Smarr und Chris Messina über das <a href="https://web.archive.org/web/20080906133739/http://portablecontacts.net/"><em>Portable Contacts</em></a> &#8211; Projekt über welches ich <a href="https://notiz.blog/2008/06/30/wie-viel-portabilitiy-brauchen-wir-noch/">vor kurzem</a> noch so gescholten habe&#8230; Und ich muss sagen, ich hatte unrecht! Ich glaube kleine Gruppen mit dem Fokus auf ein spezielles Problem können wesentlich effektiver arbeiten als eine so große und über die ganze Welt verstreute Organisation wie <a href="https://de.wikipedia.org/wiki/Dataportability#Das_Projekt">DataPortability</a> (da wird wohl auch die <a href="https://web.archive.org/web/20090215121435/http://liako.biz:80/2008/07/the-dataportability-governance-framework-a-template/">Steering Group</a> nichts ändern können&#8230; aber man wird sehen).</p>



<p>Die (<a href="https://web.archive.org/web/20080927040423/http://portablecontacts.net/draft-spec.html">Portable Contacts (1.0 Draft B)</a> &#8211; Spezifikation basiert auf sehr vielen aus dem DataPortability &#8211; Umfeld bekannten Techniken wie z.B. <a href="https://web.archive.org/web/20090227100639/http://xrds-simple.net/">XRDS-Simple</a> als Discovery-Service und <a href="http://oauth.net">OAuth</a> für die Authentifizierung.</p>



<p>Was mir besonders gefällt, ist das <a href="https://web.archive.org/web/20080927040423/http://portablecontacts.net/draft-spec.html#schema">Contacts Schema</a> welches hauptsächlich auf dem (<a href="https://web.archive.org/web/20080927040423/http://portablecontacts.net/draft-spec.html#schema">wenn auch etwas abgeänderten</a>) <a href="https://datatracker.ietf.org/doc/html/rfc2426">vCard-Standard</a> basiert und fehlende Felder von anderen Standards wie z.B. <a href="http://code.google.com/apis/opensocial/docs/0.8/restfulspec.html">OpenSocial</a> übernommen wurden. Dass es auch anders geht, hat z.B. das <a href="https://notiz.blog/2007/11/04/hcard-als-attribute-exchange-fuer-openid/">AX-Schema</a> bewiesen&#8230;</p>



<h4 class="wp-block-heading">Die Verbindung zu Microformats</h4>



<p>Schade dass die vCard nicht zu 100% übernommen wurde&#8230; sonst hätte man ohne größere Änderungen auch die JSON-Serialisierte hCard (<a href="http://microformats.org/wiki/jCard">jCard</a>) in den Prozess integrieren können. Spannend wäre es vor allem für Services wie Twitter, die das Freundesnetzwerk sowieso mit <a href="http://microformats.org/wiki/hCard">hCards</a> auszeichnen.</p>



<p>Vergleich:</p>



<p><strong><a href="http://microformats.org/wiki/jCard">jCard</a></strong></p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
  <span class="hljs-attr">"fn"</span> : <span class="hljs-string">"Max Mustermann"</span>,
  <span class="hljs-attr">"email"</span>:
    &#91;{
      <span class="hljs-attr">"value"</span>: <span class="hljs-string">"max@example.com"</span>,
      <span class="hljs-attr">"type"</span>: &#91;<span class="hljs-string">"work"</span>],
    }]
}</code></span></pre>


<p><strong><a href="https://web.archive.org/web/20080927040423/http://portablecontacts.net/draft-spec.html#anchor19">Portable Contacts 1.0 Draft B</a></strong></p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
  <span class="hljs-attr">"name"</span> : <span class="hljs-string">"Max Mustermann"</span>,
  <span class="hljs-attr">"emails"</span>:
    &#91;{
      <span class="hljs-attr">"value"</span>: <span class="hljs-string">"max@example.com"</span>,
      <span class="hljs-attr">"type"</span>: <span class="hljs-string">"work"</span>,
    }]
}</code></span></pre>


<p>Man erkennt zumindest eine Ähnlichkeit 🙂</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/2008/08/08/portable-contacts-schicker-als-ich-dachte/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>
	</channel>
</rss>
