<?xml version="1.0" encoding="UTF-8"?>
<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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>notizBlog &#187; Open Web</title>
	<atom:link href="http://notizblog.org/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://notizblog.org</link>
	<description>a weblog about the open, portable, social, synaptic, semantic, structured, distributed, decentralized, microformatted and federated social web</description>
	<lastBuildDate>Mon, 23 Jan 2012 10:31:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="search"
           href="http://notizblog.org/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" /><atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='notizblog.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<atom:link rel='salmon' href='http://notizblog.org/?salmon=endpoint'/><atom:link rel='http://salmon-protocol.org/ns/salmon-replies' href='http://notizblog.org/?salmon=endpoint'/><atom:link rel='http://salmon-protocol.org/ns/salmon-mention' href='http://notizblog.org/?salmon=endpoint'/>		<item>
		<title>OpenID Connect Complex</title>
		<link>http://notizblog.org/2012/01/18/openid-connect-complex/</link>
		<comments>http://notizblog.org/2012/01/18/openid-connect-complex/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 10:31:08 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[JanRain]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenID Connect]]></category>
		<category><![CDATA[Simple Web Discovery]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Webfinger]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=4130</guid>
		<description><![CDATA[Hat der erste Entwurf von OpenID Connect noch auf eine (&#252;bersichtliche) Seite gepasst, braucht der Draft der OpenID Foundation schon 7 unterschiedliche Spezifikationen. Wieso m&#252;ssen &#8220;Standard&#8221;-Organisationen wie das W3C (z.B. RDFa) oder der OpenID Foundation denn alles so unn&#246;tig kompliziert machen? Immerhin schafft es ja sogar Facebook seinen Authentifizierungsprozess auf einer Seite zu erkl&#228;ren. &#8230;und [...]]]></description>
			<content:encoded><![CDATA[<p><img width="600" height="250" src="http://notizblog.org/wp-content/uploads/2012/01/openid-complex.jpg" class="aligncenter size-medium wp-post-image" alt="openid-complex" title="openid-complex" /></p>
<p>Hat der erste Entwurf von <a href="http://web.archive.org/web/20110720081501/http://openidconnect.com/"><em>OpenID Connect</em></a> noch auf eine (&#252;bersichtliche) Seite gepasst, braucht der <a href="http://openid.net/connect/">Draft</a> der OpenID Foundation schon <strong>7 unterschiedliche Spezifikationen</strong>.</p>
<p>Wieso m&#252;ssen &#8220;Standard&#8221;-Organisationen wie das W3C (z.B. RDFa) oder der OpenID Foundation denn alles so unn&#246;tig kompliziert machen? Immerhin schafft es ja sogar Facebook seinen Authentifizierungsprozess auf <a href="http://developers.facebook.com/docs/authentication/">einer Seite</a> zu erkl&#228;ren. &#8230;und noch besser! Er l&#228;sst in drei S&#228;tzen zusammenfassen:</p>
<ol>
<li>Hol dir &#252;ber folgende URL einen Access-Token:<br />
<code>https://www.facebook.com/dialog/oauth?<br />
     client_id=YOUR_APP_ID&#038;redirect_uri=YOUR_URL</code></li>
<li>H&#228;ng ihn an folgende URL, auf den du den User weiterleitest:<br />
<code>https://www.facebook.com/dialog/oauth?<br />
     client_id=YOUR_APP_ID&#038;redirect_uri=YOUR_URL&#038;scope=email,read_stream</code></li>
<li>Fertsch!</li>
</ol>
<p>&#8230;dazu kommen eine weitere <a href="http://openid.net/specs/openid-connect-discovery-1_0.html">Discovery-Variante</a> die Webfinger, host-meta, XRD, XRDS oder YADIS komplett ignoriert und eine <a href="http://openid.net/specs/openid-connect-messages-1_0.html#anchor14">Identity-API</a> die SREG oder AX noch nicht einmal &#228;hnelt!</p>
<p>Mike Jones, einer der Hauptentwickler der Spezifikation, <a href="http://self-issued.info/?p=619">schreibt zwar</a>:</p>
<blockquote><p>The design philosophy behind OpenID Connect is “make simple things simple and make complex things possible”.</p></blockquote>
<p>Das ist aber nur die halbe Wahrheit. Webseitenbetreiber, die zuk&#252;nftig einen <em>OpenID Connect</em> Login anbieten wollen, haben es in der Tat etwas einfacher, da sie sich auf die &#8220;<a href="http://openid.net/specs/openid-connect-basic-1_0.html">Minimalanforderungen</a>&#8221; konzentrieren k&#246;nnen. Seiten die einen <em>OpenID Connect</em> Provider stellen wollen haben aber <a href="http://openid.net/specs/openid-connect-basic-1_0.html#anchor2">folgendes Problem</a>:</p>
<blockquote><p>Authorization Requests can follow one of two paths; the Implicit Flow or the Authorization Code Flow. [...]<br />
The OpenID Connect Basic Client profile only documents Clients using the Implicit Flow. OpenID Providers MUST support both flows. [...]</p></blockquote>
<p>Damit begeht die <em>OpenID Foundation</em> wieder den gleichen Fehler wie bei OpenID 2.0. Am Schluss gibt es so viele unterschiedliche und halbfertige Implemenrierungen, dass man wieder auf <abbr title="Software As A Service">SaaS</abbr>-Dienste wie <a href="http://www.janrain.com/products/engage/social-login">Janrain</a> oder <a href="http://www.gigya.com/">Gigaya</a> zur&#252;ckgreifen muss. Wozu braucht es dann noch einen &#8220;Standard&#8221;?</p>
<p>Warum denn immer <a href="http://notizblog.org/2011/11/15/oalternative/">1000 Alternativen</a> anbieten? Bei Facebook klappts ja auch ohne&#8230;</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="OpenID &lt;del datetime=&quot;2012-01-18T09:33:25+00:00&quot;&gt;Connect&lt;/del&gt; Complex"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2012/01/18/openid-connect-complex/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2012/01/18/openid-connect-complex/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2012/01/18/openid-connect-complex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://notizblog.org/wp-content/uploads/2012/01/openid-complex.jpg" />
		<media:content url="http://notizblog.org/wp-content/uploads/2012/01/openid-complex.jpg" medium="image">
			<media:title type="html">openid-complex</media:title>
		</media:content>
	</item>
		<item>
		<title>BrowserID &#8211; as easy as copy &amp; paste</title>
		<link>http://notizblog.org/2012/01/07/browserid-as-easy-as-copy-and-paste/</link>
		<comments>http://notizblog.org/2012/01/07/browserid-as-easy-as-copy-and-paste/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 16:35:27 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[BrowserID]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[SingleSignOn]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=4102</guid>
		<description><![CDATA[Ich schreibe gerade einen Artikel f&#252;r das t3n Magazin &#252;ber aktuelle Sign-In-Mechanismen und hab mir in dem Zuge BrowserID mal etwas genauer angeschaut. Ich bin wirklich extrem &#252;berrascht mit wie wenig Arbeit es sich in z.B. WordPress einbauen l&#228;sst. BrowserID besteht eigentlich nur aus einem JS-File,ein paar Zeilen JS-Code: &#60;script src="https://browserid.org/include.js" type="text/javascript"&#62;&#60;/script&#62; &#60;script type="text/javascript"&#62; navigator.id.get(function(assertion) [...]]]></description>
			<content:encoded><![CDATA[<p><img width="500" height="140" src="http://notizblog.org/wp-content/uploads/2012/01/BrowserID.jpg" class="aligncenter size-medium wp-post-image" alt="BrowserID" title="BrowserID" /></p>
<p>Ich schreibe gerade einen Artikel f&#252;r das <a href="http://t3n.de/">t3n Magazin</a> &#252;ber aktuelle Sign-In-Mechanismen und hab mir in dem Zuge BrowserID mal etwas genauer angeschaut. Ich bin wirklich extrem &#252;berrascht mit wie wenig Arbeit es sich in z.B. WordPress einbauen l&#228;sst.</p>
<p><a href="https://browserid.org/">BrowserID</a> besteht eigentlich nur aus einem <abbr title="JavaScript">JS</abbr>-File,ein paar Zeilen <abbr title="JavaScript">JS</abbr>-Code:</p>
<pre><code>&lt;script src="https://browserid.org/include.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
navigator.id.get(function(assertion) {
    if (assertion) {
        // This code will be invoked once the user has successfully
        // selected an email address they control to sign in with.
    } else {
        // something went wrong!  the user isn't logged in.
    }
});
&lt;/script&gt;</code></pre>
<p>und dem anschlie&#223;enden Verifizieren der <code>assertion</code>:</p>
<pre><code>$ curl -d "assertion=<ASSERTION>&#038;audience=https://mysite.com" "https://browserid.org/verify"
{
    "status": "okay",
    "email": "lloyd@example.com",
    "audience": "https://mysite.com",
    "expires": 1308859352261,
    "issuer": "browserid.org"
}</code></pre>
<p><small>Den ausf&#252;hrlichen Ablauf der Authentifizierung findet ihr auf <a href="https://github.com/mozilla/browserid/wiki/How-to-Use-BrowserID-on-Your-Site">Github</a>.</small></p>
<p>Um BrowserID in WordPress zu integrieren l&#228;dt man also zuerst den <abbr title="JavaScript">JS</abbr>-Code in den Login Header:</p>
<pre><code>// add the BrowserID javascript-code to the header
add_action('login_head', 'bi_add_js_header');
function bi_add_js_header() {
  echo '&lt;script src="https://browserid.org/include.js" type="text/javascript"&gt;&lt;/script&gt;';
  echo '&lt;script type="text/javascript"&gt;'."\n";
  echo 'function browser_id_login() {
    navigator.id.get(function(assertion) {
      if (assertion) {
        window.location="' . get_site_url(null, '/') .'?browser_id_assertion=" + assertion;
      } else {
        // do nothing!
      }
    })
  };'."\n";
  echo '&lt;/script&gt;';
}</code></pre>
<p>und platziert den BrowserID-Button auf der Login-Seite:</p>
<pre><code>// add the login button
add_action('login_form', 'bi_add_button');
function bi_add_button() {
  echo '&lt;p&gt;&lt;a href="#" onclick="return browser_id_login();"&gt;&lt;img src="https://browserid.org/i/sign_in_blue.png" style="border: 0;" /&gt;&lt;/a&gt;&lt;/p&gt;';
}</code></pre>
<p>Nach dem klick auf den Button &#246;ffnet sich das Autorisierungs-Fenster von BrowserID und nach dem erfolgreichen Sign-In wird die gerade implementierte Methode <code>navigator.id.get(function(assertion) {}</code> aufgerufen.</p>
<p><img src="http://notizblog.org/wp-content/uploads/2012/01/BrowserID-login-window.jpg" alt="BrowserID login window" title="BrowserID-login-window" width="500" height="412" class="aligncenter size-full wp-image-4111" /></p>
<p>Im n&#228;chsten Schritt mu&#223; man die erhaltene <code>assertion</code> &#252;ber BrowserID.org verifizieren. Da ich den notwendigen <code>POST</code> nicht &#252;ber JavaScript absetzen will, leite ich einfach auf eine Seite weiter und &#252;bergebe die erhaltene <code>assertion</code> als GET-Paramater.</p>
<pre><code>if (assertion) {
  window.location="' . get_site_url(null, '/') .'?browser_id_assertion=" + assertion;
}</code></pre>
<p>Jetzt kann der POST bequem &#252;ber WordPress abgesetzt werden.</p>
<pre><code>// the verification code
add_action('parse_request', 'bi_verify_id');
function bi_verify_id() {
  global $wp_query, $wp, $user;

  if( array_key_exists('browser_id_assertion', $wp->query_vars) ) {
    // some settings for the post request
    $args = array(
      'method' => 'POST',
      'timeout' => 30,
      'redirection' => 0,
      'httpversion' => '1.0',
      'blocking' => true,
      'headers' => array(),
      'body' => array(
        'assertion' => $wp->query_vars['browser_id_assertion'], // the assertion number we get from the js
        'audience' => "http://".$_SERVER['HTTP_HOST'] // the server host
      ),
      'cookies' => array(),
      'sslverify' => 0
    );

    // check the response
    $response = wp_remote_post("https://browserid.org/verify", $args);

    if (!is_wp_error($response)) {
      $bi_response = json_decode($response['body'], true);

      // if everything is ok, check if there is a user with this email address
      if ($bi_response['status'] == 'okay') {
        $userdata = get_user_by('email', $bi_response['email']);
        if ($userdata) {
          $user = new WP_User($userdata->ID);
          wp_set_current_user($userdata->ID, $userdata->user_login);
          wp_set_auth_cookie($userdata->ID, $rememberme);
          do_action('wp_login', $userdata->user_login);

          wp_redirect(home_url());
          exit;
        } else {
          // show error when there is no matching user
          echo "no user with email address '" . $bi_response['email'] . "'";
          exit;
        }
      }
    }

    // show error if something didn't work well
    echo "error logging in";
    exit;
  }
}</code></pre>
<p>Gibt es einen User mit der entsprechenden E-Mail &#8211; Adresse wird er eingeloggt, falls nicht, wird ein Fehler ausgegeben.</p>
<p>Bei der Demo hab ich mir aus Zeitgr&#252;nden ein wenig Code bei Marcel Bokhorst und M66B geliehen, deren <a href="http://wordpress.org/extend/plugins/browserid/">BrowserID-Plugin</a> wesentlich ausgereifter und vollst&#228;ndiger ist als der kleine Demo-Code den ich hier zusammengest&#252;ckelt habe.</p>
<p>Wenn euch das zu schnell ging und ich auf einige Details nicht gen&#252;gend eingegangen bin, k&#246;nnt ihr gerne fragen <img src='http://notizblog.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ich habe den kompletten Code &#252;brigens auch auf <a href="https://gist.github.com/1574995">Github</a> hochgeladen&#8230; das ist einfacher als sich alles zusammen zu kopieren.</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="BrowserID &amp;#8211; as easy as copy &amp;#038; paste"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2012/01/07/browserid-as-easy-as-copy-and-paste/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2012/01/07/browserid-as-easy-as-copy-and-paste/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2012/01/07/browserid-as-easy-as-copy-and-paste/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:thumbnail url="http://notizblog.org/wp-content/uploads/2012/01/BrowserID.jpg" />
		<media:content url="http://notizblog.org/wp-content/uploads/2012/01/BrowserID.jpg" medium="image">
			<media:title type="html">BrowserID</media:title>
		</media:content>
		<media:content url="http://notizblog.org/wp-content/uploads/2012/01/BrowserID-login-window.jpg" medium="image">
			<media:title type="html">BrowserID-login-window</media:title>
			<media:thumbnail url="http://notizblog.org/wp-content/uploads/2012/01/BrowserID-login-window-150x150.jpg" />
		</media:content>
	</item>
		<item>
		<title>The Long-Term Failure of OpenWeb</title>
		<link>http://notizblog.org/2011/11/17/the-long-term-failure-of-openweb/</link>
		<comments>http://notizblog.org/2011/11/17/the-long-term-failure-of-openweb/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 16:46:36 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[neunetz]]></category>
		<category><![CDATA[OpenWeb]]></category>
		<category><![CDATA[RDFa]]></category>
		<category><![CDATA[Schema.org]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=4063</guid>
		<description><![CDATA[Ich habe mich letzte Woche ein wenig mit Carsten &#252;ber das &#8220;scheitern&#8221; des OpenWebs unterhalten&#8230; wen es interessiert und wer mit diskutieren will, sollte am besten bei Marcel vorbei schauen, der hat den Dialog sch&#246;n zusammengefasst und um ein paar eigene Gedanken erweitert. Marcels Fazit: Neben dem Chaos, das das Einbinden offener Standards, oder M&#246;chte-gern-Standards [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich letzte Woche ein wenig mit Carsten &#252;ber das &#8220;<em>scheitern</em>&#8221; des OpenWebs <a href="https://plus.google.com/105241783171606794422/posts/YqjqBMZPTiD">unterhalten</a>&#8230; wen es interessiert und wer mit diskutieren will, sollte am besten bei <a href="http://www.neunetz.com/2011/11/07/das-versagen-der-offenen-webstandards/">Marcel</a> vorbei schauen, der hat den Dialog sch&#246;n zusammengefasst und um ein paar eigene Gedanken erweitert. </p>
<p>Marcels Fazit:</p>
<blockquote><p>Neben dem Chaos, das das Einbinden offener Standards, oder M&#246;chte-gern-Standards f&#252;r Entwickler unattraktiv macht, gibt es noch ein weiteres Problem, dem sich das Open Web, das dezentrale Web, gegen&#252;ber sieht: Die Protagonisten, also die F&#252;rsprecher und die, welche die Grundlagen entwerfen und weiter entwickeln, haben es bis dato vers&#228;umt, einen effektiven Hebel zu erschaffen, um Anreize f&#252;r alle Seiten zu generieren, die dann zu den virtuosen selbstverst&#228;rkenden Effekten f&#252;hren.</p>
<p>Die im Gespr&#228;ch angemerkte Kurzlebigkeit der Standards ist das Gegenteil eines effektiven Hebels: Sie treibt die notwendige Entwicklerseite frustriert weg.</p>
<p>Ich bin im &#252;brigen mittlerweile fast der Meinung, dass jede signifikante Weiterentwicklung von Webstandards von Unternehmen wie Google und Facebook kommen wird und muss. Denn in deren Produkten steckt der Hebel schon drin. Das bringt uns allerdings wieder zur&#252;ck zu den Argumenten von Bradbury zur Abh&#228;ngigkeit bei Web-APIs.</p></blockquote>
<p>Obwohl ich das immer noch nicht so richtig wahr haben will hat Marcel mit seiner Aussage wohl den Nagel auf den Kopf getroffen. Ein aktuelles Beispiel: Schema.org! Ich besch&#228;ftige mich seit mehr als 5 Jahren mit Microformats und RDFa&#8230; <a href="http://notizblog.org/2011/06/02/websemantics-google-yahoo-und-bing-einigen-sich-auf-einen-standard/">f&#252;r mich ist Schema.org einfach nur <strong>ignorant</strong></a>!<br />
F&#252;r die meisten Webentwickler ist Schema.org aber der erste Ber&#252;hrungspunkt mit Websemantiken, wieso sich also weiter mit Altlasten herumplagen. Google, Microsoft und Yahoo! einigen sich auf Schema.org&#8230; ein simples Format und ein valider Usecase. Damit wird Schema.org zum neuen defacto Standard <a href="http://schema.org/docs/faq.html#3">ohne je den Anspruch darauf erhoben zu haben</a>:</p>
<blockquote><p>schema.org is not a formal standards body. schema.org is simply a site where we document the schemas that three major search engines will support.</p></blockquote>
<p>Der Punkt ist: Was bringens uns &#8220;Standards&#8221; von W3C und IETF wenn sie niemand unterst&#252;tzt. Wir brauchen Formate die ein Bed&#252;rfnis decken und von der breiten Masse akzeptiert werden&#8230; ob man sie jetzt &#8220;Standard&#8221; nennt oder nicht!</p>
<p>(Um dieses Thema geht es &#252;brigens auch in meiner Kolumne im n&#228;chsten <a href="http://www.webstandards-magazin.de/">Webstandards Magazin</a>.)</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="The Long-Term Failure of OpenWeb"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/11/17/the-long-term-failure-of-openweb/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/11/17/the-long-term-failure-of-openweb/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/11/17/the-long-term-failure-of-openweb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
	</item>
		<item>
		<title>oAlternative</title>
		<link>http://notizblog.org/2011/11/15/oalternative/</link>
		<comments>http://notizblog.org/2011/11/15/oalternative/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 01:07:50 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<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&#246;rtchen &#8220;alternativ&#8220;! OpenID Discovery basiert auf Meta-Tags, alternativ funktioniert aber auch XRDS(-Simple)/Yadis oder Webfinger. OpenID stellt &#252;ber SREG Profilinformationen bereit, alternativ aber auch &#252;ber Attribute Exchange. RDFa 1.1 ist folgenderma&#223;en aufgebaut: &#60;html prefix="foaf: http://xmlns.com/foaf/0.1/" &#62; ... &#60;span property="foaf:name">John Doe&#60;/span&#62; ... &#60;/html&#62; alternativ aber auch: &#60;div vocab="http://xmlns.com/foaf/0.1/" about="#me"&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Was das OpenWeb so kompliziert macht ist das W&#246;rtchen &#8220;<strong>alternativ</strong>&#8220;!</p>
<ul>
<li>OpenID Discovery basiert auf Meta-Tags, <strong>alternativ</strong> funktioniert aber auch XRDS(-Simple)/Yadis oder Webfinger.</li>
<li>OpenID stellt &#252;ber SREG Profilinformationen bereit, <strong>alternativ</strong> aber auch &#252;ber Attribute Exchange.</li>
<li> RDFa 1.1 ist folgenderma&#223;en aufgebaut:
<pre><code>&lt;html
  prefix="foaf: http://xmlns.com/foaf/0.1/"
  &gt;
  ...
  &lt;span property="foaf:name">John Doe&lt;/span&gt;
  ...
&lt;/html&gt;</code></pre>
<p><strong>alternativ</strong> aber auch:</p>
<pre><code>&lt;div vocab="http://xmlns.com/foaf/0.1/" about="#me"&gt;
  &lt;span property="name">John Doe&lt;/span&gt;
&lt;/div&gt;</code></pre>
<p>&#8230;oder:</p>
<pre><code>&lt;div profile="http://xmlns.com/foaf/0.1/" about="#me"&gt;
  &lt;span property="foaf:name">John Doe&lt;/span&gt;
&lt;/div&gt;</code></pre>
</li>
<li>OpenSocial, oEmbed, ActivityStrea.ms und host-meta benutzen JSON, <strong>alternativ</strong> aber auch XML</li>
<li>OAuth verschl&#252;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&#228;t man sich sparen k&#246;nnte wenn man sich auf eine Variante beschr&#228;nken w&#252;rde.</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="oAlternative"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/11/15/oalternative/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/11/15/oalternative/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/11/15/oalternative/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>Kleines Jubil&#228;um #webstandardsmag</title>
		<link>http://notizblog.org/2011/09/28/kleines-jubilaum-webstandardsmag/</link>
		<comments>http://notizblog.org/2011/09/28/kleines-jubilaum-webstandardsmag/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 21:39:24 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Pfefferles OpenWeb]]></category>
		<category><![CDATA[Schema.org]]></category>
		<category><![CDATA[Webstandards Magazin]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=4028</guid>
		<description><![CDATA[Seit 16.09. ist das neue Webstandards-Magazin im Handel erh&#228;ltlich und gerade jetzt vergess&#8217; ich dar&#252;ber zu posten&#8230; immerhin enth&#228;lt es Folge 10 von Pfefferles OpenWeb &#8230;und zur Feier des Tages gibt es ein wenig Schema.org-Bashing: Knapp 2 Milliarden Webseiten sind mit einer hCard ausgezeichnet und RDFa verzeichnete zwischenzeitlich ein Wachstum von 510% , trotzdem haben [...]]]></description>
			<content:encoded><![CDATA[<p><img width="480" height="480" src="http://notizblog.org/wp-content/uploads/2011/09/webstandards-magazin-nr11.jpg" class="aligncenter size-medium wp-post-image" alt="Webstandards Magazin Nr. 11" title="Webstandards Magazin Nr. 11" /></p>
<p>Seit 16.09. ist <a href="http://www.webstandards-magazin.de/index.php/index/11-content-is-king">das neue Webstandards-Magazin</a> im Handel erh&#228;ltlich und gerade jetzt vergess&#8217; ich dar&#252;ber zu posten&#8230; immerhin enth&#228;lt es Folge 10 von <strong>Pfefferles OpenWeb</strong> <img src='http://notizblog.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8230;und zur Feier des Tages gibt es ein wenig Schema.org-Bashing:</p>
<blockquote><p>Knapp 2 Milliarden Webseiten sind mit einer hCard ausgezeichnet und RDFa verzeichnete zwischenzeitlich ein Wachstum von 510% , trotzdem haben sich Google, Yahoo! und Microsoft dazu entschlossen ein neues Format zu entwickeln.</p></blockquote>
<p>Viel Spa&#223; beim lesen und ich freue mich wie immer &#252;ber ein bisschen Feedback.</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="Kleines Jubil&amp;#228;um #webstandardsmag"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/09/28/kleines-jubilaum-webstandardsmag/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/09/28/kleines-jubilaum-webstandardsmag/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/09/28/kleines-jubilaum-webstandardsmag/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://notizblog.org/wp-content/uploads/2011/09/webstandards-magazin-nr11.jpg" />
		<media:content url="http://notizblog.org/wp-content/uploads/2011/09/webstandards-magazin-nr11.jpg" medium="image">
			<media:title type="html">Webstandards Magazin Nr. 11</media:title>
		</media:content>
	</item>
		<item>
		<title>Als aus Facebook das Internet wurde.</title>
		<link>http://notizblog.org/2011/09/23/als-aus-facebook-das-internet-wurde/</link>
		<comments>http://notizblog.org/2011/09/23/als-aus-facebook-das-internet-wurde/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 06:42:22 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Timeline]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=4018</guid>
		<description><![CDATA[Christian Scholz (aka MrTopf) &#252;ber das neue Facebook: Das erste grosse neue Ding: Timelines. Im Prinzip das ganze .. Leben auf Facebook [...]. [...] fehlt noch eine Antwort auf die Frage, ob ich denn mein Leben auch wieder aus Facebook herausbekomme und wenn ja, unter welcher Lizenz. Flattr this!]]></description>
			<content:encoded><![CDATA[<p>Christian Scholz (<abbr title="also known as">aka</abbr> MrTopf) &#252;ber <a href="http://mrtopf.de/blog/de/f8-2011/">das neue Facebook</a>:</p>
<blockquote><p>Das erste grosse neue Ding: Timelines. Im Prinzip das ganze .. Leben auf Facebook [...]. [...] fehlt noch eine Antwort auf die Frage, ob ich denn mein Leben auch wieder aus Facebook herausbekomme und wenn ja, unter welcher Lizenz.</p></blockquote>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="Als aus Facebook das Internet wurde."
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/09/23/als-aus-facebook-das-internet-wurde/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/09/23/als-aus-facebook-das-internet-wurde/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/09/23/als-aus-facebook-das-internet-wurde/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>OpenWebPodcast.TV</title>
		<link>http://notizblog.org/2011/09/04/openwebpodcast-tv/</link>
		<comments>http://notizblog.org/2011/09/04/openwebpodcast-tv/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 16:53:01 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Plus]]></category>
		<category><![CDATA[openweb podcast]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=3998</guid>
		<description><![CDATA[So, da sind wir wieder&#8230; mit neuem Logo, Fernsehshow und nicht mehr ganz so technisch! In der aktuellen Folge (#32) dreht sich alles um Google+: User-Zahlen, Vergleich zu Facebook, die Real Name Policy und mehr. Den Audio-Stream findet ihr in unserem Blog und den Video-Stream auf USTREAM. Flattr this!]]></description>
			<content:encoded><![CDATA[<p><img src="http://notizblog.org/wp-content/uploads/2011/09/Open-Web-Podcast-32-Recorded-on-17.08.11-MrTopf-on-USTREAM.-The-Web-1.jpg" alt="OpenWebPodcast studio-view" title="OpenWebPodcast.TV" width="456" height="342" class="aligncenter size-full wp-image-4006" /></p>
<p>So, da sind wir wieder&#8230; mit neuem Logo, Fernsehshow und nicht mehr ganz so technisch! In der aktuellen Folge (<a href="http://blog.openwebpodcast.de/401/owp32-eingekreist/">#32</a>) dreht sich alles um Google+: User-Zahlen, Vergleich zu Facebook, die <em>Real Name Policy</em> und mehr.</p>
<p>Den Audio-Stream findet ihr in unserem <a href="http://blog.openwebpodcast.de/401/owp32-eingekreist/">Blog</a> und den Video-Stream auf <a href="http://www.ustream.tv/recorded/16718187">USTREAM</a>.</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="OpenWebPodcast.TV"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/09/04/openwebpodcast-tv/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/09/04/openwebpodcast-tv/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/09/04/openwebpodcast-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://notizblog.org/wp-content/uploads/2011/09/Open-Web-Podcast-32-Recorded-on-17.08.11-MrTopf-on-USTREAM.-The-Web-1-150x150.jpg" />
		<media:content url="http://notizblog.org/wp-content/uploads/2011/09/Open-Web-Podcast-32-Recorded-on-17.08.11-MrTopf-on-USTREAM.-The-Web-1.jpg" medium="image">
			<media:title type="html">OpenWebPodcast.TV</media:title>
			<media:thumbnail url="http://notizblog.org/wp-content/uploads/2011/09/Open-Web-Podcast-32-Recorded-on-17.08.11-MrTopf-on-USTREAM.-The-Web-1-150x150.jpg" />
		</media:content>
	</item>
		<item>
		<title>Eskimos haben 90 W&#246;rter f&#252;r Schnee&#8230;</title>
		<link>http://notizblog.org/2011/08/14/eskimos-haben-90-worter-fur-schnee/</link>
		<comments>http://notizblog.org/2011/08/14/eskimos-haben-90-worter-fur-schnee/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 08:13:34 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Open Graph Protocol]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[Schema.org]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=3969</guid>
		<description><![CDATA[&#8230;und das Open Web kennt mindestens genau so viele W&#246;rter f&#252;r &#8220;Name&#8221;! Ich hab mir letzte Woche mal den aktuellen Draft von OpenID Connect angeschaut und mich riesig gefreut, dass die OpenID-Community ihrer Linie treu bleibt und dem User-Schema wieder komplett neue Bezeichnungen gibt. Aber das scheint ein genereller Spa&#223; in OpenWeb-Kreisen zu sein. Ich [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;und das Open Web kennt mindestens genau so viele W&#246;rter f&#252;r &#8220;Name&#8221;!</p>
<p>Ich hab mir letzte Woche mal den <a href="http://openid.net/2011/07/15/current-map-for-openid-connect/">aktuellen Draft von <em>OpenID Connect</em></a> angeschaut und mich riesig gefreut, dass die OpenID-Community ihrer Linie treu bleibt und dem User-Schema wieder komplett neue <em>Bezeichnungen</em> gibt. Aber das scheint ein genereller Spa&#223; in OpenWeb-Kreisen zu sein. Ich hab mir mal einen Spa&#223; d&#8217;raus gemacht einzelne Bezeichnungen verschiedener &#8220;Standards&#8221; die mit Profil/User-Infos zu tun haben, zu vergleichen.</p>
<p><em>Claims</em> f&#252;r den kompletten &#8220;Namen&#8221; eines Users:</p>
<ul>
<li>fn (vCard, hCard)</li>
<li>name (foaf, OpenID Connect, Facebook Connect, schema.org)</li>
<li>fullname (OpenID SREG)</li>
<li>namePerson (OpenID AX)</li>
<li>displayName (Portable Contacts, Open Social, Activity Streams)</li>
</ul>
<p><em>Claims</em> f&#252;r den &#8220;Nachnamen&#8221; eines Users:</p>
<ul>
<li>given name (vCard)</li>
<li>given-name (hCard)</li>
<li>lastName (foaf)</li>
<li>family_name (OpenID Connect, Facebook Connect)</li>
<li>namePerson/last (OpenID AX)</li>
<li>givenName (Portable Contact, Open Social)</li>
</ul>
<p>Gut dass wir das W3C, die WHATWG, die IETF und diverse ander Standard-Organisationen haben die in jahrelanger Arbeit Standards wie RDF, XML, JSON, RDFa und Microdata spezifizieren und dann jeder, wie er gerade bock hat, ein Schema daf&#252;r baut <img src='http://notizblog.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&#8230; <em><a href="http://schema.org">Schema.org</a></em> und das <em><a href="http://ogp.me/">Open Graph Protocol</a></em> sind perfekte Beispiele daf&#252;r, wie man gekonnt bestehene Schemas ignoriert und einfach macht, wie man denkt!</p>
<p><small>P.S. Ich wei&#223; dass man die Bezeichnung &#8220;Eskimo&#8221; eigentlich nicht mehr benutzt und wehe mir nimmt jemand den Mythos mit den <a href="http://de.wikipedia.org/wiki/Eskimo-W%C3%B6rter_f%C3%BCr_Schnee">90 W&#246;rtern f&#252;r Schnee</a> <img src='http://notizblog.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </small></p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="Eskimos haben 90 W&amp;#246;rter f&amp;#252;r Schnee&amp;#8230;"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/08/14/eskimos-haben-90-worter-fur-schnee/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/08/14/eskimos-haben-90-worter-fur-schnee/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/08/14/eskimos-haben-90-worter-fur-schnee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
		<item>
		<title>Web Actions/Web Intents</title>
		<link>http://notizblog.org/2011/08/09/web-actionsweb-intents/</link>
		<comments>http://notizblog.org/2011/08/09/web-actionsweb-intents/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 08:29:46 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[OpenWeb Notizen]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=3977</guid>
		<description><![CDATA[Tantek Çelik mit einem sehr ausf&#252;hrlichen Bericht &#252;ber Web Actions bzw. Web Intents: A web action is the interface and user experience of taking a specific discrete action, across the web, from one site to another site or application. They&#8217;re not a specific technology but use a variety of technologies. Flattr this!]]></description>
			<content:encoded><![CDATA[<p>Tantek Çelik mit einem sehr ausf&#252;hrlichen Bericht &#252;ber <a href="http://tantek.com/2011/220/b1/web-actions-a-new-building-block"><em>Web Actions bzw. Web Intents</em></a>:</p>
<blockquote><p>A web action is the interface and user experience of taking a specific discrete action, across the web, from one site to another site or application. They&#8217;re not a specific technology but use a variety of technologies.</p></blockquote>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="Web Actions/Web Intents"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/08/09/web-actionsweb-intents/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/08/09/web-actionsweb-intents/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/08/09/web-actionsweb-intents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>Microdata – wie Microformats blo&#223; besser… (Teil 2)</title>
		<link>http://notizblog.org/2011/06/26/microdata-wie-microformats-blos-besser-teil-2/</link>
		<comments>http://notizblog.org/2011/06/26/microdata-wie-microformats-blos-besser-teil-2/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 20:06:32 +0000</pubDate>
		<dc:creator>Matthias Pfefferle</dc:creator>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[include pattern]]></category>
		<category><![CDATA[Microdata]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[namespaces]]></category>

		<guid isPermaLink="false">http://notizblog.org/?p=3693</guid>
		<description><![CDATA[Microdata – wie Microformats blo&#223; besser… (Teil 1): &#252;ber abbr-design-pattern, value-class-pattern und Meta-Informationen Knapp zwei Jahre nach dem ersten Teil, komme ich endlich mal zu Nummer 2 Nach den ganzen Diskussionen um schema.org und Microformats V2 ist es mal wieder an der Zeit, am Image von Microdata zu arbeiten. Namenskollisionen und Namespaces class-Attribute werden in [...]]]></description>
			<content:encoded><![CDATA[<div class="info"><a href="http://notizblog.org/2009/08/10/microdata-wie-microformats-bloss-besser-teil-1/">Microdata – wie Microformats blo&#223; besser… (Teil 1)</a>: &#252;ber abbr-design-pattern, value-class-pattern und Meta-Informationen</div>
<p>Knapp zwei Jahre nach dem ersten Teil, komme ich endlich mal zu Nummer 2 <img src='http://notizblog.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Nach den ganzen <a href="http://notizblog.org/2011/06/02/websemantics-google-yahoo-und-bing-einigen-sich-auf-einen-standard/">Diskussionen um schema.org</a> und <a href="http://notizblog.org/2011/06/21/pfefferles-openweb-microformats-v2/">Microformats V2</a> ist es mal wieder an der Zeit, am Image von Microdata zu arbeiten.</p>
<h3>Namenskollisionen und <em>Namespaces</em></h3>
<p><code>class</code>-Attribute werden in erster Linie zum Gestalten (CSS) und f&#252;r JS benutzt! Laut &#8220;<em><a href="http://www.webdirections.org/sotw10">The State of Web Development 2010</a></em>&#8221; setzen nur <a href="http://www.webdirections.org/sotw10/markup/#semantics">knapp 35% aller Befragten</a> Microformats ein, das hei&#223;t mehr als 65% haben keine Ahnung von Mikroformaten oder setzten sie nicht ein. Das kann zu zwei Problemen f&#252;hren:</p>
<ol>
<li>Microformats werden oft durch Re-Designs zerst&#246;rt. Facebook ist wohl das prominenteste Beispiel, nach einem Re-Design verschwanden alle Microformats von den Profilseiten.</li>
<li>Es werden f&#228;lschlicherweise <code>class</code>-Attribute interpretiert die gar nichts mit Microformats zu tun haben nur zuf&#228;llig den passenden Namen tragen. Anf&#228;llige Klassen sind z.B. <code>url</code> (hCard), <code>photo</code> (hCard), <code>summary</code> (hReview), <code>description</code> (hReview) oder <code>author</code> (hAtom).</li>
</ol>
<p>Um diesem Problem Herr zu werden denkt <del datetime="2011-06-26T16:57:14+00:00">die Community</del> Tantek Çelik &#252;ber eine Art <a href="http://microformats.org/wiki/microformats-2#ADVANTAGES"><em>Namespace</em>-Erweiterung</a> nach.</p>
<p><strong>Microformats</strong></p>
<p>So k&#246;nnten Microformtas demn&#228;chst folgenderma&#223;en aussehen:</p>
<pre><code>&lt;div class="h-card"&gt;
 &lt;span class="p-fn"&gt;Max Mustermann&lt;/span&gt;
&lt;/div&gt;</code></pre>
<p>Dabei steht:</p>
<ul>
<li>&#8220;h-*&#8221; f&#252;r die <em>root-names</em>, z.B. &#8220;h-card&#8221;, &#8220;h-event&#8221;, &#8220;h-entry&#8221;</li>
<li>und &#8220;p-*&#8221; f&#252;r &#8220;simple&#8221; (Text) Properties, z.B. &#8220;p-fn&#8221;, &#8220;p-summary&#8221;</li>
</ul>
<p>&#8230;und es gibt noch eine reihe weiterer <em>Prefixes</em>. Das ist zwar sch&#246;n und gut und verhindert sicherlich einen Gro&#223;teil der Namenskollisionen und man kann seinen Entwicklern sicherlich auch eintrichtern, alle <code>x-</code> Klassen in ruhe zu lassen&#8230; aber man mach damit jegliche Semantik kaputt. Nix mehr mit <em><a href="http://microformats.org/wiki/posh">Plain Old Semantic HTML</a></em> (POSH):</p>
<blockquote><p>POSH encapsulates the best practices of using semantic HTML to author web pages. Semantic HTML is the subset of HTML 4.01 (or XHTML 1.0) elements and attributes that are semantic rather than presentational. The best way to learn and understand POSH is to do it.</p></blockquote>
<p>&#8230;und <em><a href="http://www.w3.org/QA/Tips/goodclassnames">semantic class names</a></em>:</p>
<blockquote><p>Think about why you want something to look a certain way, and not really about how it should look. Looks can always change, but the reasons for giving something a look stay the same. </p></blockquote>
<p>Au&#223;erdem verkompliziert man das, jetzt noch so einfach zu nutzende, Format unn&#246;tig. Wann ist etwas eine id (<code>i-*</code>) oder eine Nummer (<code>n-*</code>) und was ist mit Attributen, die sowohl aus auch sein k&#246;nnen?</p>
<p><strong>Microdata</strong></p>
<p>Der Microdata Teil ist relativ schnell abgehandelt&#8230; Durch die Trennung von <em>Semantik</em> und <em>Design</em> kommt es bei Mircodata per se zu keinen Kollisionen:</p>
<pre><code>&lt;div itemtype="http://microformats.org/profile/hcard" itemscope&gt;
 &lt;span itemprop="fn"&gt;Max Mustermann&lt;/span&gt;
&lt;/div&gt;</code></pre>
<h3>Informationen Referenzieren</h3>
<p>Informationen stehen auf Webseiten nicht immer so nahe beieinander, so dass es oftmals schwer ist, alle  Daten mit einem HTML Attribut zu umschlie&#223;en.</p>
<p><strong>Microformats</strong></p>
<p>Je komplizierter das Format oder der Anwendungsfall, desto mehr st&#246;&#223;t man mit Microformats an die grenzen des machbaren. HTML 4 bietet keinerlei Mechanismen, den oben angesprochenen Problem zu l&#246;sen, deshalb greift die Microformtas-Community zu einer recht Kreativen L&#246;sung: dem <em><a href="http://microformats.org/wiki/include-pattern">include-pattern</a></em>.</p>
<pre><code>&lt;div class="vcard"&gt;
 &lt;a class="include" href="#author-name"&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;span class="fn n" id="author-name"&gt;Max Mustermann&lt;/span&gt;</code></pre>
<p>oder:</p>
<pre><code>&lt;div class="vcard"&gt;
 &lt;object class="include" data="#author-name"&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;span class="fn n" id="author-name"&gt;Max Mustermann&lt;/span&gt;</code></pre>
<p>Nette Idee mit etlichen Unsch&#246;nheiten:</p>
<ul>
<li>Leere HTML-Elemente</li>
<li>Zweckentfremdung von Object- bzw. Link-Element</li>
<li>Die Nutzung von <code>&lt;object /&gt;</code> f&#252;hrt zu einigen Problem bei einigen Versionen von Internet Explorer, Safari und Firefox</li>
</ul>
<p><strong>Microdata</strong></p>
<p>Microdata l&#246;st das Problem mit dem <code>itemref</code>-Attribut:</p>
<pre><code>&lt;div itemscope
     itemtype="http://microformats.org/profile/hcard"
     itemref="author-name"&gt;
 ...
&lt;/div&gt;

&lt;span itemprop="fn n" id="author-name"&gt;Max Mustermann&lt;/span&gt;</code></pre>
<p>Viel mehr gibt es dazu eigentlich nicht zu sagen <img src='http://notizblog.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Fazit</h3>
<p>Als Fazit, passt hier sehr gut ein Satz den ich auch als Fazit im aktuellen <a href="http://notizblog.org/2011/06/21/pfefferles-openweb-microformats-v2/">Webstandards-Magazin</a> verwende:</p>
<blockquote><p>Microformats sind und bleiben Plain Old Semantic HTML und man sollte auch in Zukunft keinesfalls darauf verzichten sie einzusetzen, selbst mit dem Risiko einer fehlerhaften Implementierungen oder Namenskollisionen, „erzieht“ die Nutzung von Microformats einen jeden Webentwickler dazu „sch&#246;nen“ und „sprechenden“ HTML-Code zu schreiben.</p></blockquote>
<p>&#8230;um HTML-Code aber wirklich maschinenlesbar zu machen, wird es Zeit auf Microdata und RDFa zu setzen. Microformats haben den Weg f&#252;r bessere und native L&#246;sungen geebnet und haben weiterhin ihre Daseinsberechtigung aber man sollte nicht mehr als dem Format machen, als es leisten kann.</p>

<div class="social-buttons">
  <a class="FlattrButton" style="display:none;"
     title="Microdata &acirc; wie Microformats blo&amp;#223; besser&acirc;&brvbar; (Teil 2)"
     data-flattr-button="compact"
     data-flattr-uid="pfefferle"
     data-flattr-category="text"
     data-flattr-language="de_DE"
     href="http://notizblog.org/2011/06/26/microdata-wie-microformats-blos-besser-teil-2/"
     rel="donation payment">Flattr this!</a>

  <div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2011/06/26/microdata-wie-microformats-blos-besser-teil-2/"></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://notizblog.org/2011/06/26/microdata-wie-microformats-blos-besser-teil-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
	</item>
	</channel>
</rss>

