Tag Archive for 'Microformats'

Googles Social Search

Bei der Recherche für meinen Webmontag-Vortrag (der übrigens morgen in Mannheim statt findet) hab ich entdeckt dass Googles Social Search schon weiter ist als ich dachte. Dreh und Angelpunkt der sozialen Suche wird das Google Profil sein.

Die Webseiten der relevanten Kontakte werden über die Links auf der Profilseite (via XFN oder FoaF) ermittelt. So schließt sich dann auch der Kreis und sowohl die Google Profilseite als auch die Social Graph API passen wieder ins Bild.

Googles Social Search - Overview

Über die Social Search kann man entweder die Seiten aller Freunde oder auch nur bestimmte Profile durchsuchen.

Googles Social Search - Profile

Vielleicht lässt sich so ja auch erklären warum der Suchmaschinen-Riese in letzter Zeit diverse Internetgrößen anwarb um ein “Social Web Team” aufzubauen.

Continue reading ‘Googles Social Search’

weiter geht’s

Als Erstes mal ein frohes, neues Jahr euch allen… Ich hoffe ihr habt die Feiertage gut überstanden :)

Es war die letzten Monate ja etwas ruhiger hier, aber das soll sich jetzt wieder ändern (erster guter Vorsatz fürs neue Jahr!).

Resumé

Microformats

So, jetzt aber erstmal ein kleiner Rückblick auf 2009… ich hatte mir ja vorgenommen mich wieder etwas mehr mit Microformats und dem lowercase semantic web zu beschäftigen. Das hat, glaube ich, ganz gut hin gehauen:

… wenn ich euch eine Empfehlung geben dürfte:

Microformats Top: Ich bin seit Ende letzten Jahres ein stolzer Microformateer :)
Microformats Flop: Das Angekündigte “The weekly microformat” ging total in die Hose und ich habe nicht mal einen Artikel dazu veröffentlicht :( (vielleicht klappt’s ja dieses Jahr)

APML

APML kam letztes Jahr leider nicht so gut weg, es gibt zwar einen OpenWeb-Podcast zu dem Thema und eine erste Version von NoisePress (leider noch keinen Blogpost) aber das war es auch schon.

Vorsatz für 2010

Was ich dieses Jahr so alles vor habe:

  • Bei APML tut sich gerade wieder eine ganze Menge und die neue Version (1.0) wird nochmal komplett überarbeitet. Ich habe mir vorgenommen ein wenig bei der Weiterentwicklung von APML zu helfen und das NoisePress mal zu Ende zu führen.
  • Ich hoffe auch in 2010 die OpenWeb Kolumne für das Webstandards-Magazin weiter führen zu dürfen (die nächste Ausgabe ist zumindest schon gesichert ;) ).
  • Neue, offene Standards die ich ganz spannend finde und mit denen ich mich dieses Jahr sicherlich etwas mehr beschäftigen werde, sind das Salmon Protokoll, Webfinger, XRD und OAuth WRAP.

Außerdem natürlich fleißig weiter OpenWeb podcasten und alle erwähnten offenen Standards in yiid einbauen ;)

The Microformateers

All for one, one for all:

Lots of citizens ask questions about microformats on Twitter. So in an attempt to be coordinated and useful, I’ve assembled a small league of superheroes to stand up for truth, justice and structured data, sporadically answering your questions, fixing your code or helping you find the right reference. –Ben Ward

Microdata: Update und Usability-Studie

Endlich denkt beim Thema “Usability” auch mal jemand an die Entwickler :)

Google hat über die letzten Wochen eine Usability-Studie zu Microdata durchgeführt und die Spezifikation wurde auch gleich entsprechend der Ergebnisse angepasst.

<address itemscope itemtype="http://microformats.org/profile/hcard">
 <strong itemprop="fn">Alfred Person</strong>
 <span itemprop="adr" itemscope>
  <span itemprop="street-address">1600 Amphitheatre Parkway</span> <br>
  <span itemprop="street-address">Building 43, Second Floor</span> <br>
  <span itemprop="locality">Mountain View</span>,
  <span itemprop="region">CA</span> <span itemprop="postal-code">94043</span>
 </span>
</address>

Die Änderungen:

  • Aus item wird itemscope.
  • Der Typ wird über itemtype und nicht mehr über item bzw. itemscope angegeben.
  • Das Attribut itemid wurde eingeführt, um z.B. auf ISBN-Nummer zu verweisen itemid="urn:isbn:0-330-34032-8".

Über den neuen HTML-Tag <itemref /> (alternativ: <itemfor />) werde ich im zweiten Teil von “Microdata – wie Microformats bloß besser…” eingehen (zum ersten Teil).

Jetzt muss ich nur noch meine alten Artikel zu Microdata anpassen… das hat man nun davon, wenn man über Drafts berichtet ;)

Operator wird doch weiter entwickelt

Gute Neuigkeiten! Michael Kaply, der die Weiterentwicklung von Operator (ein Microformats Addon für Firefox) Ende 2008 eingestellt hat…

Operator – Deciding what to do with Operator is difficult. [...] That being said, I’m going to do a few fixes for Operator, call it 1.0 and then stop development.

widmet sich jetzt doch wieder dem de facto (Microformats) Browser Plugin

The biggest news I have is that I have resumed work on Operator. In particular, I’m fixing bugs, adding a few usability enhancements and adding support for new microformat stuff like the value class/pattern for dates. I’m also considering completely removing the “Actions” toolbar and switching to interacting only with the data. I’m definitely looking for feedback on that one.

Wer Ideen zu neuen Features oder Funktionen hat, kann diese gerne auf Michaels Weblog loswerden.
Mein Wunsch: Microdata support :)

(Ich hoffe dass die Angekündigten value-class-pattern Änderungen eventuell auch irgendwann in die native Microformats Firefox API aufgenommen werden.)

Microdata – wie Microformats bloß besser… (Teil 1)

Der Inhalt wure an die neusten Änderungen der Microdata-Spezifikation angepasst. Letztes Update 30.01.2010.

Wie schon erwähnt, vereint Microdata die Vorzüge von RDFa und Microformats in einem Standard… aber nicht nur das, Microdata (in Verbindung mit HTML5) bietet auch einige schicke Lösungen für diverse Microformats-Problemchen.

Das abbr-design-pattern oder das value-class-pattern

Microformats:

Das abbr-design-pattern ist bisher wohl das umstrittenste Pattern im Microformats-Wiki. Grund für die Kritik an dem Pattern ist die etwas unorthodoxe Verwendung des <abbr> Tags um maschinenlesbare Meta-Informationen bereit zu stellen.

<div class="vevent">
  <abbr class="dtstart" title="2007-10-05">October 5</abbr>
  ...
</div>

Eine erste Alternative aus der Microformats-Community ist das value-class-pattern, das zwar das Accessibility-Problem “behebt” aber noch lange keine Perfekte Lösung bietet.

<div class="vevent">
  <span class='dtstart'>
    <span class='value-title' title='2007-10-05'> </span>
    October 5
  </span>
  ...
</div>

Der HTML-Code wird durch weitere Elemente unnötig aufgeblasen und das Pattern basiert auf teilweise leeren Elementen.

Microdata/HTML5:

In HTML5 gibt es dagegen ein spezielles Tag um Zeit und Datum sowohl user als auch maschinenlesbar zu machen.

<div itemscope
  itemtype="http://microformats.org/profile/hcalendar">
  <time itemprop="dtstart" datetime="2007-10-05">October 5</time>
  ...
</div>

Reine Meta-Informationen

Microformats:

Eigentlich spricht es gegen die Prinzipien der Microformats-Idee, reine Metadaten zu verwenden:

Visible data = more accurate data. By designing for humans first and making the data presentable (thus viewed and verified by humans), the data is inevitably more accurate, not only to begin with (as errors are easily/quickly noticed by those viewing the pages/sites), but over time as well; in that changes are noticed, and if data becomes out-of-date or obsolete, that’s more likely to be noticed as well. This is in direct contrast to “side files” and invisible data like that contained in <meta> tags. — Tantek Çelik

…aber GEO-Daten sind z.B. Informationen die der Benutzer nicht unbedingt sehen muss.

<div class="geo">
 <span class="latitude">37.386013</span>
 <span class="longitude">-122.082932</span>
</div>

Microdata/HTML5:

In HTML5 gibt es für dieses Problem eine recht schicke Lösung: Laut der Spezifikation sind <meta />-Tags im kompletten Quellcode (auch im body) erlaubt.

<div itemscope
 itemtype="http://microformats.org/profile/hcard#geo">
 <meta itemprop="latitude" content="37.386013" />
 <meta itemprop="longitude" content="-122.082932" />
</div>

Fazit

Selbst wenn sich Microdata (item und itemprop) nicht durchsetzen sollte, sind <meta> und <time> schon ein echter “Segen” für die Microformats-Community :)

Im zweiten Teil nehm’ ich mir das include-pattern und das Problem der möglichen Namens-Kollisionen vor.

RDFa wird wohl doch in HTML5 integriert

Manu Sporny und die RDFa Task Force haben es doch noch nicht geschafft, Ian Hickson davon zu überzeugen RDFa in HTML5 zu integrieren und versuchen es jetzt im Alleingang. Es gibt auch schon einen ersten Editors Draft von HTML5+RDFa.

Besonders spannend finde ich folgenden Abschnitt aus Manu Spornys Blogpost zu dem neuen Draft:

I specifically did not remove the Microdata section from the HTML5+RDFa specification because it provides competition for RDFa – competition is a good thing. It forces the RDFa Task Force to re-think some assumptions we’ve made and to see if we can provide both backwards-compatibility and some of the features provided via Microformats as well as Ian’s Microdata proposal.

Ich versteh das jetzt mal so, dass endlich beide Parteien verstanden haben die RDFa Task Force verstanden hat dass sowohl RDFa als auch Microformats ihre Daseinsberechtigung haben und Microdata die Vorteile beider Standards schön vereint.

Mal schaun ob ich die Tage mal etwas Zeit finde, die einzelnen Standards nochmal detaillierter Vorzustellen bzw. zu Vergleichen und nochmal zu beschreiben warum die Idee hinter Microdata so großartig ist!

via Manu Sporny

Microdata – Semantisches HTML5

Der Inhalt wure an die neusten Änderungen der Microdata-Spezifikation angepasst. Letztes Update 30.01.2010.

In dem Punkt, dass HTML semantischer werden muss, ist sich die Web-Welt einig, nur das “Wie” ist noch nicht ganz klar. Aus verschiedenen Gründen (die alle sehr, sehr technisch sind) ist die WHATWG-Community bzw. Ian Hickson im speziellen, nicht sehr begeistert von dem bisherigen De-facto-Standard RDFa und hat deshalb vor ein paar Wochen Microdata als eine mögliche Alternative vorgestellt.

Microdata-Objekte bestehen eigentlich nur aus einer Vielzahl von Key/Value-Paaren. Ein Object wird durch einen umschließenden HTML-Tag mit einem itemscope-Attribut gekennzeichnet und hat mehrere Properties ausgezeichnet durch itemprop-Attribute.

<div itemscope>
 <p>Mein Name ist <span itemprop="name">Matthias</span>.</p>
</div>

Microdata ist für mich die gelungene Weiterentwicklung der Microformats-Idee unter Berücksichtigung von RDFa und prinzipiell lassen sich auch beide Standards mit Microdata umsetzen. Wie generell von HTML5 gewohnt, kann man auch Microdata auf viele verschiedene Weisen benutzen ohne den Standard zu verletzen.

Microdata im Microformats-Stil

Um z.B. eine hCard mit Microdata abzubilden muss man eigentlich nur die bisher verwendeten class durch itemprop-Attribute zu ersetzen und mit itemtype das Format festlegen.

<div itemscope itemtype="http://microformats.org/profile/hcard">
 <span itemprop="fn">Matthias Pfefferle</span>
 <img itemprop="photo" src="avatar.png" alt="Avatar" />
</div>

HTML5 und Microdata bieten außerdem eine ganze Reihe weiterer Tags und Attribute die alle bisherigen Microformats-Probleme beheben sollten. Aber darauf werde ich in einem extra Artikel noch detaillierter darauf eingehen.

Microdata im RDFa-Stil

item und itemprop können aber auch durch URIs (ähnlich wie RDFa) ausgezeichnet werden und würden sich dadurch relativ leicht (durch z.B. GRDDL) in klassisches RDF konvertieren lassen.

<div item="http://www.w3.org/2001/vcard-rdf/3.0#">
  <span itemprop="http://www.w3.org/2001/vcard-rdf/3.0#fn">
    Matthias Pfefferle
  </span>
  <img itemprop="http://www.w3.org/2001/vcard-rdf/3.0#photo"
       src="avatar.png" alt="Avatar" />
</div>

Fazit

Trotz anfänglicher Skepsis bin ich immer begeisterter von dem neuen HTML5 Draft! Microdata fühlt sich einfach viel mehr nacht HTML an…

<div itemscope itemtype="http://microformats.org/profile/hcard">
  <a itemprop="url" href="http://notizblog.org">
    <span itemprop="fn">Matthias Pfefferle</span>
  </a>
</div>

…als RDFa.

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">
  <span typeof="foaf:Person">
    <a property="foaf:name" rel="foaf:homepage" href="http://notizblog.org">
      Matthias
    </a>
  </span>
</div>

Trotzdem hoffe ich, dass man sich doch noch irgendwie einigen kann und sich vielleicht in der Mitte trifft. Zwei neue HTML-Spezifikationen (XHTML2 & (X)HTML5) sind schon verwirrend genug, da brauchen wir nicht auch noch zwei unterschiedliche Semantik-HTML-Standards

Mozilla Jetpack (und Microformats)

Jetpack ist das jüngste Baby der Mozilla Labs und bietet eine Art API, die es Entwicklern ermöglicht, den Firefox mit klassischen Web-Techniken (HTML, JavaScript und CSS) zu erweitern. Statt mit XUL kann man seine Firefox Addons demnächst vielleicht wirklich mit HTML und CSS gestalten. Großartige Idee!

Übrigens unterstützt Jetpack, wie auch Ubiquity, die ab der Version 3 in Firefox nativ implementierte Microformats API. Der folgende Code zeigt, wie man die Microformats API in Jetpack-Skripte integrieren kann. Das Beispiel zählt z.B. alle hCards der Seite, auf der man sich gerade befindet und zeigt das Ergebnis per Info-Message an:

Components.utils.import("resource://gre/modules/Microformats.js");

// count hCards
jetpack.tabs.onFocus(function() {
  // load HTML
  var doc = jetpack.tabs.focused.contentDocument;
  // count microformats
  var uFcount = Microformats.count('hCard', doc);
  // load notifier
  jetpack.notifications.show({
    title: 'hCards',
    body: 'number of hCards on this website: ' + uFcount,
    icon: 'http://microformats.org/favicon.ico'
  });
});

Nachtrag:

Unter Windows und Linux scheinen die Messages nicht so ganz zu funktionieren, deshalb gibt’s hier nochmal nen Beispiel wo der Counter in der Statusbar ausgegeben wird:

Components.utils.import("resource://gre/modules/Microformats.js");

jetpack.statusBar.append({
  html: '<img src="http://microformats.org/favicon.ico">
           hCards: <span id="hcard-count">0</span>',
  onReady: function(jetpackWidget) {
    function counthCard(){
      //load HTML
      var doc = jetpack.tabs.focused.contentDocument;
      // count microformats
      var uFcount = Microformats.count('hCard', doc);
      if (uFcount > 0) {
       $(jetpackWidget).find('#hcard-count').html(uFcount);
      }
    }
    jetpack.tabs.onFocus(counthCard);
  }
});

Mal schaun ob mir demnächst noch etwas sinnvolleres Einfällt ;)

nanoformats are dead, long live the microsyntax

Was Microformats.org für HTML-Semantiken ist, soll Microsyntax.org für Twitter-Grammatiken werden.

Vor knapp zwei Jahren gab es schon mal einen Trend, Tweets mit “Meta Informationen” anzureichern (und Chris Messina (wer sonst!) hatte sogar schon 2006 eine ganz ähnliche Idee). Leider haben die so genannten Nanoformats sich, bis auf einige Ausnahmen (@replies und #tags), nicht wirklich durchgesetzt.
Trotzdem entstanden ein paar ganz nette Tools:

Das gestern von Stowe Boyd gestartete Microsyntax.org soll das ganze Thema jetzt nochmal neu aufrollen, Ordnung in das Microsyntax Chaos bringen (was ich schon mal sehr befürworte) und eine Plattform für neue Formate bieten.

By microsyntax I mean various ways to embed structured information right into the text of Twitter messages. The most well-known sort of microsyntax are the retweet convention (or ‘RT’) and hashtags (or twitter tags).

[...]

As a result of all this activity, and the potential for collective action in these efforts, we are launching a new non-profit, Microsyntax.org, with the purpose of investigating the various ways that individuals and tool vendors are trying to innovate around this sort of microsyntax, trying to define reference use cases that illuminate the ways they may be used or interpreted, and to create a forum where alternative approaches can be discussed and evaluated. We may even get involved in the development of proof-of-concept implementations that can act as reference architectures for microsyntactic extensions to the Twitter grammar emerging in the real time stream.

Prinzipiell finde ich die Idee ganz spannend und freue mich auf die erste Ergebnisse… und hoffen wir mal dass die zukünftigen Tweets nicht ausschließlich aus Meta-Informationen bestehen:

RT @pfefferle ich bin gerade in /berlin angekommen und freue mich aufs !barcamp. #bcberlin #barcamp #berlin

(naja, eigentlich sieht ja jetzt schon jeder zweite Tweet so aus ;) )