Ich beschäftige mich ja in meinen Job schon seit geraumer Zeit mehr oder weniger mit dem Thema Usability der Webseite. Ich weiß, dass das alles nicht mehr so wirklich “state of the art” ist, was vermutlich auch daran liegt, dass die geistigen Urheber des Layouts – und vor allen Dingen der Navigation – scheinbar an der wahnsinnigen Komplexität der Inhalte scheiterten. Oder genauer gesagt daran, diese benutzerfreundlich zusammen zu stellen, anzuordnen, zu sortieren. Oder sie hatten eine andere Vorstellung davon, als ich.

Aber ich bin eben auf diesen interessanten Artikel aus dem Jahre 2000 (!) gestoßen: Why You Only Need to Test with 5 Users. Ich kann fast gar nicht glauben, dass man sich “damals” schon so umfassend mit Website-Usability auseinander gesetzt hat. Aber es klingt ganz einleuchtend:

Je mehr Probanden eine Seite testen, desto öfter werden sich die eigenen Erkenntnisse hinsichtlich Usability und Design wiederholen. Unschlagbar aber:

The most striking truth of the curve is that zero users give zero insights.

via Usability Testing with 5 Users Jakob Nielsen’s Alertbox. Hervorhebung im Original

Im Grunde ist es also überlegenswert, solch einen Usability-Test statt mega-aufwändig von einem völlig überteuerten Dienstleister mit zig Probanden und Beteiligten laufen zu lassen, den ganze Spaß doch einmal in Kleingruppen selbst durch zu führen. Nur wer wertet die Ergebnisse hinterher aus und setzt die Erkenntnisse um? So werden neue Projekte geboren :-)

, , ,

Google Plus (G+) bekommt es scheinbar nicht richtig auf die Reihe, die Kontakte aus GoogleMail vernünftig zu verknüpfen. Eine nachträgliche (manuelle) Verknüpfung der G+-Profile mit bestehenden GMail-Kontakten ist scheinbar nicht möglich. Wenn ich die Profil-URL als benutzerderfiniertes Feld hinzufüge passiert … nichts. Deshalb bekomme ich jedes mal, wenn mich jemand zu seinen Circles hinzufügt, einen weiteren, doppelten GMail-Kontakt angelegt, der nichts weiter enthält ausser dem Namen und der G+-Profil-Verbindung.

So bleibt mir nicht übrig als mit doppelten Kontakten im GMail-Adressbuch zu leben (was ziemlich bescheiden ist), oder die von Google+ hinzugefügten Kontakte nachträglich zu bearbeiten und mit den restlichen Kontaktinformationen wie Email, Adresse, Geburtstag, und was man halt so in den Kontakten alles noch so speichert, zu ergänzen.

,

GMail will https, hat aber scheinbar keins

Oder wie soll ich diesen Warnhinweis verstehen?

Das mit dem digitalen Speicher führt ja echt zu Ausmaßen… Früher hatte man in den Urlaub noch einen, vielleicht zwei 36-Bild-Filme mitgenommen und sich jedes mal ganz genau überelegt, wann und wovon man ein Foto macht. Im Zeitalter der Digitalisierung, wo Speicherplatz (so gut wie) nichts mehr kostet, produziert man schnell eine aberwitzige Anzahl an Schnappschüssen, die am Ende sowieso nur rumliegen und einstauben. Sofern das auf einer Festplatte überhaupt möglich ist.

Als kleines Beispiel mal die Bilderzahlen aus dem letzten einwöchigen Urlaub “zwischen den Jahren“:

Mühle I - ein Bild auf Flickr von robert.steinhoefel

Mühle I. Von mir hochgeladen bei Flickr.

Lizensiert unter

  • 641 Bilder aufgenommen
  • 47 Bilder noch direkt auf der Kamera gelöscht
  • 214 Bilder im Nachgang aus verschiedenen Gründen gelöscht (meistens wegen unscharf oder wegen vollkommen falscher und irreparabler Belichtung)
  • 329 Bilder nur als “Schnappschuß” einsortiert
  • 52 Bilder als tatsächliche, halbwegs gelungene Fotografien zu beurteilen
  • davon rund 20 Bilder als “Postkartenfotos” betitelt.

Bleiben unter’m Strich knapp 32 echte Fotos. Dafür hätte dann doch ein 36er Film gereicht :-)

Ausgewählte Werke (habe es auf 250 eingedampft) gibt’s im zugehörigen Flickr-Album. Das ein oder andere werde ich demnächst sicher auch hier veröffentlichen.

, ,

ist es bei Ihrer Bank normal, dass ich den Kontoauszug mit Datum vom 05.10.2011 erst am 20.12.2011 – also mehr als zwei Monate später! – in meinem Briefkasten habe? Wie soll ich da dann die Einspruchsfrist von sechs Wochen einhalten können?

Mit einer derartigen Verzögerung macht die Zusendung der Kontoauszüge überhaupt keinen Sinn. Ich finde es eine Frechheit, dass Ihr Unternehmen für diesen Anti-”Service” auch noch Gebühren verlangt. Diese bin ich nicht länger bereit zu zahlen. Bitte Senden Sie mir den Kontoauszug für das IV. Quartal 2011 bis spätestens 31.01.2011 zu. Falls dies nicht geschieht, oder im Rahmen der technischen Umsetzung bereits im Vorfeld zum Scheitern verurteilt ist, widerrufe ich meinen Antrag auf Zusendung der Kontoauszüge mit sofortiger Wirkung.

Da bin ich ja mal gespannt, was da als Antwort kommt.

Update: Kam ja ziemlich schnell:

Betreff: Keine Vertragsnummer erkannt ['Watchdog': ueberprueft]

Sehr geehrter Santander Consumer Bank Kunde,

Ihre Mail ist bei uns eingegangen. Leider konnte die Mail
nicht zugeordnet werden, da Ihre Darlehenskontonummer nicht
angegeben oder ungültig war. Bitte stellen Sie uns die Mail
unter Angabe der Darlehenskontonummer im Betreff/Thema nochmals
zur Verfügung.
[...]

Die Vertragsnummer hatte ich natürlich in den Betreff geschrieben, ich bin ja nicht blöd. Mir ist schon klar, dass die das sonst nie vernünftig zuordnen können. Ich hatte die Nummer genau so abgetippt, wie sie auf den Schreiben der Bank immer angegeben war, im Format x/xx/xxxxxx. Das scheint aber nicht richtig zu sein – zumindest nicht so, dass es ausgelesen werden kann. Die Mail also noch einmal weitergeleitet und die Betreffzeile entsprechend angepasst. Natürlich habe ich es mir nicht nehmen lasse vor dem weiter geleitetem Text noch meine Antwort mitzugeben:

Okay, dann also noch einmal mit den Daten ohne den Schrägstrichen dazwischen… Ist natürlich ziemlich clever, die Finanzierungsnummer auf den Schreiben so anzugeben, dass sie vom Email-”Watchdog” nicht erkannt wird.

, , ,

Since this tip might come in handy for many others out there, I decided to write this little tutorial in English. Since I am not a native speaker, I apologize for my poor language. If you have any questions to this tutorial, feel free to add a comment. I’ll reply back!

So you are using VirtueMart on Joomla and you are using the SEF-extension sh404SEF? It is said to be the best SEF-Tool for VirtueMart. I can’t judge that, since I haven’t tried other plugins for this use-case. But this plugin is to some extend a little tricky. Especially, as I found out, when you are using the virtuemart-category-IDs on URLs.

The problem

First of all: What is this all about?

Basically, the SEF-Tool switches nasty url-strings like index.php?option=com_virtuemart&Itemid=7&category_id=205&flypage=flypage.tpl&lang=de&page=shop.product_details&product_id=3024 to nicer ones, which read like: my_shop_category/product_sku/product_name.html Search engines like that kind of URLs better that those unreadable gibberish strings.

If you are using sub-categories on virtuemart, you might think about adding the IDs to the URLs. You would do that, if you had sub-categories with identical name under different parent-categories. Sub-cCategory-URLs including their IDs help search engines to know, that those are different. But: sh404SEF has the little bug (or is it a feature?), that if you activate using IDs in category-URLs, it also adds them to the page title, which is not that useful.

To deactivate the category-IDs from the page title, you’ll have to hack a PHP-File. It sounds hardy, but it isn’t.

Remove the category ID from the page title

  1. Use your familiar FTP-application, connect to your VirtueMart store and go to the folder /components/com_sh404sef/meta_ext
  2. Here you will find a file called “com_virtuemart.php“. Open that file in an editor.
  3. Look for the first function that is declared in this file. It begins with function vm_sef_get_category_title( &$db, &$catDesc, $category_id, $option, $shLangName ){
  4. Later on in this function, around line 81, you’ll find this declaration of the page title:
    $title='';
    do { // all categories and subcategories
    $title .= ( $sefConfig->shInsertCategoryId ?
    $tree[ $category_id ]->category_id.$sefConfig->replacement : '')
    .$tree[ $category_id ]->category_name. ' | ';
    $category_id = $tree [ $category_id ]->category_parent_id;
    } while( $category_id != 0 );
    return rtrim( $title, ' | ');
  5. You will have to change the first set of definition to the page title. Change the lines
    $title .= ( $sefConfig->shInsertCategoryId ?
    $tree[ $category_id ]->category_id.$sefConfig->replacement : '')
    .$tree[ $category_id ]->category_name. ' | ';
    to
    $title .= /* ( $sefConfig->shInsertCategoryId ?
    .$tree[ $category_id ]->category_id.$sefConfig->replacement : '') */
    $tree[ $category_id ]->category_name. ' | ';
    That means that you comment out (“/* comment here */”) using the category id in your page title. You could also delete this, but I prefer leaving such reductions in the original PHP-file for later reference.
  6. Be sure to remove the “.” before the second $tree-variable, otherwise you shop won’t work. an return a PHP-error.
  7. Save that file and re-upload it to its destination folder.

Done! You dont’t even need to purge your SEF-URLs.

, , , , ,

Ich habe ein Problem mit dem Kampagnen-Tracking bei PIWIK. (Genauer genommen sind es mehrere, ich glaube ich bin zu blöd das vernünftig einzusetzen.) Jedoch hier das “größte”:

Ich betreibe beruflich einen kleinen Shop. Der Shop ist auf anderen Websseiten mit Kampagnen verlinkt. Die Besuche werden den Kampagnen (meistens) vernünftig zugeordnet. Wenn nun einer der Besucher ein Ziel errreicht, wird zwar die Konversion gezählt, jedoch in einer zweiten, neuen Kampagne, die den gleichen Namen aber dafür 0 Besuche hat. Das sieht dann in etwa so aus:

PIWIK: Konversions nach Kampagnen mit Koversionen für 0 Kampagnen-Besuche.

PIWIK: Konversions nach Kampagnen mit Koversionen für 0 Kampagnen-Besuche.

Die Zuordnung von Konversionen zu Suchmaschinen, Suchbegriffen und Websites funktioniert jedoch einwandfrei.

Was mache ich falsch?

, , ,

Das Engagement in den sozialen Medien ist keine rein berufliche Angelegenheit, doch oft auch keine rein private. Mitarbeitende twittern, posten und tauschen, was und wann sie wollen, auch über ihren Arbeitgeber. Die mobilen Applikationen erleichtern dies. Eine reine Top-down-Kommunikation hat gute Chancen kontraproduktiv zu wirken. Das Ziel sollte die Akzeptanz der in den Guidelines transportierten Botschaften sein und dementsprechend erstellt und eingeführt werden. Unternehmen, welche die Plattformen zur internen Nutzung freigegeben haben, zählen auf die Eigenverantwortung der Mitarbeitenden und die Führungskompetenz der Vorgesetzten.

[...]

Social Media Guidelines können sehr hilfreich sein. Einen ihrer wichtigsten Dienste, die Auseinandersetzung mit dem Thema ist bereits getan, wenn die Guidelines so eingeführt wurden, dass sie von den Bezugsgruppen akzeptiert werden. Sie werden mit Vorteil schriftlich festgelegt, um Unternehmen wie Mitarbeitenden zu ermöglichen, sich bei Unstimmigkeiten darauf zu beziehen.

via bisculm.com

Alter Wein in neuen Schläuchen – oder: immer wieder die gleiche Leier. Manche Dinge ändern sich scheinbar auch in dieser hyperaktiven, hyperdynamischen 2.0-Gedöns Welt nicht so schnell.

Wie ich ja vor geraumer Zeit schon berichtete, verursachen die beiden Lightbox bzw. Slimbox von Joomla! und VirtueMart untereinander Schwierigkeiten. In Folge dessen hatte ich ja die YOOEffects Lightbox (in Joomla! mitgeliefert) deaktiviert. Nun wollte ich die Lightbox aber ausserhalb von VirtueMart doch nutzen, jedoch nur für eine bestimmte, dritte Extension, nämlich die Freestyle FAQ Lite.

Nachdem ich ein bischen in der Joomla!-Dokumenation gestöbert hatte und versucht hatte, im Forum einen meinem Problem entsprechendem Beitrag zu finden, was jedoch weitestgehend erfolglos blieb. Denn mein Problem ist – anders formuliert und auf den Punkt gebracht:

Wie kann ich ein Stylesheet und ein JavaScript von einer Joomla!-Komponente für eine andere benutzen?

Und um es ein wenig einzugrenzen: Das Stylesheet und das JavaScript sollen nur bei dieser einen Komponente geladen werden.

Denn ich wollte das beides nicht einfach in die index.php-Seite schreiben. Denn dies bedeutet, dass die Slimbox von VirtueMart bei jeder anderen Joomla!-Seite, die dies zum einen nicht unbedingt benötigt und zum anderen dadurch die Ladezeiten und den HTML-Code unnötig vergrößert, mitliefern. Mit den im Forum und in der Dokumentation gewonnenen Informationen kurzentschlossen selbst Hand angelegt.

Der verantwortliche Code

Ein Leichtes war es nämlich herauszufinden, dass folgende drei Zeilen Code mit der Angabe der entsprechenden Konstanten für den Aufruf des Stylesheets und des JavaScriptes sorgen:
$document =& JFactory::getDocument(); // Referenz zum Dokument herstellen
$document->addStyleSheet($url);
$document->addScript($url);

Die Variable $url sollte nicht zwei mal verwendet werden, da Stylesheet und JavaScript an unterschiedlichen Orten liegen. Da ich die Variablen nicht definieren wollte, habe ich hier statt dessen direkt den Pfad eingetragen (siehe unten).

Welche Datei ist für das Laden des Codes verantwortlich?

Das war eigentlich das schwierigste Unterfangen hierbei: herauszufinden, in welcher Datei ich den Code einfügen muss, damit das Stylesheet und das JavaScript geladen werden. Da ich im Forum gelesen hatte, dass dies in der “Hauptdatei” eingefügt werden müsse, habe ich nach einigem Suchen (das ist ja das schlimmste an Joomla!: diese Dateistruktur!) die richtige Datei gefunden.

/components/com_fsf/views/faq/tmpl/default.php

Der Code funktioniert aber genau so gut in der view.html.php unter

/components/com_fsf/views/faq/view.html.php

 

Den PHP-Code einfügen

Das Einfügen des Codes in die default.php ist hierbei nicht ganz trivial. Man muss nämlich darauf achten, es an die richtige Stelle zu bringen. Denn nach einer kurzen PHP-Deklaration folgt jede Menge HTML-Code – und in diesem nützt der PHP Code nicht viel, denn die Links zum Stylesheet und zum JavaScript müssen ja in den -Tag des HTML-Dokuments. Ich habe also die Stelle
<?php
// No direct access
defined('_JEXEC') or die('Restricted access'); ?>
 

<div class="component-header">
<div class="componentheading">
Frequently Asked Questions (FAQ) - Häufig gestellte Fragen
</div>
</div>

ziemlich am Anfang der Datei genommen und es vor dem PHP-beendenden Tag ?> eingefügt. Wichtig: vor dem Fragezeichen muss immer ein Leerzeichen stehen.

Dort habe ich diesen angepassten Code eingefügt:

// adding Virtuemart Lightbox to this module
$document =& JFactory::getDocument();
$document->addScript('/components/com_virtuemart/js/slimbox/js/slimbox.js');
$document->addStyleSheet('/components/com_virtuemart/js/slimbox/css/slimbox.css');

Das Einfügen des Codes in die view.html.php im darüber liegenden Ordner habe ich auch probiert – das funktioniert genau so gut. Ich habe es dann dort gelassen, denn irgendwie erschien mir das Laden des Stylesheets und des JavaScriptes an dieser Stelle sinnvoller.

, , ,

Mit der reinen Dittsche-Home-Story! Oder wie der WDR schreibt:

Los geht es mit einer „ganz normalen“ Dittsche-Sendung zur gewohnten Sendezeit, in der es schwerpunktmäßig um das Thema „Fußball“ geht – ist doch der Bundesliga-Experte Arnd Zeigler dieses Mal nicht in seinem Privatstudio, sondern zu Gast in der Grillstube. Doch am Ende der Sendung wird Dittsche nicht wie sonst die Klappe halten und Feierabend machen, sondern erst richtig loslegen. Die Kamera begleitet ihn auf dem Weg zu seiner Wohnung, und dort werden wir sehen, wie er seinen Alltag meistert. Natürlich brütet er über einer neuen „Welt-Idee“, die sein ganzes kreatives Potential heraus fordert. Und auch der ein oder andere (prominente) Gast wird zwischendurch herein schneien, und man darf gespannt sein, ob sich auch alte Bekannte darunter befinden, die man bisher nur vom Hörensagen kannte.

via wdr.de

Anzeige:

, ,