Monthly Archive for September, 2008

Ubiquity und Microformats

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

Schöne OAuth - Anwendungsbeispiele

madgex hat vor ein paar Tagen eine OAuth - Library für .net veröffentlicht. Was ich jedoch wesentlich interessanter finde, sind die Referenz-Implementierungen:

Ein weiteres Projekt von magdex ist übrigens der Microformats-Parser UfXtract.

PortableContacts - Hacks

David Recordon stellt auf O’Reilly - Radar zwei der spannendsten Ergebnisse des gestrigen PortableContacts Hackathon (bei Six Apart) vor:

Joseph Smarr and Kevin Marks of Google hacked together a web transformer that integrates Microformats, vCard, and the Portable Contacts API. Given Kevin’s homepage which is full of Microformats, they’ve built an API that extracts his profile information from hCard, uses a public API from Technorati to transform it to vCard, and then exposes it as a Portable Contacts API endpoint. Not only does this work on Kevin’s own page, but his Twitter profile as well which contains basic profile information such as name, homepage, and a short bio.

Ein schönes Beispiel was man mit semantisch ausgezeichneten Informationen machen kann und dass Microformats eben auch (ohne viel Aufwand und mit ein bisschen Transformation) in höherwertige APIs integriert werden können… also keine hCard wurde umsonst geschrieben :)

Brian Ellin of JanRain has successfully combined OpenID, XRDS-Simple, OAuth, and the Portable Contacts API to start showing how each of these building blocks should come together. Upon visiting his demo site he logs in using his OpenID. From there, the site discovers that Plaxo hosts his address book and requests access to it via OAuth. Finishing the flow, his demo site uses the Portable Contacts API to access information about his contacts directly from Plaxo. End to end, login with an OpenID and finish by giving the site access to your address book without having to fork over your password.

Dazu brauche ich nicht mehr sagen, als: Implementieren! Sofort und überall ;)

Portable Contacts - Der neue große Building-Block?

Anlässlich des gestrigen PortableContacts Hackathon bei Six Apart (Impressionen) und dem heutigen PortableContacts-Summit bei myspace beschäftigt sich die aktuelle SocialWeb.TV - Folge fast ausschließlich mit dem neuen “Building-Block”.

Zwar ist die Kritik von Stephen Paul Weber (der DiSo Code-Maschine):

Portable Contacts is an open spec - but it’s a bit of a stretch to call something a few days old and unimplemented as yet a “standard”.

nicht ganz abwegig aber Joseph Smarr (Plaxo), der Initiator von Portable Contacts, überzeugt mit einigen Argumenten warum sich das bald ändern könnte. Portable Contacts baut ausschließlich auf offenen Standards (OAuth, XRDS-Simple, JSON) auf und nutzt die gleiche Vorgehensweise wie die OpenSocial RESTful-API. Diese Eigenschaften machen neue Code-Libraries fast überflüssig (da PC eigentlich nur bestehende Standards sinnvoll verbindet) und gestalten die Implementierung, bei schon implementierter OS RESTful-API, relativ einfach.

Glaubt man der Aussage von Joseph im Video, soll der neue Standard noch bis Ende des Jahres nutzbar gemacht werden. Bei den möglichen Implemtoren hält er sich zwar bedeckt, aber wenn auch “nur” die beiden oben genannten Veranstalter (Six Apart und myspace) und Plaxo diese Schnittstelle umsetzen kann man (trotz Stephens Kritik) wirklich schon fast von einem Open Standard sprechen.

Bin gespannt auf die Ergebnisse des heutigen Summits…

Ubiquity für WordPress (ein Plugin)

Die beste Methode sich mit einer Sache zu beschäftigen ist, einen sinnvollen Anwendungsfall zu schaffen… Bei dem “näher beschäftigen” mit Ubiquity ist ein WordPress-Plugin rausgekommen :)

Das WordPress-Plugin erstellt eine Ubiquity-Suche für das eigene Weblog (Quellcode) mit dem Command “search-<Blog-Titel>”

ubiquity-wordpress-command.jpg

Das kann teilweise (wie im Falle meines Blogs: search-notizblog-a-private-weblog-written-by-matthias-pfefferle) ziemlich lang werden, was aber nicht weiter schlimm ist da auch schon der Anfang des Commands (z.B. search-notizblog) reicht…

Viel Spaß beim ausprobieren :)

Ubiquity (der Vollständigkeit halber)

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

Da bin ich wieder…

So, seit gestern ist mein weblog-freier (und fast internet-freier) Urlaub vorbei und es gibt so viel neues zu bloggen, dass ich gar nicht weiß wo ich anfangen soll :)




Livecommunity powered by six groups