Neue Version von „Contacts in the Browser“

Contacts in the Browser kann jetzt auch OAuth:

Where possible, Contacts now uses the industry-standard OAuth login mechanism to access websites. You will need to re-connect your browser to your services once to set it up.

» Contacts in the Browser 0.4 released

Mozillas „Prototype of an Open Web App Ecosystem“

Und nochmal Firefox: Mozilla arbeitet an der Verschmelzung von Webservices und dem Browser:

Apps built using HTML/CSS/JavaScript that work both on computers and mobile phones, have many of the characteristics that users find compelling about native apps and provide developers with open and flexible distribution options.

» Prototype of an Open Web App Ecosystem

PubSubJubhub

PubSubHubBub mit JavaScript abonnieren:

A little web service that allows you to subscribe to PubSubHubbub feeds from Javascript!

» PubSubJubhub

W3Cs FederatedSocialWebCharter

Das W3C will jetzt auch im OpenWeb mit mischen und ruft das (oder den) FederatedSocialWebCharter ins leben:

The mission of the Federated Social Web Incubator Group is to provide a set of community-driven specifications and a test-case suite for a federated social web.

» FederatedSocialWebCharter

Letztes Mal sind die Notizen dank zu viel Arbeit und StarCraft II leider ausgefallen, aber das wird nicht einreißen… hoffe ich zumindest 🙂

Der Browser und das Federated Web

Ein großes Problem im dezentralen Web: Der gemeine User kann nichts mit Identifiern anfangen, weder mit URLs (wie es NoseRub versucht hat) noch mit E-Mail Adressen (wie es Status.Net mit Webfinger versucht). Austin King zeigt auf Mozilla Webdev wie man dem, mit Hilfe des Browsers und der JavaScript Methoden registerProtocolHandler und postMessage, entgegen wirken kann. XAuth funktioniert übrigens nach einem ähnlichen Prinzip.

» RegisterProtocolHandler Enhancing the Federated Web

Thunderbird Contacts

Endlich gibt es das Contacts-Addon auch für den Thunerbird, denn da gehören sie ja auch hin.

The goal of add-on is to experiment in evolving the address book of Thunderbird beyond what it currently is today. Thunderbird Contacts isn’t a standalone address book, instead it understands that your contacts live on the web as much as they do inside Thunderbird. The add-on can pull in contact data from various services where your contacts already exist.

» Thunderbird Contacts

AOL und der Webfinger

AOL implementiert Webfinger für @aol.com und @aim.com.

<?xml version='1.0' encoding='UTF-8'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
    <!-- Host-wide Information -->
    <Link rel='http://specs.openid.net/auth/2.0/provider' href='https://api.screenname.aol.com/auth/openidServer'>
        <Title>OpenID 2.0 Provider</Title>
    </Link>
    <!-- Resource-specific Information -->
    <Link rel='lrdd' template='https://api.screenname.aol.com/auth/describe?uri={uri}'>
        <Title>Resource Descriptor</Title>
    </Link>
</XRD>

» Webfinger enabled for @aol.com

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

Da ich in den letzten Monaten nicht wirklich viel Zeit zum bloggen hatte, im (Open)Web aber trotzdem viel zu viel interessantes passiert und ich hackrs kurzen und prägnanten Schreibstil sehr schätze, versuche ich mich jetzt mal an einer OpenWeb-Version von Linkwertig und nenne es „OpenWeb-Notizen„… Das versuche ich jetzt mal jeden Mittwoch zu machen… eine Art OpenWeb-Wednesday so zu sagen…

DiSO 2
Steve Ivy (Mitbegründer des DiSo-Projekts) interviewt Tantek Çelik (geistiger Vater der Microformats) zu Distributed Social Networks. Im aktuellen Interview spricht Tantek über URL-Shortener: warum sie das Internet „verletzen“, warum man sie dennoch braucht, warum jeder seinen eigen Shortening-Service betreiben sollte und wie er das Problem für sich gelöst hat.

» Interview: Tantek Celik, Conceptualizing DiSo 2.0
» Tantek Celik on DiSo 2.0: Down to Brass Tacks

Tantek Çelik unterstützt Mozilla
…und nochmal etwas vom Mr. Microformat. Tantek soll dem Firefox-Team während der nächsten Monate mit seiner Open-/Web-Standards Erfahrung zur Seite stehen:

My belief is that by basing our work on simple, open, accessible Web standards, that we can help usher in a whole new era of distributed social Web sites.

» Mozilla hires open-standards guru Celik

Umfassende Microdata-Einführung
Mark Pilgrim befasst sich in seinem frei erhältlichen Online-Buch „Dive Into HTML5“ auch sehr detailliert mit dem Thema Microdata. Sehr empfehlenswert für Einsteiger und Fortgeschrittene!

» „Distributed“, „Extensibility“, & Other Fancy Words

Portability Policy
Die DataPortability Organisation veröffentlicht die Portability Policy. Die Policy soll eine Art standardisierte Zusammenfassung der Privacy Policy und der Terms of Services sein, mit der Plattformbetreiber auf die Portabilität ihrer Daten hinweisen können.

» Portability Policy

(Video) Podcasts
Es gibt wieder neue Folgen von „The SocialWeb TV“ und dem „OpenWebPodcast“:

» SocialWeb TV: Making Sense of Recent News
» OpenWebPodcast: Episode 29 – OpenWebNews

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 🙂