Tools & Gadgets

Ubiquity - Revolution der Bequemlichkeit

"Information at your fingertips" neu gedacht

Mit der Möglichkeit einzelnen Lesezeichen im Firefox-Browser ein Schlüsselwort zu verleihen, kann man sich ja schon ganz bequeme Abkürzungsmöglichkeiten beim Surfen verschaffen. So lautet zum Beispiel mein Schlüsselwort für http://de.wikipedia.org/wiki/%s wiki, was bedeutet, daß ich lediglich wiki irgendwas in die Adresszeile eingeben muss, um auf die entsprechende Wikipedia-Seite zu gelangen

Aza Raskin von der Mozilla Foundation, war das nicht genug Bequemlichkeit, denn damit kann man nur ein bißchen mit der abzusenden URL herumspielen, aber mehr auch nicht.

Ein wirklich beeindruckender Ansatz über einen Browser leichter an gewünschte Informationen heranzukommen, ist das experimentelle Firefox-Plugin Ubiquity, daß in einer ersten, erstaunlich stabilen Version, vorliegt. Raskins beschreibt die Idee die dahintersteckt sehr lesenswert in seinem Blogbeitrag "Ubiquity In Depth".

Ubiquity ist ein Art Kommandozeile für den Browser, die (unter anderem) aktuell markierte Texte auswerten kann. Über die Tastenkombination STRG-LEERZEICHEN erscheint ein kleines transparentes Fenster am linken oberen Rand des Browsers und wartet auf die Eingabe eines Kommandos.


(klicken zum vergrößern)

So kann man zum Beispiel euf einer beliebigen Website eine Adresse markieren, Ubuquity aufrufen, das Kommando map absetzen und in einem neuen Fenster öffnet sich direkt die Google-Map der Adresse (siehe Abbildung). Einfacher gehts kaum!

Die Ubiquity-Kommandos basieren dabei vollständig auf Javascript, wobei man die volle Power von jQuery nutzen kann, denn die Entwickler haben das Framework (in der etwas älteren Version 1.2.3) dankenswerterweise direkt integriert. Die so entwickelten "Commands" funktionieren nach dem schon sehr erfolgreichen Firefox-Add-On-Prinzip: jeder der mag kann eigene entwickeln und sie der Öffentlichkeit zur Verfügung stellen. Vor der "Installation" eines neuen Kommandos warnt Firefox mit einer Hinweisleiste und einem Informationsfenster, in denen die Verwendung bestätigt werden muss. Installation ist hier allerdings das falsche Wort, denn Kommandos von Dritt-Anbietern werden als sog. "Subscription" lediglich in Ubiquity eingebunden.

Über about:ubiquity (eingegeben in der Adresszeile) kann man die eigenen Ubiquity-Einstellungen verwalten und alle abonnierten Kommandos einsehen. Ein einfacher Editor chrome://ubiquity/content/editor.htmldient zum Testen von eigenen Kommandos.

Selbst ein Kommando zu entwickeln ist, ein paar Javascript-Kenntnisse vorausgesetzt, denkbar einfach, denn Ubiquity bieten selbst in dieser frühen Entwicklungsphase schon eine Menge Schnittstellen und man hat eben alle Möglichkeiten von jQuery.

Hier ein einfaches Beispiel für einen Ubiquity-Command, der den aktuell ausgewählten Text auf einer Webseite in einem kleinen Informations-Popup am rechten unteren Bildschirmrand anzeigt:

CmdUtils.CreateCommand({
  name: "test",
  takes: {"word": noun_arb_text},
  preview: function( pblock, directObject) {
    pblock.innerHTML = directObject.text;
  },
  execute: function(directObject) {
    displayMessage(directObject.text);
  }
});

Es gibt zwei grundlegende Bereiche um die man sich kümmern muss. Zum einen der Vorschaubereich (preview), also was wird beim Tippen direkt im Kommandofenster angezeigt und zum anderen, was beim Betätigen der ENTER-Taste passieren soll (execute). Sehr schön gemacht ist in diesem Zusammenhang, daß man im Preview-Bereich HTML über Templates anzeigen lassen kann, was gestalterisch keine Wünsche offen läßt.

Mit diesem Rüstzeug kann man wunderbare Mashups erzeugen, die auf Tastendruck verfügbar sind und beliebige Informationen miteinander verknüpfen. Eine Dokumentation der Ubiquity-API gibt es bislang noch nicht, aber zumindest ein kleines Tutorial für Autoren und man kann über chrome://ubiquity/content/builtincmds.js den Code der eingebauten Kommandos studieren.

Hier der Code meines ersten Ubiquity-Commands, der einen User-Agent-String gegen die Community-Datenbank agentarius.net prüft und, wenn vorhanden, direkt zur Gruppenseite springt:

CmdUtils.CreateCommand({
  name: "agentarius-info",
  takes: {"user-agent-string": noun_arb_text},
  author: { name: "Kristof Zerbe", email: "kristof@agentarius.net"},
  homepage: "http://www.agentarius.net",
  icon: "http://www.agentarius.net/favicon.ico",
  description: "Get information about an user-agent-string from agentarius.net",
  preview: function( pblock, directObject) {
    // get the information about the selected user-agent
    jQuery.getJSON("http://www.agentarius.net/service/ubUseragentInfo.ashx",
      { ua:encodeURIComponent(directObject.text), cn:false },
      // get the preview template
      function(responseData){
        jQuery.get("http://www.agentarius.net/service/ubPreviewTemplate.htm",
          function(previewTemplate){
            // setup preview data
            var previewData = {
              icon: responseData.useragentinfo.useragent[0].group.icon,
              group: responseData.useragentinfo.useragent[0].group.name,
              category: responseData.useragentinfo.useragent[0].group.category.name
            };
            // show preview
            pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
        });
    });
  },
  execute: function(directObject) {
    // get the information about the selected user-agent
    jQuery.getJSON("http://www.agentarius.net/service/ubUseragentInfo.ashx",
      { ua:encodeURIComponent(directObject.text), cn:true },
      function(responseData){
        // open the agentarius group page
        Utils.openUrlInBrowser(responseData.useragentinfo.useragent[0].group.url);
    });
  }
});

Wer Ubiquity bereits installiert hat und die Seite http://www.agentarius.net besucht, kann über die eingeblendete Subscription-Leiste dieses Kommando direkt abonniert und ausprobieren.

Zur Zeit vergeht kein Tag, an dem nicht ein Dutzend neuer Kommandos veröffentlicht wird. Dies geschieht zum einen auf der Mozilla Labs-Seite "Commands In The Wild" und zum anderen über die sog. Ubiquity Herd (Herde), einer auch recht pfiffigen Idee zur Verbreitung von Software: jeder Ubiquity-Benutzer kann sich das sog. Herd-Kommando abonnieren, das zentral, aber anonym, protokolliert welche Commands er verwendet. Diese Informationen werden dann in einer großen Liste veröffentlicht, die man über das Kommando herd abrufen kann. Ganz nebenbei entsteht so direkt ein Ranking der beliebtesten Kommandos und der Entwickler kann sehen, wer noch Spass am eigenen Kommando hat.

Weitere Informationenzum Thema:

kick it on dotnet-kicks.de AddThis 2 wikio-Stimme(n) Trackback-Url...

Keine Kommentare bislang...

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Beitrag 268

  • Datum: 04.09.2008
    Kategorie: Tools & Gadgets
    Zugriffe: 2.483
    Kommentare: 0
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei