Posts Tagged ‘ browser

Facebook Development – Internet Explorer, Cookies und iFrame’s

Na klasse! Da hat man seine App fertig und macht nochmal die obligatorischen Browser-Tests und dann das: Der IE weigert sich standhaft den Auth-Cookie zu setzen. Ich habe wirklich lange nach einer Lösung suchen müssen.

Das Problem ist folgendes:

Die Sicherheits-Einstellungen des Internet Explores verbieten das Setzen eines Cookies Innerhalb eines IFrames (nichts anderes ist ja das Facebook Canvas). Ich habe mir daraufhin andere Facebook-Apps angeschaut und tatsächlich: Selbst so bekannte Anwendungen wie “Mafia Wars” bleiben in der Authentifizierungs-Schleife hängen.

Abhilfe schafft das Setzen des Cookies explizit zu erlauben. Dies geschieht über das “Devil Eye” in der Statusleiste des IE. Für die meisten Benutzer ist das aber keine wirklich praktikable Lösung.

Es geht aber auch anders.

Mittels des sogenannten P3P-Headers kann man eine “Privacy-Policy” setzen, die es der eingebetteten Seite erlaubt, einen Cookie zu speichern. Dies erfolgt durch das Senden eines Header Feldes “P3P” mit folgendem Inhalt:

CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT

Dann klappt es auch mit dem Internet Explorer.

Dies kann entweder per PHP, Python oder durch den Apache Webserver geschehen. Dazu muss die .htaccess nur um folgende Zeilen erweitert werden:

<IfModule mod_headers.c>
    <Location />
        Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
    </Location>
</IfModule>

Doch was bedeuten diese Zeilen? Unter p3pwriter.com gibt es ein Schlüssel-Verzeichnis. Zum Beispiel steht “DEVi” für:

“Information may be used to enhance, evaluate, or otherwise review the site, service, product, or market. Opt-in means prior consent must be provided by users.”

Ich habe keine Ahnung, wie verpflichtend diese Policy ist und ob es rechtliche Konsequenzen hat, diese zu brechen. Jedenfalls bin ich docherstaunt, das Facebook diese Problematik anscheinend egal ist und nirgendwo eine Hilfestellung zu diesem Problem anbietet.

Browser Usability – Adressfeld & Statusleiste

In fast allen Browsern ist es ein Standard Feature beim Hovern eines Links die Zieladresse in der Statuszeile anzuzeigen. Doch bringt diese Variante einige Probleme mit sich die ein kleiner nahezu unbekannter Browser besonders Clever löst.

Im Firefox sieht das ganze so aus:

Statuszeile Firefox

Statuszeile Firefox

Nachteil ist neben dem verschwendeten Platz, der sich besonders auf Netbooks/WebPads bemerkbar macht, das verschieben eines wichtigen User Feedbacks an den unteren Bildschirmrand und damit auch an den Rand der Wahrnehmung.

Das das Problem erkannt wurde zeigt Google, die in Chrome zumindest das Platz Problem lösen. Dort wird die Fußzeile nur bei bedarf als Overlay eingeblendet.

Google Chrome Statusbar

Overlay Statusbar in Chrome

Schlimmer wird es aber wenn Hersteller wie Apple die Statusleiste einfach abschalten. Den Sicherheit ist nicht nur eine frage des Browsers wie uns Microsoft gerne in der IE Werbung Weismachen möchte, sondern auch dem User zumindest die Möglichkeit zu verantwortungsvollem handeln zu überlassen. Ich erachte daher das bisschen Information vor dem Klick als besonders wichtig.

Midori hat beiden Probleme besonders schön gelöst indem die ziel Adresse einfach in das bestehende Adressfeld eingeblendet wird. So als würde man sie selbst dort eintragen.

Adressfeld & Statuszeile in Midori

Adressfeld in Midori

Adressfeld & Statuszeile in Midori

Adressfeld in Midori - Hover

Dadurch wird die Statuszeile für diese Aufgabe hinfällig und kann abgeschaltet werden. Doch viel wichtiger ist das die Information über das Link Ziel dabei wesentlich dominanter in den Fokus des Benutzers gestellt wird und die Aufgabe des Adressfeldes sinnvoll erweitert wird.

Wer sich das ganze mal anschauen möchte, oder noch auf der suche nach einem kleinen und schlanken Browser ist, findet Windows und Linux Versionen auf der Projekt Webseite.