Chris Messina erklärt XAuth
XAuth ist eine Art Cross-Domain Cookie mit dem man Versucht die Flut an Share, Like und Login Icons auf ein Minimum zu reduzieren.

» XAuth – an introduction
» Offizielle XAuth Seite

OExchange einfach erklärt
OExchange ist ein offenes Protokoll um eine beliebige URL mit einem beliebigen Service im Web zu teilen. Die Demo zeigt die Funktionsweise von OExchange und welche Vorteile sich in Kombination mit z.B. XAuth ergeben.

» OExchange in action
» Offizielle OExchange Seite

Firefox Sync
Mozilla benennt das Labs-Projekt Weave Sync in Firefox Sync um und kündigt an, den Sync-Mechanismus in eine der nächsten Firefox Versionen fest zu integrieren. Im Zuge meiner Recherche bin ich außerdem noch auf einen Wiki-Artikel gestoßen, der erklärt wie man den Firefox Sync zukünftig auch mit OpenID oder OAuth koppeln könnte:

The user must have a way of proving to a third-party service that they really are who they claim, and for the Mozilla service to provide information back to the third-party service that access has been granted. The OpenID and OAuth protocols provide what we need here, and the OpenID/OAuth hybrid flow has been described.

Once this is done, the third party service will be able to establish a relationship with the Weave Sync service for a user, without the user disclosing his or her password.

» Stay in Sync With Your Firefox
» Firefox Sync Graduates from Mozilla Labs
» Secure Data Sharing

RDFa 1.1 – Alles neu, alles anders
Dank HTML5 (ohne X) wurde RDFa noch einmal grundlegend überdacht. In der Version 1.1 werden die RDF-Vocabularies beispielsweise nicht mehr über Namespaces definiert. Früher:

<a xmlns:cc="http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
</a>.

Jetzt:

<a prefix="cc: http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
</a>.

Grund der Änderung: HTML kennt im Gegensatz zu XHTML keine Namespaces und RDFa soll sowohl in HTML5 als auch in XHTML5 integriert werden.

» RDFa Core 1.1

RDFa checker
Toby Inkster hat einen sehr umfangreichen RDFa checker veröffentlicht:

It checks your web page for RDFa and displays any data found there. It also compares your data against the published recommendations from major consumers/users of RDFa data, to see how well your data matches their requirements.

» check rdfa

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.)

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 😉

Bei Vidoop hab ich gerade von dem neuen OpenID Plugin für Flock gelesen. Das Plugin ist eine Zusammenarbeit zwischen Vidoop, MySpace und Flock und basiert auf dem Know-How des IDIB (Identity in the Browser) Plugins für den Firefox.

Ähnlich wie bei IDIB für Firefox kann man auch bei der Flock Version mehrere OpenIDs voreinstellen. Neu beim Flock-Plugin ist die Automatische Erkennung von OpenID Providern und OpenID Relying Parties. Besuchte OpenID Profider wie z.B. Yahoo! oder MySpace merkt sich das Plugin und schlägt sie unter „Suggested OpenID’s“ vor.

Flock-openid-config.png

OpenID Consumer oder Relying Parties werden wohl nur noch am Login-Feld <input id="openid_identifier" /> und nicht mehr (wie bei IDIB) über XRDS-Simple erkannt. Ist ein OpenID Login möglich, werden einem die vorher angelegten OpenIDs angeboten und man kann sich bequem über das Plugin anmelden.

Flock-openid-login.png

Für die Audio-Visuellen unter euch gibt es auch noch eine kurze Einführung per ScreenCast.

Download OpenID Plugin: https://extensions.flock.com/extensions/

Ubiquity bietet (neben Operator) endlich einen echten Anwendungsfall für die Microformats Firefox API. Die Microformats API basiert auf JavaScript und lässt sich somit auch direkt (und ohne viel Aufwand) in die Ubiquity-Commands integrieren.

Das folgende wirklich sinnvolle Beispiel zählt alle hCards einer Seite und gibt das Ergebnis als System-Message aus:

Components.utils.import("resource://gre/modules/Microformats.js");
CmdUtils.CreateCommand({
  name: "count-hcards",
  execute: function() {
    var doc = Application.activeWindow.activeTab.document;	
    var uFcount = Microformats.count('hCard', doc);
    displayMessage( uFcount );
  }
})

Martin McEvoy hat ein paar wesentlich schickere Commands gebaut, die mit Hilfe des Transformrs Mikroformate verarbeitet. Da für diese Verarbeitung ein Redirect (oder das öffnen einer zweiten Seite) notwendig ist, überprüft er mit Hilfe der Microformats-API zuerst ob sich die notwendigen Mikroformate überhaupt auf der Seite befinden.

Der folgende Code (von Martin) testet z.B. ob mind. ein hCalendar verfügbar ist, bevor er diesen verarbeitet:

CmdUtils.CreateCommand({
  icon: "http://transformr.co.uk/favicon.ico",
  name: "get-webcal",
  author: {name: "Martin McEvoy", email: "weborganics@googlemail.com"},
  help: "Subscribe to a webcal feed using the 
<a href=\"http://microformats.org/wiki/hcalendar\">hCalendar</a> Microformat.",
  preview: function ( pblock ) {
    pblock.innerHTML = "Subscribe to web calendar";
  },
  execute: function() {
    var doc = Application.activeWindow.activeTab.document;
    var mFcount = Microformats.count('hCalendar', doc,{ showHidden : true });
    if (mFcount > 0) {
      var url = "webcal://transformr.co.uk/hcalendar/";
      url += CmdUtils.getWindowInsecure().location ; 
      Utils.openUrlInBrowser(url);
    } else {
      displayMessage('Sorry No hCalendar Events Found!');
    }
  }
})

Quelle: http://transformr.co.uk/commands

Weitere großartige Ubiquity-Commands im Microfromats-Wiki

Ubiquity gibt es ja jetzt schon ne ganze Weile und es wurde auch schon zu genüge darüber berichtet, deshalb will ich auch gar nicht mehr groß darauf eingehen. Da ich das Firefox-Addon aber recht spannend finde und sicherlich noch einiges darüber schreiben werde, möchte ich diejenigen die noch nichts von Ubiquity gehört haben auf den Artikel von Markus Spath (auf netzwertig) und das folgende Video hinweisen…

Ich persönlich mag das quicksilver-ähnliche Handling und das kontextsensitive reagieren der Ubiquity-Befehle (frei nach Markus).
D.h. Ubiquity arbeitet, genau nach dem Microformats-Prinzip: „Designed for humans first and machines second…“, mit den gleichen Informationen die auch der User zu Gesicht bekommt… der Webseite.
Das schreit ja nahezu nach einigen coolen Microformats-Anwendungen 🙂