Pixel Life, ein Zufallsfund zur Proxemik

Heute ist mir dieser Zufallsfund mit dem Titel „Pixel Life“ in die Hände gefallen.


2D Display
Quelle: http://vcfgr.deviantart.com/art/Pixel-Life-41416711

Why do I blog this? Die Proxemik hat mich ja lange Zeit beschäftigt. Und ich finde jetzt immer noch genauso faszinierend wie als ich damit anfing mich damit zu beschäftigen. Dieses wunderbare 2D Display ist eine schöne und abstrakte Darstellung für soziale & proxemische Information. Ich mag das Prinzip der Visualisierung nach dem Vorgehen der Minimization of Data Ink von Tufte. Das hier ist vorbildlich umgesetzt. Danke!

Hacking WordPress: Das WP Proximo Projekt

Vor etwa drei Wochen habe ich einen Entschluss gefasst: Ich wollte meine Arbeit, die ich zur Virtuellen Proxemik geleistet habe nicht länger in der Schublade liegen lassen. Zur Virtuellen Proxemik habe ich hier schon einige Beiträge geschrieben. Ich hoffe es werden demnächst noch weit umfangreichere und spannendere Beiträge hinzukommen.

proximo_frontend

Frontend Bild 3 anzeigen Frontend Bild 2 anzeigen Frontend Bild 1 anzeigen

Das Frontend des WP Proximo Plugins:
Hier wird kommuniziert und die „Nachbarschaft“ als Visualisierung dargestellt.

Hacking WordPress: Erste Schritte in WP/PHP

prox_notificationAls Konsequenz meines Entschlusses von vor drei Wochen habe ich mich hingesetzt und begonnen mich mit dem Inneren von WordPress zu beschäftigen, also das Softwaresystem, das WordPress ausmacht (Eine mysql-Datenbank eine Menge PHP-Dateien und viele bunte Grafiken und Stylesheets).

Und dann habe ich einfach begonnen PHP zu lernen, denn das habe ich vorher nie benutzt – zugegebener Maßen weil ich auch ein wenig zu Stolz war auf meine objektorientierten Software Engineering Kenntnisse in Java, so dass ich PHP als billige Scriptsprache ohne Struktur abgetan habe. Nunja, was hilft einem Stolz, wenn das erfolgreichste Bloggingsystem damit realisiert ist und dieser einem im Weg steht? Nichts! Also hab ich einfach angefangen und ich muss sagen… es ist einfach. Viel einfacher als gedacht.

Just do it: Das WP Proximo Plugin entsteht

prox_messengerIch habe begonnen eine Softwareerweiterung für WordPress zu entwickeln, mit dem Zweck Virtuelle Proxemik in die Praxis zu bringen. Natürlich mit dem Hintergedanken, aus der Praxis widerum Forschungsmaterial zu generieren. Sagen wir einfach es ist mein nächstes kleines wissenschaftliches Experiment, diesmal als weltweiter Feldversuch angelegt.

Seit drei Wochen habe ich nun deutlich mehr Zeit am Rechner verbracht, als ich wollte, der regnerische Sommer 2009 hat es mir allerdings leicht gemacht. Das Ergebnis meiner Bemühungen kann man unten links in der Ecke sehen. Es ist ein Plugin, das jeder WordPress-Blogger installieren kann. Derzeit ist es allerdings noch in einer closed beta Phase in der nur ausgewählte Personen dieses testen.

Ergebnisse bisher: Frontend & Backend

prox_autopilotEntstanden ist ein bislang schon mächtiges Plugin, das sich deutlich von anderen Plugins unterscheidet. Es ermöglicht die direkte Kommunikation im Blog (Instant Messenger) aber was viel wichtiger ist, es zeigt auf jeder Seite, wer noch online ist zu diesem Zeitpunkt und wo. Neben Funktionen wie dem Messenger habe ich nach und nach einige weitere Dinge eingebaut. U.a. einen Autopiloten, mit dem man geführte Blogtouren machen kann.

Seit etwa einer Woche scheint jedoch Stillstand zu herrschen. Dem ist nicht so! Ich hatte mich nocheinmal richtig angestrengt und wollte das Plugin eigentlich bei der WordPress Plugin Competition einreichen. Nachdem ich aber eine Schlüsselbedingung nicht mehr rechtzeitig geschafft hätte, habe ich davon abgesehen teilzunehmen und stattdessen weiterentwickelt was das Zeug hält.

Virtuelle Proxemik: A Network-of-Neighbourhood

Was mir seit Jahr und Tag eigentlich schon immer in WordPress gefehlt hat, war die Vernetzung der Blogs untereinander nach dem Schema, wie das bei Facebook und anderen Plattformen möglich ist, nämlich mit der Funktion „Freunde werden“. Klar, es gibt die Blogroll, aber jeder fügt manuell URL’s hinzu und die Hinzugefügten bekommen das meist gar nicht oder erst recht spät mit. Das muss ja nicht sein!

Ursache ist letztlich eine eng begrenzte Wahrnehmung, man müßte schon alle in Frage kommenden Blogs nach und nach abklappern um zu sehen, wo man auf der Blogroll steht. Also habe ich in der letzten Woche eine mächtige Basisinfrastruktur für die automatische Vernetzung von WordPress-Blogs entwickelt.

Ich nenne diese Funktion Network-of-Neighbourhood (NoN), weil sie erlaubt ein Netzwerk aufzubauen durch „Nachbarschaften“. Man kann also mit dem Plugin befreundete Weblogs ganz einfach in ein Nachbarschaftsnetz integrieren und eine Nachbarschaftsanfrage losschicken.

proximo_backend

Das Backend im Administrationsbereich:
Hier kann man als Blogbesitzer die notwendigen Einstellungen vornehmen und sein Netzwerk pflegen.

Nächste Schritte: API, Public Beta und Testing

Die Umsetzung dieser Funktion ist bereits sehr weit fortgeschritten. Derzeit überarbeite ich ein langfristig erweiterbares Protokoll/API für die Nachbarschaftskommunikation zwischen Blogs. Meine Idee ist jedoch etwas weitergehend, denn die Nachbarschaftsbeziehung zu anderen Blogs soll eine erweiterte Wahrnehmung ermöglichen. Besucher sollen künftig ein „Gefühl für die Nähe“ zu anderen Besuchern in anderen Blogs erhalten können. Dafür wird über das Kommunikationsprotokoll ein steter Austausch von Präsenz- bzw. Kopräsenzdaten der Besucher ermöglicht.

Ich hoffe in diesem Monat die Public Beta Phase einläuten zu können, so dass jeder sich selbst ein Bild von der Erweiterung machen kann. Dafür muss ich allerdings noch die Metrikfunktionen einbauen, die Besucher in einen Kontext zueinander bringen. Noch eine Menge Arbeit wartet…

Update:
Wer möchte kann übrigens auf dem Laufenden bleiben über den Twitteruser @virtualproxemic und diesem folgen.
vp_tweeter

Why do I blog this? In Kürze habe ich vor einen umfangreicheren Test zu starten. Sobald das API einigermaßen stabil ist, werde ich das Plugin für einige Personen zum download und testen freigeben. Derzeit arbeite ich aber noch am API, der Metrik zur stabilen Abbildung der Besucher auf der Anzeigefläche unten links (derzeit ist die Anordnung Zufall) und einem Widget für die Sidebar zur Anzeige eine Blogroll 2.0, much work to be done… :-D

Falls das Plugin übrigens erfolgreich werden sollte, steht mein nächstes Plugin-Projekt schon fest: Eine Verwaltung für eigene wissenschaftliche Publikationen im Blog als kostenpflichtiges Plugin plus eventuell ein Literatursharing-Plugin, das auch mit DOI’s und ISBN’s usw. umgehen kann. Dann noch einige Widgets und ein neues WordPress Template das Widget-fähig ist. Generation C64 greift in die Tasten… yess!

WordPress Plugins entwickeln und debuggen

logo-wp-codeWer in den letzten Tagen hier im Blog reingeschaut hat, der hat vielleicht unten links in der Ecke eine merkwürdige neue Einblendung vorgefunden. Eine Reihe von kleinen blauen und grünen Männchen (von kleinen grünen Männchen wollt‘ ich schon immer mal schreiben) hüpfen dort scheinbar ziellos hin und her. Der Hintergrund dieser Männlein ist ein kleines Pet-Project namens „proximo“ das ich gerade verfolge.

Ausgehend von meiner Doktorarbeit zur Virtuellen Proxemik habe ich mich an den Versuch gewagt die darin erforschte Softwarekomponente – die bis dato nur in der E-Learning Software EverLearn zum Einsatz kam – zu portieren auf WordPress (WP) und ein Plugin für WP zu entwickeln, das exakt das Gleiche und noch ein wenig mehr können soll.

Ich denke, dass WordPress genau die richtige Plattform ist, um das Konzept der virtuellen Proxemik in die Breite zu bringen. WP Blogs sind weit verbreitet und jeder mag es Besucher auf seinem Blog zu haben. Zukünftig kann man die Besucher und diese sich gegenseitig beim Blogbesuch ‚live‘ sehen und sich unterhalten. Man muss aber nicht, wenn man nicht will.

Um dieses Plugin zu bauen, ist schon ein wenig Arbeit nötig. Da ich bislang eher wenig in dem PHP-Code von WP verändert habe – ab und in in meinem Theme okay – bin ich ganz froh über jede erdenkliche Hilfe. Und da kommt mir das vom WordPress Experten Frank Bültke gerade erst online gestellte Plugin „Debug Objects“ wie gerufen. Für alle Neueinsteiger und Profis, die den WP-Loop komplett verstehen wollen ein absolutes Pflichtplugin! Danke Frank.

Update 11.7.2009
Die Entwicklung des WP Proximo-Plugins (siehe linke untere Ecke) macht Fortschritte. Viele Features sind bereits hinzugekommen. Hier eine Liste der letzten Änderungen und wichtigsten Funktionen:

  • Ermittlung der Aufenthalts-URL im Blog im PHP. Seitentitel wird dann per AJAX von echten Besuchern geliefert
  • AJAX-Calls werden gegen hacking geschützt über wp_nonce-codes und sind sehr robust
  • Robot-Detection anhand des Useragent, insb. Feed-Bots (inkl. Darstellung als Roboter-Figur)
  • Ausgiebige Tests auf allen möglichen Browsern insbesondere mit der JS-Loader-Sequenz (WIN:IE8, FF, Opera, Safari; MAC:Safari, FF, Opera, iCab, OmniWeb, Camino)
  • Anzeige von relativem Uhrzeit/Datum in den Textmessages
  • Audio-Beep bei neuen/ungelesenen Messages und Notification-Grafik auch nach Sprung auf neue Seite
  • Alle Figuren sauber als PNG neu gerendert, kein GIF mehr
  • Proximo merkt sich ob es ein- oder ausgeklappt ist
  • Gesamter PHP-Code objektorientert und einfach wartbar
  • Automatische Upgradefunktion für eventuelle Datentabellenänderungen (Plugin-Versionierung)
  • Administration mit automatischer Installationsüberprüfung bei verschiedenen Themes des Plugis versehen
  • JavaScript hochkomprimiert (über 55% Speicher eingespart bei Übertragung)
  • Update: Soeben ist der Autopilot als Feature hinzugekommen!

Why do I blog this? Die Entwicklung eines WP Plugins ist eine echte Herausforderung. WP selbst hat eine komplexe Struktur des Ablaufs die selbst Profis nicht „mal eben so überschauen“ bei der Generierung einer Seite als Antwort auf einen HTTP-Request. Dennoch ist sehr viel gute Dokumentation im Netz vorhanden, um schnell dahin zu gelangen wo man hinmöchte. Debug Objects ist perfekt, um auch Konflike des eigenen Plugins in Entwicklung zu entdecken.