Seiten

Samstag, 15. Mai 2010

Pivot - Design und Interaktion mit komplexen Daten (bald auch für Silverlight 4)

Pivot ist ein Software der Microsoft Live Labs, die faszinierende neue Möglichkeiten für das Design und den Umgang mit komplexen Informationen in riesigen Datenmengen ermöglicht. Im Sommer 2010 soll es Pivot auch als Silverlight 4 Steuerelement geben. Ein Blick auf Pivot lohnt sich also. Denn Pivot eröffnet neue Perspektiven für den effetiven und intuitiven Umgang mit komplexen Informationsmengen.

Was Pivot ist
Pivot ermöglicht es, Informationen in riesigen Datenmengen zu suchen und zu filtern, ohne, dass man dabei in einer Sackgasse landet oder den Überblick verliert. Wenn man heute im Internet nach Informationen sucht, dann klickt man sich auf einer Website von einem Link zum nächsten. Mit jedem Klick wird die Information spezieller. Der Kontext, in dem die Informationen zueinander in Beziehung stehen, wird zumeist nur über die Links hergestellt. Diese herkömmliche Herangehensweise führt dazu, dass die Komplexität und der verlinkte Bezug der Informationen zueinander sehr schnell verloren geht. Je mehr Klicks man hinter sich hat, umso schneller geht der Überblick über das Ganze, über die Beziehungen der Informationen zueinander und die Komplexität verloren.

Pivot ermöglicht es, den Informationsgehalt von Daten, einschließlich ihrer Beziehungen zueinander in einer neuen Art von Collections zu ordnen und die Daten in einer beeindruckenden visuellen Gestaltung zu präsentieren. Dabei kann der Anwender dynamisch in die Daten hinein- und herauszoomen sowie zugleich die Daten nach speziellen Parametern, z.B. Eigenschaften, Ähnlichkeiten, Gemeinsamkeiten filtern, durchsuchen und gruppieren. Wem diese Beschreibung zu abstrakt ist, der schaut sich am Besten dieses Video an oder besucht diese Seite.

Auf der offiziellen Pivot Website der Microsoft Live Labs ist übrigens für Sommer 2010 angekündigt, dass es ein Silverlight 4 Pivot Control geben wird! Auf der Pivot Site findet man weitergehende Informationen und instruktive Videos.

Pivot installieren
Bis vor Kurzem gab es einige Beschränkungen für die Installation von Pivot. So brauchte man eine Einladung um die Bits installieren zu dürfen und v.a. ein englisches Windows Vista oder Windows 7 Betriebssystem. Mittlerweile kann jeder Pivot installieren, ohne eine Einladung zu benötigen. Auch die Beschränkung auf englische Versionen von Windows 7 und Windows Vista ist weggefallen.

Unbedingt zu beachten sind aber die speziellen Hardware-Anforderungen, die unverändert gelten. Also Windows 7 oder Windows Vista, jeweils mit aktiviertem Aero. Ferner einen 2GHz Prozessor und eine Grafikkarte mit mindestens 256 MB Grafikkartenspeicher.

Wer diese Anforderungen erfüllt klickt auf der Download-Seite von Pivot einfach auf Download und folgt der Installationsroutine. Die Installation lief auf meinem System absolut reibungslos und zügig. Nach der Installation öffnet sich die Pivot-Anwendung automatisch und man kann seine ersten Erfahrungen im Umgang mit fertigen Pivot-Collections machen.

Pivot Collections erstellen
Um eigene Collections für Pivot zu erstellen werden auf der Pivot-Seite zwei Tools zur Verfügung gestellt. Ein Komanndozeilen-Tool und ein Excel-Tool (Excel 2007). Beide Tools stehen auf der Pivot-Seite zum Download bereit.

Für den Anfang ist es empfehlenswert, sich das Tool für Excel 2007 herunterzuladen und zu installieren. Die Installation verläuft schnell und reibungslos. Nach der Installation steht in Excel 2007 ein neues Ribbon-Tab zur Verfügung, mit dem eigene Pivot-Collections erzeugt werden können. Auf der Pivot-Seite ist ein Tutorial bereitgestellt, das die Verwendung des Excel-Tools darstellt. Gleiches gilt für das Komandozeilen-Tool.

Meine erste Pivot-Collection aus 468 Fotos mit dem Excel-Tool
Um die Performance und das Handling einer Pivot-Collection zu testen habe ich eine erste Collection erstellt. Die Collection besteht aus 468 Fotos, wobei die Fotos jeweils eine Dateigröße von etwas über einem Megabyte haben.

Ein Klick auf "New Collection" im Pivot-Ribbon-Tab des Excel-Tools erstellt eine neue Collection-Registerkarte. Dann können über "Import Images" die einzelnen Fotos importiert werden. Je nach dem, wieviele Fotos man importiert und wie groß die Rechnerleistung ist, kann das recht lange dauern. Beim Import der 468 Fotos hat selbst mein Rechner (4 Kerne, 8 GB Arbeitspeicher) ziemlich lange für den Import gebraucht (ca. 15-20 Minuten !). Aber die Mühe lohnt sich.

Tipp: Wenn Excel irgendwann keine Rückmeldung mehr geben sollte, dann einfach etwas Geduld haben. Wenn der Import abgeschlossen ist, reagiert Excel wieder einwandfrei.

Sobald die Fotos importiert sind, stehen zu Anfang 5 Spalten zur Verfügung, wobei in die Zellen einer Zeile der Speicherort, ein Vorschaublid, eine HREF, ein Name und eine Beschreibung eingefügt werden (können). Speicherort und Vorschaubild werden beim Import schon belegt, die anderen Werte können selbst gesetzt werden.

Interessant wird es, wenn man eigene Ordnungsmerkmale einfügt. Das geht recht einfach. Man sollte sich vorher allerding eine Struktur überlegen, damit das Ergebnis auch Sinn macht. In meiner ersten Collektion habe ich z.B. für jedes Foto Werte nach den Ordnungsmerkmalen Personen, Anlaß, Aktion und Objekt eingefügt.

Um Ordnungsmerkmale zu vergeben, vergibt man einfach im Excel-Tool neue Spaltenüberschriften, also in meinem Beispiel Personen, Anlaß, Aktion und Objekt. In den Zellen werden dann einfach die Werte eingefügt. Also z.B. bei Personen die Namen der Personen, die auf den Fotos zu sehen sind, beim Anlaß, das Ereignis, anläßlich dessen das Foto geschossen wurde, etc.

Das Excel-Tool erzeugt später aus den neuen Spalten-Überschriften Gruppen- und Filter-Optionen, anhand derer dann zur Laufzeit gruppiert und gefiltert werden kann. So konnte ich dann etwa in meinem Beispiel folgendes filtern bzw. finden: "Zeig mir alle Fotos, auf denen Person X beim Anlaß Y lachend abgebildet ist, und Objekt Z zu sehen ist."

Und das ist wirklich ziemlich genial: Pivot sucht nicht nur, Pivot ist vor allem ein Tool zum Finden!

Eine Collection wird erzeugt, indem man im Excel-Tool auf "Publish Collection" klickt. Mit "Publish Collection" werden sogleich die DeepZoom-Images erzeugt, und das kann ziemlich lange dauern. In meinem Beispiel mit den 468 Fotos hat das locker eine 3/4-Stunde gedauert. Für eine schnelle Vorschau sollte man "Quick Preview" wählen. Das ist sinnvoll, um nur das Zusammenspiel der Ordnungsmerkmale zu testen, ohne dass auch die DeepZoom-Images erzeugt werden. Da bei der Quick Preview die Images nur mit Platzhaltern dargestellt werden (also nicht schon die Bilder, auch keine Vorschaubilder) geht das natürlich deutlich schneller.

Nach dem Erstellen der Collection über "Publish Collection" wird die erstellte Collection in der Pivot-Anwendung aufgerufen und kann genutzt werden. Mit meiner Collection aus 468 Fotos war ich wirklich gespannt, wie performant das Ganze ist. Und ich war beeindruckt! Extrem schnell und null Verzögerung bei der visuellen Darstellung, wenn man Ordnungsmerkmale wechselt oder mehrere Ordnungsmerkmale neu kombiniert.

Fazit
Das Erlebnis mit Pivot beim Suchen, Filtern und Gruppieren vor allem Finden von Fotos in meiner ersten Collection ist wirklich völlig neu. Kontextbezogen, präzise, zügig und visuell extrem ansprechend. Ich kann nur empfehlen, sich mit Pivot vertraut zu machen. Das Potential eines Pivot Controls für Silverlight 4, das wie erwähnt für Sommer 2010 angekündigt ist, ist enorm.

Nachteilig ist, dass man für Pivot ein ziemlich performancestarkes System braucht. Steht das aber zur Verfügung, so ist Pivot Spass pur!

Also, viel Spass mit Pivot!

1 Kommentar:

  1. Hi Martin...

    ich find Pivot auch ziemlich cool und den Artikel hier auch :-)

    Und ebenfalls, dass die Daten alle schön als XML's abgelegt sind und man so rein theoretisch mit allen möglichen Sprachen drauf zugreifen könnte. Nur die Namensgebung ist m.E. ein bißchen unglücklich (oder Absicht), da man es relativ schnell mit PowerPivot verwechseln könnte. Und Excel, klar mag' ich sowieso :-)

    Gruß (maninweb)

    AntwortenLöschen