Artikel in der Kategorie 'Web'

Firefox 3.6 stürzt permament ab – YSlow schuld – Update

Gestern hatte ich das Problem, dass nach einem Update mein Firefox effektiv permanent abgestürzt ist. Im “safe mode” lief er problemlos, also musste wohl irgendein Addon die Ursache sein. Da ich nicht motiviert war, jedes Addons einzeln zu testen, bin ich halt erstmal im “safe mode” weitergesurft.

Heute war die Ursache, dank dem Firefoxnutzer Carlos, schnell gefunden: Das Addon YSlow für Firebug hat einen Bug. Ohne YSlow läuft alles wunderbar und so drigend braucht man YSlow ja nicht.

Für diejenigen, die es nicht wissen: YSlow (von Yahoo) überprüft die “Geschwindigkeit” von Webseiten mittels eines kleinen Kriterienkataloges und gibt Tips zur Verbesserung. Halt ein nützliches Helferlein.

Update: Mit der Version 2.0.6 von YSlow, die es seit heute gibt, wurde der Fehler behoben. Zumindest ist mein Firefox noch nicht wieder abgestürzt. ;)

YSlow v2

Soeben hat mich mein freundlicher Browser darauf hingewiesen, dass mal wieder eine Pluginaktualisierung ansteht. Bei dem üblichen Kontrollblick stellte ich mit Verwunderung fest, dass das die beliebte Firebug-Erweiterung-Erweitertung YSlow auf Version 2.x aktualisiert wurde. Dies hat mich dann doch neugierig gemacht, so dass ich die neue Version gleich installiert und getestet habe.

YSlow ist eine Erweiterung von Yahoo für Firebug und bietet Werkzeuge zum Analysieren und Optimieren der Webseitengeschwindigkeit. Dazu führt es eine Reihe von Tests durch, die dann je nach Abschneiden von A (gut) bis F (schlecht) benotet werden.

Mit der Version 2 haben die Yahooentwickler eine Reihe von durchdachten Neuerungen hinzugefügt:

  • Zunächst einmal wurde der Regelsatz um 9 neue Regeln erweitert, die sich zum Teil um AJAX drehen, aber auch kleinere Elemente wie ein cachebares Favicon beachten.
  • Weiterhin kann man nun sich eigene Regelsätze definieren und so Punkte, die die eigene Seite nicht betreffen (wie der Einsatz eines Content Delivery Networks), aus der Bewertung nehmen.
  • Zur Optimierung von Bildern wurde das Tool smush.it in YSlow integriert.

Alles in allem ein paar sehr schöne und durchdachte Erweiterungen. Auf den folgenden zwei Screens sieht man die überarbeitete Oberfläche und den Unterschied durch das Verändern der Regelsätze:

Direkt eine Note besser abgeschnitten… ;)

Natürlich sollte man wissen, was man tut und nicht einfach die Tests so anpassen, bis man gut abschneidet. Alles in allem halte ich YSlow für ein sehr gutes Werkzeug, um seine Webseiten zu kontrollieren. Vieles sollte selbstverständlich sein, aber man übersieht ja immer irgendwas.

Empfehlung!

Frühjahrsputz im Web – IE6 muss weg

Im Laufe der nächsten Monate, könnte etwas wirklich Unerwartetes geschehen. Während der IE8 im März den RTM-Status erreicht, IE7 seit gefühlten Ewigkeiten sogar über Windows-Autoupdate vertrieben wird, ist sein Urahn die Version 6 leider Gottes noch weiter verbreitet als es jedem Webdesigner lieb ist. Während im deutschen Raum sich neuere Versionen oder alternative Browser schon stark verbreitet haben, sieht es in anderen Ländern recht schlimm aus:

Bei gibt es den gleichen Inhalt mit zwei verschiedenen Domains: Eine .de-Domain, die primär von Deutschen, Österreichern und Schweizern besucht wird und eine .net-Domain, die primär von Franzosen, Belgiern und den restlichen internationalen Besuchern genutzt wird.

Zum Vergleich:

  • .net – Auf einen IE6 Nutzer kommen 1,5 IE7 Nutzer und zwei FF-Nutzer
  • .de – Auf einen IE6 Nutzer kommen 1,5 IE7 Nutzer und vier FF-Nutzer

Klingt nicht viel, aber wenn man 20% mit 40% vergleicht, klingt das schon ziemlich anders.

Dass der IE6 ein Dorn im Auge jedes Webdesigners ist, ist allgemein bekannt.  Bei seinem Alter ist das auch kein Wunder… er ist z.B. älter als Windows XP, Google AdSense oder 24 (die inzw. bei der 7. Staffel sind). Mangelnde Unterstützung für aktuelle Standards oder einfaches wie transparente PNGs machen Anpassungen für Webseiten zu Odysseen und eine Verschwendung von Zeit, die produktiver genutzt werden könnte.

Nun hat die norwegische Seite FINN.no damit begonnen, ihren Besucher, die den IE6 nutzen, einen Hinweis zu zeigen, dass sie doch bitte ein Upgrade oder einen Wechsel durchführen sollen. Gleichzeigt rufen sie andere Webseiten auf, es ihnen gleich zu tun. Was geschieht mit so einer Aktion natürlich? Sie breitet sich wie ein Lauffeuer im Netz aus:

Links:

Endlich mal eine Aktion, die meines Erachtens wirklich Sinn macht. Bleibt nur zu hoffen, dass der große Knackpunkt – Firmen-PCs – auch geknackt wird. :)

Ich für meinen Teil werde sehen, wie ich die Aktion unterstützen kann.

Dem Spam auf der Spur (Seltsames via tomogames.com)

Aktuell habe ich ein kleines größeres Spamproblem. Über den leider noch nicht ausreichend gesicherten Kontaktmailer von T³ wurden eine Reihe von Werbemails an registrierte Nutzer verschickt. Das Kontaktformular dient zum Schutz der Emailadressen der Nutzer. Leider kann er sich nicht um den Inhalt kümmern.

So kam es nun, dass seit ein paar Tagen der Mailer für Spam missbraucht wurde. Unter verschiedenen Namen wurde folgender Mailtext verschickt:

Hi,
ein guter Kollege von mir hat einen neuen Online-Shop aufgemacht für Warhammer Fantasy und 40k (Tomogames.com)
Ich will ihm helfen, dass der Shop bekannt wird.
Er gibt bis zu 25% Rabatt auf alles!

hf Death Master

Absender wechselt kreativ mit thematisch passenden Namen und einer nameNummer@(gmx|yahoo).(de|net) Mailadresse. Die Webseite weist dabei ein paar Sachen auf, die etwas fragwürdige Dinge aufzeigt:

  • Technische Realisierung durch eine undurchsichtige Firma in Paraguay (ICI srl.)
  • Bezahlung nur via Vorkasse oder Paypal (was da auch nicht sicher ist)
  • “Erlaubnis zur E-Mail-Werbung” in den Datenschutzbestimmungen (Standardfloskel)
  • Jegliche Spuren und Suchanfragen führen zu einer Reihe mir suspekter Webseiten bzw. Forenthemen zu Spam

Inhaber der Seite ist laut Impressum:

Tomogames-Vertrieb Deutschland
Ralf Banf
Oskar Schlemmer Ring 8
67657 Kaiserslautern

Wenn man nun nach Herrn Banf aus Kaiserslautern sucht, stößt man auf folgende Seiten:

  • Div. Einträge in Branchenbücher als Werbeagentur mit der Domain wab.de, die aber auf eine “Erotik”seite names firstXplanet zeigt
  • kl-portilo.de/PORTILOkonzept.de – Angebliches Affiliatehandling für die Umwelt (Inhaberin: Gabriele Banf)
  • venusgalerie.de – Erotikwebservice (Inhaber: iMedia Internet Entertainment von Hrn. Banf, Jugendschutzbeauftrage: Fr. Banf)
  • wir-leben-jetzt.com – Noch ein Onlineshop der iMedia Internet Entertainment
  • virtualsurfcity.de – Mischung aus firstXplanet und diesmal firstXerotik
  • etc.

Sucht man nun nach dem verantwortlichen admin-c, so stößt man auf den Herren Jürgen Vogel aus Paraguay mit der Mailadresse info@6mem.com. Die Domain 6mem.com zeigt dabei interessanterweise wieder auf firstXplanet. Auch wird die Firma des tech-c (ICI srl. auch aus Paraguay, Geschäftsführer Kurt Vogel) im Impressum von tomogames.com als technischer Betreuer genannt.

Dies alles lies sich nach 1-2h Recherche herausfinden. Ich habe nun mal die entsprechenden Abuse-Stellen angeschrieben und auf die Situation hingewiesen. Allzuviel erhoff ich mir davon nicht. Einzig das Versenden der Bulkmails könnte eventuell ein Ansatzpunkt sein, da dies meist einen Verstoß der AGBs des ISP bedeutet.

Ich werde berichten, was sich da so tut…

jQuery ist toll

Wo ich gerade bei jQuery bin… also das ist mal eine echt tolle Sache. So effizient habe ich glaube ich noch nie Code geschrieben. Da passt der Slogan “The Write Less, Do More, JavaScript Library” eindeutig wie die Faust aufs Auge. Ein kleines Codebeispiel zeigt m.E. recht gut, was ich meine:

// Hide more than 3 rows of a table
  1. if ($("#listbody tr").length > 3) {
  2.   $("#listbody tr").slice(3).hide();
  3.   $("#listbody").append('<tr><td><a id="moreitems" href="#">Zeige mehr Einträge</a></td></tr>');
  4.   $("#moreitems").click(function(){$("#listbody tr").slice(3).fadeIn("normal").end().filter(":last").remove();return false;});
  5. }

Zunächst wird überprüft, ob die Tabelle (eigentlich ist’s tbody) mit der ID #listbody mehr als 3 Reihen enthält. Wenn dies der Fall ist, werden alle Reihen ab der dritten versteckt. Dann wird ein neue Reihe mit einem Link angehängt. Dieser Link erhält dann eine Funktion für das onclick-Event. Die Funktion macht nun:

  1. Nimm alle Reihen ab der dritten.
  2. Zeige sie mit einem Fadeeffekt wieder an.
  3. Mache die letzte “zerstörerische” Manipulation rückgängig (hier slice(3)), womit wir wieder alle Reihen haben.
  4. Filter die letzte Reihe raus (unser hinzugefügter Link)
  5. Entferne diese letzte Reihe.

Dank des sogenannten “Chaining”, wobei ein jQuery-Aufruf immer wieder ein jQuery-Objekt zurückliefert, lässt sich das so wunderbar kompakt schreiben. :)

Bug in jQuery.tablesorter.js

Für jQuery gibt es ein wunderbares Plugin: den Tablesorter. Dieser erlaubt es einmal eingebunden, eine einfache HTML-Tabelle mit einem einfachen Befehl so umzuwandeln, dass der Nutzer sie nach Belieben sortieren kann. Ganz ohne irgendwelchen Programmieraufwand in der darunterliegenden Programmiersprache. Sicherlich kann man nun darüber streiten inwiefern man da eine Fallbackmöglichkeit brauch, aber wenn das Sortieren nur als Gimmick dient, reicht wohl die JS-Lösung.

Nun bin ich beim Rumexperimentieren aber auf ein Problem (was ich erst nach ein paar Irrungen und Wirrungen zuordnen konnte) gestoßen. Der tablesorter erkennt selbstständig die zu sortierenden Datentypen (also ob Text, Zahl, Datum, …). Dabei betrachtet er immer nur die erste Zeile der Daten. Nun hatte ich bei einer Version in der ersten Zeile zwei Zellen mit einer 0 (also Null). Und diese wollte er einfach nicht als Zahl erkennen. Ein Blick in den Code verriet, dass der zugrundeliegende reguläre Ausdruck eigentlich korrekt ist und die 0 als Zahl erkannt werden sollte. Hier der relevante Teilausschnitt (nach den … kommen noch ein paar Alternativen):

Ausschnitt jQuery.tablesorter.js
  1. this.isDigit = function(s,config) {
  2.   var DECIMAL = '\\' + config.decimal;
  3.   var exp = '/(^[+]?0(' + DECIMAL +'0+)?$)…/';
  4.   return RegExp(exp).test($.trim(s));
  5. };

Wobei config.decimal eine JS-Variable für das sprachabhängige Komma ist. Wie man sieht sind der Teil vor und nach der 0 beide optional. Trotzdem wird die 0 nicht erkannt. Erst nachdem ich ein (^0$) als Alternativgruppe hinzugefügt habe, erkennt er nun die 0 korrekt als Zahl… sehr seltsam.

Ich habe nun mal den Autor des tablesorters kontaktiert, um zu sehen, was dieser dazu sagt.

Gamestar 2.0 mal wieder

Was kann man bei so einem Restart einer Webseite noch falsch machen?

1. Man setzt im Newsfeed falsche Links. Statt auf Gamestar.de gingen am Anfang alle URLs auf irgendwas.idg (IDG heißt der Verlag).

2. Man veranstaltet ein Gewinnspiel und der Link im Newsletter auf das Gewinnspiel wird vom Server nicht erkannt.

Beides wurde natürlich recht schnell (2) bzw. langsam (1) behoben. Aber passieren sollte sowas eigentlich nicht. Mal sehen, was Gamestar 2.0 noch so bringt… :)

AJAX 0.1

So… nun ist es geschehen, nachdem ich mit die Tage eine Reihe von AJAX-Frameworks angeschaut habe, habe ich mich heute für ein Framework entschieden und meine erste kleine AJAX-Anwendung programmiert. Entschieden habe ich mich dabei für jQuery. Warum das? So genau kann ich das nicht sagen. Ich habe mir diverse Vergleiche, die verschiedenen APIs und ein paar Tutorials angeschaut. jQuery hatte für alles, was ich in nächster Zeit realisieren möchte, ein paar Tricks (oder fertige Plugins :D ) auf Lager, und zudem zeichnet es sich durch seine geringe Größe (aktuell 15KB gzipped) aus.

Angefangen habe ich mit dem Einbinden dieses Bewertungsplugins und einer Auswertung via AJAX. Mein Dank gilt dabei auch Jörn Zaefferer für sein kleines Tutorial, was mir beim Verständnis geholfen hat.

Web 2.0 ich komme! ;)

FAQ = Frequently Ignored Questions?

Wo wir gerade bei Webseiten sind. Irgendwie macht man sich als Admin doch ein paar Gedanken, wenn einem die Nutzer regelmäßig Fragen stellen, die fast im gleichen Wortlaut im FAQ-Teil der Webseite beantwortet werden. Doch was ist die Ursache dieses Phänomens?

  1. Die FAQs sind zu gut versteckt?
  2. Die FAQs sind zu unübersichtlich?
  3. Die Nutzer wissen nicht, dass die FAQs existieren?
  4. Die Nutzer ignorieren die FAQs einfach?

Ich werde mich die Tage mal mit der Thematik beschäftigen und die Lage analysieren.

Gamestar.de 2.0 = Fehlstart 2.0 ?

Vor ein paar Tagen ist eine der größten Spielemagazinseite im Web 2.0 angekommen: Gamestar.de

Tja… dummerweise scheinen die Zuständigen nichts von entsprechenden Tests zu halten, denn anders kann ich mir nicht vorstellen, wie sooo viel Bugs und Fehler zu stande kommen können. Nun sind ja seit dem Relaunch ja schon ein paar Tage vergangen und die Fehlerzahl (von Java über Rails zu XML-Fehlern) im Verhältnis zu den aufgerufenen Seiten sinkt langsam, aber trotzdem ist das mE für so eine Branchengröße einfach ein Unding.

Bereits vor einer Weile hat das Magazin ein neues klares und sauber strukturiertes Design bekommen. Die neue Webseite ist aber durch möglichst viel Communityfeatures sehr, sehr überladen und es wird auch eine Weile dauern bis man sich zurecht findet.

Auch so manche Entscheidung kann ich nicht nachvollziehen. So hat z.B. jeder registrierte Nutzer (wenn man es denn durch die Fehler schafft) die Möglichkeit einen Blog einzurichten. Ob man das nun unbedingt auf einer Spielewebseite machen muss, ist jetzt eine andere Frage, aber jeden Blog jedes Users schon mit einem “Blog-Tutorial” genannten Begrüßungseintrag zu versehen, ist doch einfach nur dämlich. Somit tummeln sich hundertausende dieser Dummyeinträge auf der Webseite und somit zwangsläufig wohl auch in der Datenbank. Nunja… man kann den eigenen DB-Server aus selbst zumüllen. Die Performance freut sich immer. ;)

Auch das Caching hatte am Anfang arge Probleme, war ich doch ohne mich zu registrieren oder einzuloggen als User xyz eingeloggt. Den Datenschutz wird’s freuen. ;)

Die Redaktion selbst nimmt es mit Humor… kann ja auch nichts dafür. Laut Impressum sind die Schuldigen Zuständingen bei der nbsp GmbH su suchen… irgendwie erinnert mich das ein wenig an die Mautumsetzung. Das Ganze war jetzt wohl keine prestigeträchtige Glanzleistung, auch wenn so große Projekte natürlich kein Zuckerschlecken sind, und hat wohl so manchem Angstellten das Osterfest etwas versaut.

Naja… ich warte nunmal ab, was da so demnächst passiert. :)