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.

Lesetipp zu Social Media

mash_sponFür alle, die Nachrichten und Tipps rund um Social Media suchen finde ich seit langer Zeit immer noch Mashable.com eine der besten Adressen im Netz. Ähnlich wie Techcrunch zu den neusten Startups alle Infos hat, bietet Mashable Nachrichten zu allen bedeutsamen social Softwares.

Für alle WordPress-Blogger hält Mashable einen ganz besonderen Fundus bereit, die „WordPress Resource Lists, Resources & How-Tos“. Dort gibt es eine Auswahl der besten Plugin-Tipps der schönsten Themes und viele weitere Tipps. Sehr empfehlenswert!

Why do I blog this? Da ich gerade an einem Plugin für WordPress entwickle, ist mashable für mich eine gute Quelle für Inspiration. Auch für Plugin-Entwickler gibt es dort Tipps und Hilfen.

Weblin offenbar kurz vor dem ‚Aus‘

weblin_logoNachdem ich mich ja lange Zeit mit Präsenztechnologie in meiner wissenschaftlichen Forschung beschäftigt habe, und kommerzielle Versuche zu diesem Thema genau beobachtet habe, überrascht es mich nicht sonderlich, dass mit Weblin nun ein Produkt in diesem Bereich offenbar vor dem „Aus“ steht.

In den klassischen Startup-Info-Quellen liest man:

Ursachen des Misserfolgs

Woran es nun gelegen hat, und ob Weblin lediglich „combots 2.0“ war, wird sich wohl demnächst erst klären. Ich war von Beginn an sehr skeptisch aufgrund folgender Dinge/Indikatoren:

  • Weblin hat einen Preis verliehen bekommen vom Staat bzw. Land – Das sind oft erste Warnzeichen, denn was der Staat üblicherweise toll findet ist meistens hinter der Zeit zurück.
  • Bis zum Schluss gab es keine Lösung, die ohne zusätzliche Softwareinstallation lief – Jeder weiß, dass zusätzliche SW-Installationen eine hohe EInstiegsbarriere für neue Nutzer sind, zumal es von anderen Anbietern Lösungen als Firefox-Plugin gab, die ihren Zweck erfüllten.
  • Das Modell mit „virtuellem Nippes“ Geld zu verdienen schien mir äußerst zweifelhaft – Ich hab es ja selbst ausprobiert, mehr als ein kurzfristiger Unterhaltungseffekt war nicht drin, danach nervt es nur noch, genau wie RocketOn.
  • Die Lösung schien mir viel zu invasiv bzw. aufdringlich, sie stellte sich selbst in den Vordergrund, denn im wahrsten Sinn des Wortes standen die Avatare und nicht die Webseite im Vordergrund.
  • Mit das größte Problem schien mir, dass man nur wenn man EXAKT auf der selben URL wie ein anderer Besucher im Web war, auch jemanden gesehen hat. Dieser Tunnelblick hilft mir nicht! Die Menschen in der Stadt erst dann zu sehen, wenn ich in jeden einzelnen Laden hineingehe (dann aber alle anderen nicht mehr zu sehen), wäre ein recht armes Erleben von sozialem Raum.

Wo genau könnte also die Zukunft in diesem Bereich liegen? Was könnte man anders machen? Immerhin ist/war mit Heiner Wolf jemand dabei, der die Präsenztechnologie sehr gut kennt, an mangelndem Fachwissen hat es wohl eher nicht gelegen.

Ich bin der Überzeugung, dass es nach wie vor eine gute Idee ist, die menschliche Präsenz im globalen Dorf zu verbessern. Nach wie vor sieht man die Besucher der Webseite nicht, sondern nur die Spuren in Form von Besucherstatistiken (vielleicht noch per GeoIP mit Ortsangabe).

Aus meiner eigenen Forschung und den Ergebnissen meiner empirischen Untersuchung zu Präsenztechnologie weiß ich, dass sich damit zum Beispiel die Verweildauer auf der Webseite verdoppeln lässt. Das ist ein gewichtiges Argument für eine solche, „Social Technology“.

Wie könnte es besser gehen?

Ich denke, dass man Präsenztechnologie konsequent in der Breite einsetzen kann ohne den Mega-Nerv-Faktor bestehender Lösungen wie z.B. RocketOn oder Firefly. Die Existierenden Lösungen beachten aus meiner Sicht folgende Dinge nicht oder nur ungenügend:

  • Nutzer von Webseiten wollen nicht bei ihrer primären Tätigkeit (Surfen im Web) gestört werden, wenn also Präsenztechnologie ins Spiel kommt, darf sie keinesfalls derart invasiv sein, den Nutzer bei seiner Tätigkeit zu behindern. Große Avatare stören da aber nur. Am besten bringt das für mich folgender Beitrag bei Beat Doebli auf den Punkt: Why dots? mit dem zugehörigen YouTUBE-Video.
  • Besucher von Webseiten wollen u.U. gern weiterhin anonym bleiben. Nicht jeder möchte beim Besuch bestimmter Seiten „gesehen werden“ bzw. indentifiziert werden, oder gar seinen Besuch mit seiner Identität verknüpft in einer Datenbank eines Präsenztechnologieanbieters wissen.
  • Jede Präsenzkomponente, muss irgendwie die Anwesenheit von Personen an den Besucher kommunizieren, dafür braucht es ein Display (akustisch, optisch, usw.). Der Flächenverbrauch für ein optisches Display darf nur minimal sein, da die Webseite im Vordergrund steht. (Keine aktuell verfügbare Lösung erfüllt dieses Kriterium)
  • Webseitenbetreiber möchten nicht, dass an ihnen „vorbei“ kommuniziert wird, ohne dass sie „dabei“ sein können. Niemand wird eine Präsenztechnologie unterstützen, bei der er nicht wirksam selbst Einfluss nehmen kann als Seitenbetreiber.
  • Präsenztechnologie muss unbedingt dauerhaft einen ehrlichen Nutzen anbieten. Es muss für mich persönlich hilfreich sein, sie einzusetzen. Wenn ich z.B. Gleichgesinnte dadurch finde, ist das ein Nutzen. Wenn ich dadurch einen Eindruck von der Aktivität anderer im Netz bekomme, ist das ein Nutzen. Und wenn ich dadurch ein sozial angenehmeres Gefühl beim Besuch einer Webseite habe ist das ein Nutzen.

Zusammenfassend möchte ich behaupten: Präsenztechnologie der hochinvasiven Art ist eindeutig gescheitert. Denn…

  • Die Webseite verdeckende Avatare sind keine gültige Lösung des Problems der Unsichtbarkeit der Besucher.
  • Einen Tunnelblick auf eine URL anzubieten ist keine gültige Lösung des Problems der Unsichtbarkeit der Besucher.
  • Die Anonymität der Besucher einer Webseite aufzuheben ist keine gültige Lösung des Problems der Unsichtbarkeit der Besucher.

Kleiner Trost für Weblin

Der twitter Businessplan, wie er bereits karikiert wird.

twitter_business_small
Quelle: Geek & Poke (via Martin Ebner)

Update 26.6.2009
Für alle die nicht genau verstehen, was Weblin eigentlich ist, hier ein Video bei YouTUBE von der offiziellen Weblin-Seite. Weitere „verwandte“ Videos werden dort ebenfalls gezeigt.


Quelle: Weblin Tutorial bei YouTUBE

Update 27.6.2009
Ich hab mich aus gegebenem Anlass gestern nochmal mit Weblin beschäftigt und die Softwareerneut unter meinem Windows XP installiert, weil ich zumindest den aktuellsten Stand der Software nochmal selbst einschätzen wollte. Hier ein Bildschirmfoto von meiner Session:

weblins_1_small
Bildschirmfoto Weblin-Homepage mit Weblin aktiviert unter Windows XP

Ich finde eines wird daran doch ziemlich schnell deutlich, die Weblin Avatare verdecken einen ganz schön großen Teil der Webseite. Direkt nach der Softwareinstallation wollte ich meine Profilmerkmale ändern, was dann auf der Weblinseite geschehen soll. Doch vor lauter Avataren, war man stets nur dabei die Sicht „freizuräumen“, um an die notwendigsten Bedienelemente (sogar die Scrolleisten des Fensters) zu gelangen.

Es sind ja nicht nur die Avatare, sondern deren stets aufsteigenden Sprechblasen, die von der besuchten Seite im Prinzip nur recht wenig Unüberdecktes, Sichtbares übrig lassen. Ich habe leider auf die Schnelle auch keinen Knopf gefunden, um die Weblins mal kurzzeitig auszublenden, um z.B. die Formularfelder für meinen Avatar in Ruhe auszufüllen.

Mag sein, dass ich völlig falsch liege mit meiner Ansicht zu 3D Avataren auf einer 2D Webseite, aber definitiv etwas zu weit geht es, wenn die Avatare auch noch den Rest des Windows-Systems besetzen, so wie hier gezeigt, wo die Weblins sogar außerhalb des Browsersfensters „unterwegs“ sind.

So richtig absurd allerdings wird es, wenn ich für die Kommunikation mit anderen Smileys kaufen muss, die in jedem anderen Instantmessenger gratis sind. Siehe folgender Screen:

weblin_2_small
Kaufen eines Smileys, um sich ausdrücken zu können im Chat.

Virtual Goods hin oder her, ich denke das ist einfach ein bissel zuviel verlangt. Wenn ich in Skype oder jedem anderen Messenger für meine gesetzen Smileys Geld zahlen sollte, ich glaube ich würde echt anfangen mir gewisse Fragen zu stellen.

Update 10.8.2009
zukunft_weblinSoeben lese ich, dass Weblin quasi übergeht in eine neue Firma. „Die Zukunft von Weblin heißt Club Cooee“ kann man derzeit auf der Weblin Seite lesen. Die bestehenden Weblin Nutzer werden nun offenbar transferiert in ein neues System namens Cooee.

club_cooeeVon Club Cooee hab ich vorher noch nichts gehört. Das werde ich mir mal genauer ansehen bei Zeiten. Die Webseite schaut aus nach einer Art „Second Life in a Box“. Eine Art begrenzer 3D Raum, der ähnliche Dinge wie SL bereitstellt. Das ist definitiv etwas anderes als der Versuch den Browser mit Präsenztechnologie zu erweitern. Ob die Leute die Weblin aber genau aus diesem Grund genutzt haben (erweiterte Browserfunktionalität) sich in eine 3D-Box teleportieren lassen?

Why do I blog this? Weil ich gerade an einer vielleicht besseren, zumindest aber anderen Lösung arbeite! Ich entwickle ein WordPress Plugin, dass diese Mängel beheben und echten Nutzen stiften soll.