Eine kleine Fuck IE6 PHP Klasse

24 02 2009

Aktuell soll ja wieder mal der IE6 endlich sterben. In Norwegen sind einige große Nachrichtenseiten mit einer IE6-Warnung unterwegs und der IE6 Death March ist auch unterwegs. Ich verkaufe schon seit einiger Zeit IE6-Anpassungen nur noch als extra zu bezahlende Zusatzoption, wobei es bei mir dank semantisch sinnvollem Code hier nur um optische Feinheiten geht, die ich für entbehrlich halte. Wie auch immer: Bisher hat kein Kunde Aufpreis für den IE6 zahlen wollen. Geht doch.

Nun baue ich gerade meine Lifestream-Seite auf und befreie mich bei der Gelegenheit von jedem IE6-Mist. Meine Contentboxen hat der IE6 schlicht gar nicht angezeigt (wohl aber konnte man die unsichtbaren Links anklicken), so dass ich mich entschieden habe, dem IE6 und älteren Versionen einfach alle Styles vollständig wegzunehmen und stattdessen eine rote Alarm-Box einzublenden. Die Inhalte bleiben vollständig nutzbar, es sieht nur total scheiße aus. Sehr befriedigend, kann ich so den IE6-Nutzern doch etwas von der Hässlichkeit vermitteln, die dem IE6 innewohnt.

Zu diesem Zweck habe ich eine kleine statische PHP Klasse geschrieben, die ich hiermit gerne zur Verfügung stellen möchte. Wer Lust hat, kann die einfach für sich anpassen und in seine Projekte einbinden. Ich habe mich gegen eine clientseitige Lösung mit CSS und/oder JavaScript entschieden, weil ich "gute" Besucher nicht mit dem für sie sowieso unsichtbaren IE6-Code belasten wollte. Ich denke, das ist eine gute Idee.

Die Klasse ist recht simpel gestaltet und schreit geradezu danach, bei Bedarf verfeinert zu werden (mir reicht das erst mal so). Also in Kürze:

  1. Einbinden der Klasse, etwa indem man den Code direkt in sein Projekt kopiert oder als Datei abspeichert und mit require_once('PFAD/fuck_ie6.class.php'); einbindet.
  2. Da die Klasse statisch ist, muss sie nicht instanziiert werden. Man ruft also die drei statischen Methoden wo man sie braucht.
  3. Folgende Methoden und Variablen stehen zur Verfügung:
    • fuck_ie6::is_ie6() gibt true zurück, wenn der Besucher mit einem IE4, 5 oder 6 unterwegs ist, sonst false. Praktisch, wenn man bestimmte Inhalte wie Stylesheets ohne Conditional Comments für diese Besucher aus- oder einblenden möchte. Im Prinzip ist das nur eine sehr simple RegEx.
    • fuck_ie6::print_style() und fuck_ie6::print_alert_box() printen den Inhalt der Variablen $alert_style und $alert_content in Abhängigkeit vom Browser des Besuchers. Die beiden Methoden ersparen einem also nur die if-Abfrage mit fuck_ie6::is_ie6() im Template ein.
    • Die beiden Variablen $alert_style und $alert_content enthalten den Style und den Code, die für die Alarm-Box genutzt werden sollen. Hier finden Anpassungen an die eigenen Wünsche statt.

<?php
/**
* a very simple static class for sniffing Internet Explorer 6 and below
*
* can detect whether the user comes with an annoying IE (version 4,5 or 6)
* additionally holds content and styles for a red alert box
*
* @author	Gregor Nathanael Meyer <Gregor [at] der-meyer.de>
* @license  http://creativecommons.org/licenses/by-sa/3.0/de/ Creative Commons cc-by-sa
* @version  0.1  first release
*/
class fuck_ie6
{
  /**
    * the style block used for the alert box
    * @static
    */
  public static $alert_style = '  <style>
  .errorBox {
    background: #fbe3e4;
    color: #8a1f11;
    border: 2px solid #fbc2c4;
    width: 80%;
    padding: 25px;
    margin: 0 auto;
    font-size: 1em;
    line-height: 1.3em;
  }
  </style>';
  
  /**
    * the HTML of the alert box
    * @static
    */
  public static $alert_content = '<p class="errorBox"><strong>Alarm:</strong> Offensichtlich bist Du mit einem alten Internet Explorer (6.0 oder älter) unterwegs. Da dieser Browser aus dem Jahr 2001 die auf dieser Seite genutzten modernen Webstandards nicht hinreichend unterstützt, habe ich das visuelle Beiwerk für Dich deaktiviert. Die Inhalte sind weiterhin erreichbar.</p>';
  
  
  /**
    * the IE6 detector function
    * uses just a simple RegEx to read the UA string
    * @static
    */
  public static function is_ie6()
  {
    return preg_match('#^Mozilla/4.0 \(compatible; MSIE [456]#i', $_SERVER['HTTP_USER_AGENT']) ? true : false;
  }
  
  /**
    * prints the style block in case of IE<=6
    * @static
    */
  public static function print_style()
  {
    if ( self::is_ie6() )
    {
      echo self::$alert_style;
    }
  }
  
  /**
    * prints the alert box content in case of IE<=6
    * @static
    */
  public static function print_alert_box()
  {
    if ( self::is_ie6() )
    {
      echo self::$alert_content;
    }
  }
}

Ein Beispiel könnt ihr bei meinem Lifestream sehen.


Eine verfickte Stunde verloren!

05 12 2008

Aaaaahhhgh! Verdammte Scheiße. Ich habe gerade eine ganze Stunde verloren, weil ich einen wirklich guten Beitrag über den Spice-Hype versehentlich verloren habe. Verloren? Meine Maus hat eine Daumentaste, die ich nie, nie und nie benutze (außer bei Ego-Shootern, wo ich sie dringend zum Schleichen brauche) und die im Browser eine Seite zurück geht. Wer braucht sowas? Wozu gibt es Mausgesten? Gerade habe ich versehentlich da drauf gedrückt und etwa damit einen inzwischen wirklich langen Beitrag aus dem Gedächtnis meines Firefox gekickt. Ich könnte sowas von kotzen, denn das war der komplexeste Beitrag, den ich seit langem geschrieben habe.

Und warum stellt der Firefox den Inhalt von Textareas nach der Rückkehr nicht wieder her? Also doch kein ausgefuchster Beitrag über Spice.


Layer-Ads Wut im Besonderen

03 12 2008

Ich liege gerade im Bett und wollte schnell noch etwas mit dem Handy im Netz nachschlagen. Aber Pustekuchen! Die Seite mit der gesuchten Information nervt mit Layer-Ads (in dem Fall 1&1). soweit kein Problem, aber das Drecksteil kommt via JavaScript beim Scrollen einfach mit. Auch das wäre noch kein Hindernis (der Webstandards-Befütworter spricht hier von Barriere), wenn damit auf kleinen Bildschirmen der Schließen-Knopf nicht niemals sichtbar werden würde. So eine Scheiße, echt mal!

Das ist allemal noch nerviger als die Layer-Ads, deren Schließen-Knopf noch mal eben ein Popup öffnet, statt die Werbung zu schließen. Oder die Layer-Ads, deren Schließen-Knopf erst nach einigen Sekunden überhaupt mal erscheint. Eigentlich ist jeder Layer-Ad nicht nur ein bisschen störend, sondern ein guter Grund, andere Seiten zu nutzen. Ich hasse die Dinger.


Lösungsansätze für das Phishing-Problem bei PayPal und Co.

01 12 2008

Bei jeder PayPal-Zahlung habe ich Angst. Der übliche Workflow lädt nämlich geradezu ein zum Phishing: Man klickt irgendwo auf einen irgendwie gearteten "Bezahlen"-Button und wird auf die Paypal-Bezahlseite weitergeleitet. Wer jetzt nicht peinlich genau auf die Domain und die Signatur achtet, dem könnte man derart leicht eine gefälschte PayPal-Bezahlseite unterjubeln, dass es nur so brummt: Einfach per Copy and Paste so eine Bezahlseite kopieren und die Werte des Eingabefeldes über ein eigenes Script umleiten, schon hat man die Zugangsdaten des PayPal-Nutzers. Wenn man danach die echte PayPal-Seite aufruft, wird der Bezahlvorgang sogar erfolgreich abgeschlossen und der Nutzer bemerkt den Account-Diebstahl nicht mal.

Dieses Phishing-Risiko besteht bei allen Diensten, die so arbeiten, nicht nur bei PayPal und das hat einen ganz simplen Grund: Die Dienste befürchten einen Komfortverlust beim Nutzer und wenn die Bezahlung nicht einfach und schnell ist, nutzen die Kunden andere Dienste. Ein echtes Dilemma, denn technisch gäbe es verschiedene Lösungsansätze, die aber eben alle mit Komforteinbußen verbunden wären.

PayPal selber führt gerade zwei Sicherheitsfunktionen ein, die aber in meinen Augen das grundsätzliche Problem nicht beheben, sondern lediglich die Symptome mindern:

Verfahren Nummer eins kostet einmalig 4,95€ und beschert einem ein kleines Gerätchen, das alle 30 Sekunden eine sechsstellige Zahl generiert, die nur PayPal (und eBay) kennt. Diese Zahl gibt man beim Login zusammen mit Benutzername und Kennwort ein und weist so recht sicher nach, dass man der Accountinhaber ist und nicht jemand, der die Accountdaten geklaut hat. Geklaute Accountdaten werden damit weitgehend wertlos, müssen also nicht mehr so stark geschützt werden, Phishing läuft weitgehend ins Leere. Man kann nur noch im Moment des Phishings den dann gültigen LogIn-Code ausspähen und den einen Transfer verändern. Diese Lücke lässt sich weitgehend abdichten, ob PayPal das auch macht, steht auf einem anderen Blatt. Andererseits ist das vorerst auch gar nicht nötig, denn dieses Feature muss erst vom Nutzer aktiviert und bezahlt werden, und man muss ständig so einen lästigen Schlüsselanhänger parat haben. Weit verbreiten wird sich das also nicht und genau da liegt der Trick: Für Angreifer ist es einfacher, sich auf Nutzer ohne dieses Feature zu konzentrieren und die Leute mit TAN-Token in Ruhe zu lassen.

Verfahren Nummer zwei ist etwas handlicher und funktioniert ein wenig wie PayBox damals (bzw. noch heute in Österreich): Das Handy wird in den Bezahlvorgang einbezogen: PayPal akzeptiert Zahlungen nur mit einem per SMS verschickten Authentifizierungscode. Wer das Handy und das Passwort hat, hat also die Macht. Die Kosten für die SMS berechnet PayPal dem Nutzer. Ein durchaus angenehmes Verfahren, für das das oben gesagte ebenfalls gilt: Zu aufwändig anzugreifen, solange es genug Nutzer ohne das Feature gibt.

Beide Verfahren lassen sich auch ohne das jeweilige Sicherheitsmedium benutzen, in dem Fall werden dem Nutzer zwei vorher festgelegte Sicherheitsfragen vorgelegt und die richtigen Antworten schalten den Transfer frei. Aber beide Verfahren gehen das zentrale Problem nicht an: Der Bezahldienst authentifiziert sich nicht wirklich dem Benutzer gegenüber. Klar gibt es da ein Sicherheitszertifikat, das man sich im Browser anschauen kann und das man überprüfen sollte. Aber ich kenne niemanden, der das macht und auch ich selbst mache das nicht immer. Die meisten Leute wissen nicht mal, wie man das überprüft geschweige denn ist ihnen klar, was es überhaupt mit SSL-Zertifikaten auf sich hat. Das kann keine allgemeingültige Lösung sein. Das Verschicken eines Authentifizierungscodes per SMS ist schon ein guter Ansatz, wenn jetzt noch das Passwort erst einen Schritt nach dem Code abgefragt würde, wäre auch das Passwort vor Fehleingaben geschützt, weil der PayPal sich gleichzeitig mit diesem Code beim Nutzer authetifiziert (bzw. durch die Tatsache, dass ihnen die Handynummer bekannt ist). Selbst da fallen mir noch Angriffsszenarien ein, aber die sind weit entfernt vom Massenphishing und daher nicht so gravierend. Ich werde jedenfalls auf das SMS-Verfahren umstellen, wenn die SMS zu vernünftigen Preisen versendet werden. Genau genommen, hätte ich es längst gemacht, wenn die nur eine Minute gültige Aktivierungs-SMS käme. Mit sowas steht und fällt das System, denn wenn der Aktivierungscode nicht kommt, kann man nicht bezahlen.

P.S. apropos PayBox. Dieses System war wirklich gut, simpel zu handhaben und immens praktisch und sicher. Man musste nichts weiter machen, als seine Handynummer anzugeben und den Anruf vom PayBox Computer abzuwarten. Dort wird einem der Betrag genannt, der Empfänger und um die Eingabe der PIN gebeten. Gibt man die ein, wird die Zahlung freigegeben. Nix mit mehrehren Passwörtern oder gar TANs hantieren. Das System ist damals aus mehreren Gründen in Deutschland gescheitert: Der wichtigste war, dass 10 DM pro Jahr, die der Nutzer bezahlen musste, nicht ganz wenig sind. Was sollte das? Wollte man unbedingt scheitern?

P.P.S. die payPal-Hotline nervt total, nicht nur wegen des lästigen und wortreichen Voice-Menüs für 14¢/min, sondern auch weil sie mich für doof halten (gehen wir zusammen noch mal die Rufnummer durch…) und mir dann nicht weiter helfen (Probieren Sie es noch mal in ein paar Stunden und melden Sie sich nochmal, wenn das immer noch nicht klappt.). Fast acht Minuten vertane Telefongebühren.


XDA-Projekt: Resümee

27 11 2008

So, ab übermorgen habe ich keine Handy-Flatrate mehr, das XDA-Projekt ist vorbei. Ich schreibe einen abschließenden Artikel und erfreue mich an meinem XDA, den ich behalten darf.

Das Gerät

Zum Gerät habe ich bereits eine Menge geschrieben also nur noch eine Kurzfassung:

  • Windows Mobile ist und bleibt doof.
  • Eine Auflösung von 320x240 reicht zum Surfen nicht aus.
  • Opera Mobile 9.5 ist der brauchbarste Browser für Windows Mobile, aber Kilometer weit entfernt vom Safari auf dem iPhone. Der IrisBrowser ist noch nicht weit genug. Fennec (der mobile Firefox) gibt es noch nicht. Leider klappt auch mit Opera Mobile das Surfen nicht mehr auch nur ansatzweise flüssig, seit ich ein Update auf Windows Mobile 6.1 und die aktuelle Opera Mobile Beta gemacht habe: Häufig passiert einfach eine Minute lang gar nichts und ich habe das Gefühl, schon mal flüssiger gesurft zu haben. Kein Spaß, nur noch Notnagel das ganze.
  • Die Synchronisation mit Thunderbird/Lightning unter Vista funktioniert mit BirdieSync prima, gut angelegte 20€.
  • Das Gerät ist recht träge und hängt gelegentlich für ein paar Sekunden. Im Vergleich zum iPhone liegen Welten dazwischen, was flüssige Bedienung angeht.
  • Trotz alledem mag ich das Gerät und halte es für das beste Handy, was ich je besessen habe. Traurig, oder? Windows Mobile ist nämlich allemal besser als alle proprietären Handy-Betriebssysteme, die ich bisher gesehen habe. Und es ist auch allemal besser als Symbian S60. Kein Wunder, dass das iPhone so eingeschlagen ist.
  • Die Internetfreigabe via Bluetooth-PAN und USB-Kabel klappt prima. Während des Umzugs hatte ich gut zwei Wochen, das ausgiebig zu testen. Leider bricht die Verbindung ab, wenn Anrufe eingehen.
  • Gute Software für Windows Mobile ist leider Mangelware. Wann immer ich nach einer Softwarelösung gesucht habe, habe ich höchstens fragwürdige Bezahlsoftware im Bereich ab 10€ gefunden. Open Source? Gegen Null. Wirklich gute Software? Gegen Null. Geht man hingegen in den AppStore von Apple, wird man überschüttet mit brauchbaren kleinen Programmen für jeden Zweck. Na gut, außer denjenigen Zwecken, die Apple für doof hält wie iPhone als Modem nutzen und so.

O2

Man gewöhnt sich schnell an eine Flatrate ins Internet und in alle Netze, aber 100€ im Monat bei zweijähriger Vertragsbindung auch ohne suventioniertes Handy ist ne happige Ansage. Beim Handy-Discounter bekommt man 1 Gigabyte (innerhalb eines Monats zu verbrauchen) für 10€ und die Gesprächsminute für 9¢. Schnell gerechnet: 1000 Gesprächsminuten und 1000MB bekommt man dort für 100€ und zwar sehr flexibel pro Minute und ohne irre lange Vertragsbindung abgerechnet. 1000 Minuten pro Monat sind etwas mehr als eine halbe Stunde Gespräch pro Tag, da kann sich jeder selber ausmalen, ob Genion XL auf die zwei Jahre gesehen für ihn lohnt.

Das Netz von O2 wird gerade massiv ausgebaut und hat das auch dringend nötig: Hier in Düsseldorf ist die Netzabdeckung sehr gut, aber auf meinem Trip nach Leipzig im Sommer konnte ich ausprobieren, wie schlecht die Abdeckung außerhalb der Ballungsgebiete ist: Surfen auf der Autobahn war eine Quälerei, selbst wenn man nicht ständig zwischen T-Mobile und O2 hin und her wechselt. Die Datenraten mit HSDPA sind aber prima, wenn man denn HSDPA bekommt. E-Plus ohne HSDPA ist da wahrlich keine Alternative.

Die Hotline von O2 konnte mir bisher immer helfen und ist vor kurzem verbessert worden: Es gibt kein komisches Telefonmenü mehr, sondern man bekommt jetzt direkt und ohne große Warterei einen Berater dran, der einen im Zweifel an die richtige Stelle weiterleitet. Sehr schön. Weniger schön ist, dass ich gestern nach so einer Weiterleitung fast 20 Minuten in der Warteschleife hing. Immerhin kostenlos, weil ich ja keinen Online-Vertrag habe, der mir 15% Rabatt auf meine gesamte Rechnung geben, aber eine sauteure Hotline bescheren würde. Da sind 20 Minuten unhaltbar, weil man da bequem mehr als 10€ für auf den Tisch blättert.

Ich habe jetzt also wieder Genion S ohne Handy und das Internet Pack M (200MB für 10€ pro Monat, erträglich). Ich hätte ja Genion L genommen, aber da lockt wieder eine Zweijahresbindung, die ich keinesfalls akzeptieren werde. Was soll das? Wieso versucht ein Handy-Provider mich ohne subventioniertes Handy für zwei Jahre zu binden? Weil das schon immer so war? Auch Genion S mag ich für Neukunden nicht mehr empfehlen, weil es inzwischen 2,50€ Monatsgebühr kostet und einem pro Minute 19¢ abnimmt. Das ist mehr als doppelt so viel, wie Fonic und Konsorten nehmen. Indiskutabel eigentlich. Ich bleibe nur dabei, weil ich zu faul bin, meine beiden Nummern zu portieren und auch diesem VoIP-Scheiß (für meine Festnetz-Nummer) nicht über den Weg traue.

Insgesamt bin ich mit O2 aber trotzdem zufrieden. Die anderen Provider machen nämlich auch keine besseren Tarife (im Gegenteil, man schaue sich mal Vodafone an) und bei T-Mobile herrscht ein dreckiges Chaos, wie ich neulich live miterleben konnte (mein Bruder ist dort Kunde und war es auch schon vor dem iPhone): Es ging um eine für schlimme Dinge, die passiert waren, versprochene Gutschrift, die für die nächste oder übernächste Rechnung versprochen war. Die waren beide inzwischen gekommen und von der Gutschrift war nichts zu sehen. Der Kerl an der Hotline (Business-Kunden-Hotline übrigens) konnte dazu nichts sagen und meinte, wir sollten uns doch per Fax direkt an Bonn wenden für eine Statusauskunft zur Gutschrift, er könne uns die Faxnummer nennen. Ob er denn dieses Fax nicht senden könne, wir hätten keine Lust, die Hürden der internen T-Mobile-Arbeitsabläufe zu kompensieren… Wir faxen nicht war seine lapidare Antwort. So einen Provider kann ich nicht gebrauchen. Mein Bruder auch nicht, deswegen ist seine ganze Familie inzwischen bei blau.de. Nur er klebt am iPhone-Vertrag.

Das Projekt

Im Nachhinein bin ich sehr positiv überrscht von dem ganzen XDA-Projekt. O2 hat erkannt, dass moderne Marketing-Formen eine gute Sache sind und die betreuuende Agentur und vor allem unser Ansprechpartner dort sind weit vorne damit. Es gibt wirklich Leute, die Blogs und Foren verstanden haben und natürlich schmeichelt es mir, in deren Blogmonitoring als relevant eingestuft zu sein. Die Einladung zum Gespräch nach Berlin ist leider etwas aus dem Ruder gelaufen, weil die Ansprechpartnerin von o2 krank war und das Alicia-Keys-Konzert in meinen Ohren unerträglich war. Aber das Hotel (nh Hotels sind sehr angenehm) war dafür super ausgesucht und die Gespräche mit den anderen Teilnehmern und dem Projekt-Betreuer waren sehr spannend. Danke also für die Einladung. Wenn es wieder so ein Projekt gibt, bin ich auf jeden Fall liebend gerne dabei.


Dumme Lightboxen

14 09 2008

Lightboxen, also diese Dinger, die Bilder und anderes schön anzeigen, ohne ein echtes Popup zu sein, sind ja eine feine Sache. Einige Lightboxen erkennen nämlich die Bildschirmauflösung des Benutzers und skalieren die Bilder entsprechend, so dass sie so breit wie möglich sind, aber noch in den Browser passen. Eine kluge Idee an sich, wenn sie nicht von Zeit zu Zeit etwas hirnlos implementiert wäre. Ich habe eine Auflösung von 1920x1200 auf meinem 24"-Bildschirm. Diese hohe Auflösung nutze ich dazu, neben normalbreiten Fenstern noch Chatfenster, Audioplayer und solchen Kram sichtbar zu halten. Vor allem aber sehen die meisten Websites in so breiten Browsern völlig dämlich aus, weil sie nicht mal die Hälfte der Bildschirmbreite füllen. Jetzt kommt das Problem mit den kurzsichtig programmierten Lightboxen ins Spiel: Besucht mal diese moderne Seite eines Wohnwagenherstellers (via Alex) und öffnet eines der Bilder. Surft ihr mit maximiertem Browserfenster ist alles OK, tut ihr das nicht, ist das Bild breiter als das Browserfenster und ist nicht mehr sinnvoll zu erkennen.

Das dort eingesetzte Lightbox-Script ist Lightview und das macht den kapitalen Fehler, hier die Bildschirmausflösung abzufragen und nicht die Größe des Viewports (der im Browser sichtbare Bereich). Update: Das Problem tritt nur in Opera auf. Warum? Denken die Entwickler, jeder surft immer maximiert? Was ist mit Leuten, die einen erweiterten Desktop haben (mehrere Bildschirme)? Und was ist mit Leuten, die ihre Websites gezoomt anschauen? Und wie dämlich ist der gesamte Ansatz, wenn nur die Breite beachtet wird und nicht die Höhe? Die Bilder auf der verlinkten Seite haben ein 4:3-Format, so dass es auf einem Widescreen-Monitor mit hoher Auflösung zwangsläufig oben und unten abgeschnitten wird. Scrollen ist aber nicht, weil das Bild leider mitscrollt. Nett gemeint, aber völlig unzureichend umgesetzt.

Lightview ist aber nicht das einzige Script, das diesen Fehler macht, der gleiche Effekt kommt mir immer wieder unter. Meistens fällt das nicht auf, weil die Bilder nicht größer als mein Viewport sind. Aber wenn das der Fall ist zeigt sich sehr imposant, dass der Entwickler des Scripts nicht zu ende gedacht hat und so die Usability am Ende sinkt statt steigt. Das Bild wird man übrigens mit einem beherzten Druck auf Esc wieder los, oder indem man die Seite weit genug heraus zoomt.

Nachtrag 16.09.2008: Wie ich gerade feststellen musste, tritt das Problem bei Lightview nur in Opera (getestet in 9.52) auf, im Firefox orientiert sich die Bildgröße in Höhe und Breite korrekt am Viewport. Nach etwas Recherche weiß ich jetzt auch, wieso: Die von Lightview eingesetzte JavaScript-Bibliothek Prototype hat ein Problem mit der von Opera seit Version 9.5 veränderten Handabung des Viewports. Klingt kompliziert? Ist es auch. Also kurz gesagt: Lightview arbeitet korrekt, nur gibt es eine Inkompatibilität der benutzen Prototype-Version mit Opera 9.5. Das Ergebnis ist das gleiche: Usability-mäßig gut gemeint, am Ende steht aber ein dickes Minus. Ein generelles Problem mit solchen JavaScript-Spielereien, mit denen man stets vorsichtig umgehen sollte.


Opera 9.5 verschlampt Tabs

05 09 2008

Ich mache intensiven Gebrauch der Tabs in Opera. Beispielsweise gehe ich Newsseiten immer in der chronologischen Übersicht durch und öffne interessante Artikel als Tabs im Hintergrund. Seit ich auf Opera 9.5 upgedatet habe kommt es nun immer mal wieder vor, dass ich Artikel vermisse, von denen ich eigentlich dachte, dass ich sie zuvor geöffnet hatte (Rechte Maustaste -> in neuem Tab öffnen). Bislang habe ich das immer auf meine Nachlässigkeit geschoben, hab ich wohl daneben geklickt. Heute an einem anderen Rechner habe ich aber definitiv auf den richtigen Menüpunkt geklickt und es hat sich kein Tab geöffnet. Ha, in flagranti erwischt Du schelmisches Stück Software. Offenbar handelt es sich hier um einen Bug. Lästig. Lästiger jedenfalls als der Bug, dass bei mir gelegentlich die Menüleiste durchsichtig wird und erst durch maximieren und wiederherstellen des ganzen Fensters wieder sichtbar gemacht werden kann. Bei beiden Fehlerbildern konnte ich bisher keine Regelmäßigkeit entdecken.


Kommentar: Chrome wird ein Nischendasein führen

04 09 2008

Irgendwie gehen scheinbar viele Leute davon aus, dass Google mit Marktmacht seinen Chrome-Browser auf nennenswerte Marktanteile bringen wird und Microsofts Vormachtstellung brechen kann. Ich frage mich wie das gehen soll? Chrome kann eigentlich nichts relevantes besser als andere Browser und dafür einiges schlechter. Warum also sollten Nutzer andere Browser links liegen lassen? Die Leute benutzen auch seit Jahren kaum beeindruckt weiterhin den Internet Explorer, obwohl der sogar in eigentlich allen Belangen (von der Intranet-Anwendungs-Problematik mal abgesehen) schlechter als die anderen Browser ist. Es scheint sie nicht zu jucken, dass andere Browser komfortabler, funktionaler, sicherer und hübscher sind. Ob das daran liegt, dass fast kein Webentwickler sich traut, den Nutzer die Nachteile seines blöden Internet Expolorers spüren zu lassen, sei mal dahingestellt. Aber die Realität sieht meines Erachtens auch mittelfristig so aus, dass Chrome ein ebensolches Nischendasein führen wird wie Safari und Opera. Und was soll das Gerede mit der Marktmacht? Wo soll Google ansetzen mit seiner Marktmacht? Alle Google-Dienste laufen auch mit anderen Browsern und Google kann den Browser auch nicht einfach als Standardbrowser unter Windows ausliefern. Werbung für bessere Browser wird weitgehend ignoriert, siehe Googles Firefox-Engagement der letzten Jahre. Und ich glaube auch nicht, dass die deutschen Redaktionen ihre immer wieder zelebrierte klare Empfehlung für Firefox ändern werden hin zu einem Browser, dessen Datenschutz-Problematik nie gänzlich zu Ende besprochen sein wird. Hallo? Alles, was in die Adresszeile eingegeben wird, wird zu Google übertragen und jeder Browser ist für Google über eine ID eindeutig identifizierbar. Kann das jemand ernsthaft wollen? ID ABCD hat gerade BELIEBIGE PEINLICHKEIT HIER EINSETZEN in die Adresszeile eingegeben. Juhu, man wählt also ohne Zwischenstufen zwischen Komfort und Privatspäre (über den Privatmodus). Na vielen Dank.

P.S. Ob man Chrome doof oder toll findet soll jeder für sich selbst entscheiden. Ihr dürft von mir aus jeden standardkonformen Browser benutzen, nur nicht den Internet Explorer und schon gar nicht den IE6 oder kleiner. Oder ihr lebt damit, dass dort zunehmend der Augenschmaus fehlen wird. Progressive Enhancement lautet das Zauberwort, mein neues Lieblingsprinzip.


Chrome ist da, erste Gedanken

03 09 2008

So, kurzfristig angekündigt, schon als Download verfügbar. Die Rede ist vom nagelneuen Google-Browser Chrome. Ich will nicht alles abschreiben, was in allen(!) Online-Medien schon steht, also beschränke ich mich auf ein paar eigene Gedanken.

Runtergeladen, installiert und schon die erste Überraschung: Das Ding startet rasant, ist quasi nackt und fragt als allererstes, ob Google als Standardsuchmaschine eingestellt bleiben soll, oder ob man das ändern möchte. Vorbildlich. Zweiter Gedanke: Alles schon mal gesehen. Das Ding sieht aus, als hätten IE7, Opera und Firefox ein Rudelbumsen mit Safari veranstaltet und ihre Genpools zu etwas vereinigt, was von allem das beste mitbekommen hat. Bemerkenswert schlicht, keine Menüs und blau. Ja, der Rahmen ist wirklich blau und erinnert ein wenig an Vista ohne Aero. Ob man das Blau durch etwas weniger unangenehmes ersetzen kann, weiß ich nicht.

Also vom Blau abgesehen optisch durchaus gelingen, wenn man Schlichtheit zu schätzen weiß. Also mal Websites aufrufen… Juhu, das Ding ist schnell, sehr schnell, unfassbar schnell. Keine Überraschung bei der Webkit-Engine, aber trotzdem erfreulich. Im Entwickler-Menü findet sich ein feines Feature: Der Task-Manager zeigt Traffic, Speicherverbrauch und CPU-Auslastung jedes einzelnen Tabs, des Browsers und der Plugins an. Viel ist das normalerweise nicht und deutet auf ein Killerfeature des Browsers hin: Jeder Tab läuft in einem eigenen Thread (oder Prozess?) unabhängig von den anderen, damit dürfte man auf einem modernen Mehrkernsystem bequem mehrere Tabs mit wetter.de drin gleichzeitig betreiben können. Unfassbar, was die Seite an CPU-Auslastung erzeugt. In Firefox 3 lässt bei mir die Seite alleine ein parallel laufendes Video stark ruckeln (Athlon XP 2500+, 2GB RAM), Chrome bremst das Video nicht aus, zeigt aber hohe zweistellige CPU-Auslastung von Flash und Browser selbst an. Gut.

Schnell genug ist das Teil also schon mal. Beeindruckend, wie schnell auch Seiten aufgebaut werden, aber das kennt man ja schon von Safari. Was mir als nächstes auffällt sind die fehlenden Mausgesten. Überhaupt, ich sehe keine Erweiterungsmöglichkeiten; da wird aber sicher noch was kommen. Dafür habe ich ohne weiteres eine deutsche Rechtschreibprüfung, sehr schön.

Also erstes Fazit: Viele gute Ideen von den anderen Browsern zusammen mit einer rasend schnellen multithreaded Webkit-Engine in einer angenehm unaufgeregten Oberfläche. Chrome ist für mich schon jetzt der bessere Safari. Dass er von diesem nicht das eigenwillig fette Font-Rendering übernimmt kann man mögen oder nicht, die Oberfläche und die Funktionen sind jedenfalls um längen besser. Die Frage ist jetzt, ob die eigene Javascript-Engine V8 wirklich zu 100% funktioniert und ob sie wirklich schneller und sicherer ist als alle anderen (Firefox und Safari werkeln beide gerade an deutlich verbesserten Engines für die kommenden Versionen). So oder so, mir ist jeder neue Browser recht, der sich an Webstandards hält und neue Ideen einbringt. Momentan fehlt aber ganz klar eine Erweiterungsmöglichkeit.


Privatmodus

01 09 2008

Safari hat ihn eingeführt, der Internet Explorer 8 wird ihn auch haben, für den Firefox gibt es ihn schon lange als Plugin (Stealther), nur Opera kennt ihn nicht: Den temporären Privatmodus, der auf Knopfdruck jegliche Spurenaufzeichnung im Browser abschaltet, ohne die sonstige History anzufassen. Eine geniale Erfindung, gerade wenn man intensiven Gebrauch all dieser Komfortfunktionen macht. Böse Zungen nennen ihn auch den Pornomodus und das trifft es ganz hervorragend: Niemand möchte, dass bei der Eingabe von einzelnen Buchstaben in der Adresszeile in der Pornoseiten-History vom Vorabend gewühlt wird. Diese Information ist für einen selber meist nur lästig, für Zuschauer hingegen sehr aufschlussreich. Also schaltet man die Aufzeichnung einfach vorher ab und nachher wieder ein und alles ist gut.

Es ist mir tatsächlich schleierhaft, wieso Opera nicht schon lange so einen Modus hat. Sonst sind die Jungs ja führend bei solchen Funktionen. Noch besser wäre eine seitenspezifische Einstellung, die die Spurenaufzeichnung für einzelne Seiten (und am besten von dort verlinkte andere Seiten) vollständig abschaltet, ohne manuelle Eingriffe. Das wär toll. Opera?

Nachtrag: Bevor jemand denkt, ich würde die Nachrichten nicht lesen: Natürlich komme ich gerade jetzt da drauf, weil dieser Modus auch eine Kernfunktion des neuen Google-Browsers ist. Besonders interessant daran finde ich, das Google ja nicht gerade für Datensparsamkeit bekannt ist. Da bin ich gespannt auf heute Abend, wenn die Betaversion kommt.