07.06.2009

Die ganze Welt ist ein Bug, aber hier ist die Zentrale

Es ist irgendwie nicht mehr so richtig schön, was mir aktuell täglich über den Weg läuft. Es sind Bugs, viele Bugs. Langsam glaubt mir keiner mehr… Selbst sehr gute Freunde grinsend nur noch komisch, wenn ich lautstark nach Stundenlangem suchen wiedermal feststelle “Ein Bug”. Die drei letzten mag ich Euch nun mal vorstellen… Nicht weil die Entwickler der entsprechenden Software so “doof” sind. Kann ja jedem passieren… Vielmehr, einfach um mir diese Dinge mal von der Seele zu schreiben, denn: Es nervt!

Der letzte Bug ist nun vor 5 Minuten auf meinem Monitor aufgetaucht. Er ist beeindruckend. Keine Ahnung, warum man so programmiert, aber es ist mindestens grob Fahrlässig.
Dabei geht es um das Wordpress-Plug-In Twitip-ID, es stellt Wordpress-Blogs in den Kommentaren ein weiteres Eingabefeld zur Verfügung, damit kann ein Kommentar mit dem Twitternamen des Erstellers versehen werden. Komme ich mal zu dem Fehler…
Der Twittername wird über die E-Mail-Adresse mit dem Kommentar verlinkt, ist also nicht fest mit einem Eintrag verzahnt. Nehmen wir nun folgendes an: Ein erster Eintrag mit der E-Mail-Adresse test@test.tdl und dem Twitternamen ‘abc’ wird erstellt, später wird ein weiterer Kommentar abgegeben von einer ganz anderen Person… Die Daten: ‘test@test.de’ und dem Twitteruser ‘xyz’. Der erste Kommentar wird nun mit dem Twitteruser ‘xyz’ verlinkt. Da man sich für die Kommentarfunktion nicht zwingend anmelden muss, kann also genau dies problemlos passieren *grusel*. Ich werde nun also wohl noch kurzfristig ein neues Plug-In schreiben müssen. Das geht einfach gar nicht.

Kurz davor stand Flash CS3 auf meiner Bug-Liste. Ich habe hier mit dem Red5-Server eine App gebaut um Audio/Video-Content live zu streamen. Eine eigentlich sehr simple Aktion: Wenn die Datei zu Ende ist, soll der Player stoppen. Hierzu gibt es ein Event:

onPlayStatus

Obwohl eigentlich in AS3 EventListener dynamisch definiert werden, ist hier die Vorgehensweise eine andere. Die Funktion wird schlicht definiert und dann vom NetStream Objekt im Eventfall aufgerufen. Optional erhält der Anwender die Chance über:

NetStream->Client();

eine Klasse zu definieren, in der im Eventfall die Funktion onPlayStatus aufgerufen wird. Die Doku sagt: “Standardeinstellung ist das erstellte NetStream-Objekt this.”
"Hält sich der Entwickler daran, funktioniert allerdings rein Garnichts. Im Internet finden sich viele Seiten zu diesem Thema. Tenor war – soweit ich gelesen habe – immer: Metadaten der Datei zum Auslesen der Gesamtzeit nutzen, dann mit der bereits gespielten Zeit vergleichen. Damit das Dateiende selbst herausfinden. Welch Lösungsansatz!
Die “echte” Lösung sieht anders aus: Per NetStream->Client(); eine Klasse definieren, welche die Funktion onPlayStatus enthält. Diese wird dann auch planmäßig aufgerufen und liefert den Status “NetStream.Play.Complete” sobald die Wiedergabe abgeschlossen ist.

Der eigentlich überraschendste Fehler überrumpelte mich auf Podhost.de. Per FTP habe ich dort eine Datei hochgeladen. Zu diesem Zeitpunkt nur zum Testen. Genaugenommen habe ich unsere Podcast-Software getestet, die eben alles an Arbeit für mich macht. ID-Tags setzen, Datei hochladen, Blogeintrag erstellen, Feed setzen und Verzeichnisse pingen. Nun der Test verlief erfolgreich, einen Tag später, es gab eine neue Faselcast-Folge, lieferte meine Software nun eine “echte” Datei auf dem Server ab. Mit dem selben Dateinamen wie beim vorherigen Test. Der Upload funktionierte perfekt und es sah alles sehr gut aus. Auch im Admin-Bereich von Podhost wurde mir die wirklich richtige Datei angezeigt (an der Länge und Größe perfekt erkennbar). Irgendwo im internen Cache scheint das Portal sich jedoch noch die alte Datei gekrallt zu haben. Denn ausgeliefert wurde/wird anstelle einer >20 Min Datei ein <20 Sek Jingle.
Zumindest – und das kann man wirklich nicht anders behaupten – der Support ist wirklich gigantisch gut. Ich bin immer wieder überrascht. Telefon, ICQ, E-Mail auf allen Wegen gibt es Infos und die sind unerwartet kompetent. Einzig massiv verbesserungsfähig ist das Webinterface :) Aber das wissen sie selbst…

So, ich will gar nicht weiter meckern. Nun gehe ich weiter auf Bug-Suche….

Keine Kommentare:

Kommentar posten