Designrules im Webdesign, die häufig unterschätzt werden

Es gibt viele Dinge, welche zur Verbesserung der Benutzerfreundlichkeit einer Webseite beitragen. Doch auch wenn einige Designelemente gut aussehen, sie könnten einen Einfluss auf die Benutzerfreundlichkeit haben.

Zentrierte Logos schaden der Navigation auf Webseiten

Getting back to the homepage is about 6 times harder when the logo is placed in the center of a page compared to when it’s in the top left corners. (Quelle: nngroup.com)

Buttons sollten keinen Hand-Cursor haben

There is this belief that the hand cursor means “clickable”, but this is incorrect and potentially problematic. My hope is that by the end of the article, you’ll never want to use the hand cursor for buttons ever again. (Quelle: medium.com)

Ist das „mein“ oder „dein“ Interface?

Wann sollte man „mein“ oder „dein“ in Benutzeroberflächen nutzen? Kurz zusammengefasst:

  • mein (o.ä.) nutzen, wenn der Nutzer mit dem Produkt interagiert, beispielsweise klicken von Buttons oder auswählen von Checkboxen. Solche Wörter sollten aber nur verwendet werden, um etwas besonders hervor zu heben.
  • dein (o.ä.) verwenden, wenn das Produkt Fragen stellt, Anweisungen gibt oder dem Nutzer Dinge beschreibt. Eben so, wie es ein persönlicher Assistent tun würde.

(Quelle: medium.com)

Ladeprobleme des Akku LP-E6 mit dem Ladegerät LC-E6 beheben

LP-E6 ist der Akku für die Canon-Modelle EOS 5D Mark III, EOS 6D, EOS 70D, …

Sollte sich ein Akku LP-E6 (egal ob es der Akku einer neuen Kamera oder ein Ersatzakku ist) mit dem dazugehörigen Ladegerät LC-E6 nicht laden lassen, dann kann das Problem möglicherweise mit den nachfolgenden Schritten selbst behoben werden:

  1. Canon Akku LP-E6 in das Canon Akkuladegerät LC-E6 einlegen und an die Steckdose anschließen. 20 Sekunden warten.
  2. Unter normalen Umständen blinkt die orangefarbene Lampe während dieser Zeit langsam (einmal pro Sekunde), und der Akkuladevorgang wird gestartet. Nehmen Sie den Akku erst dann aus dem Ladegerät, wenn der Akkuladevorgang abgeschlossen ist und die grüne Lampe leuchtet. Wenn die orangefarbene Lampe des Ladegeräts schnell blinkt, kann der Akku nicht aufgeladen werden. Bitte fahren Sie mit Schritt 3 dieser Anleitung fort.
  3. Wenn die orangefarbene Lampe schnell blinkt, entfernen Sie den Canon Akku LP-E6 aus dem Canon Akkuladegerät LC-E6. Warten Sie 10 Sekunden.
  4. Legen Sie den Canon Akku LP-E6 erneut in das Canon Akkuladegerät LC-E6 ein.
  5. Wenn die orangefarbene Lampe des Canon Akkuladegeräts LC-E6 langsam zu blinken beginnt (einmal pro Sekunde), startet der Ladevorgang.

Hinweis: Wenn die orangefarbene Leuchte erneut schnell blinkt, wiederholen Sie die Schritte 3 bis 5.  Wenn nach einem dritten Versuch der Canon Akku LP-E6 nicht aufgeladen wird, wenden Sie sich bitte an den Canon Service.

Imagick und „libgomp: Thread creation failed: Resource temporarily unavailable“

Bei der Bildbearbeitung mit Imagick (PHP) kann es mitunter zu einem Timeout bzw. Internal Server Error kommen und die Grafik wird nicht erstellt. In meinem Fall immer dann, wenn man versucht einen Text in der Grafik mittels Imagick::annotateImage() darzustellen.

Schaut man sich die error.log des Webservers an, dann stolpert man über den Fehler „libgomp: Thread creation failed: Resource temporarily unavailable“.

Was ist das Problem? Imagick scheint mehr Threads für die Bilderstellung beanspruchen zu wollen, als verfügbar sind.

Wie kann man die Anzahl der Threads eingrenzen? Folgende Einstellungen sollten gesetzt werden (hier z.B. über die .htaccess):

SetEnv MAGICK_THREAD_LIMIT 4
SetEnv OMP_NUM_THREADS 4

Ist man sich unsicher, wieviele Threads das System zur Verfügung stellt, dann kann man diesen Wert schrittweise erhöhen (1, 2, 4, 8, …), bis der Fehler auftritt. Die Einstellung sollte auch direkt aus dem PHP-Script heraus mit putenv() möglich sein.

FastCGI und ‚Authorization‘ Header

FastCGI scheint in den Standardeinstellungen den Authorization Header zu entfernen. Um diesen dennoch nutzen zu können, gibt es verschiedene Möglichkeiten:

Über .htaccess mit:

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.+)
RewriteRule ^(.*)$ $1 [E=HTTP_AUTHORIZATION:%1,PT]

Oder:

SetEnvIf Authorization (.+) HTTP_AUTHORIZATION=$1

Oder in der FastCGI Config:

FastCGIConfig -pass-header HTTP_AUTHORIZATION

Apache2, PHP und MySQL über MacPorts installieren

Es gibt hier im Blog bereits eine Vielzahl an Posts zu diesem Thema. Warum? Mit jedem Update von Mac OS X scheint sich wieder etwas zu ändern, sodass die Installation von Apache / PHP / MySQL mittels MacPorts nicht mehr funktionieren möchte.

Was bei den einzelnen OS X Versionen zu beachten ist, ist in den HowTo-Beiträgen auf macports.org bestens beschrieben: https://trac.macports.org/wiki/howto.

Detaillierte Information gibt es auf den Unterseiten zu Apache2, PHP und auch MySQL.