OpenCPN und der AIS Empfänger für den heimischen Küchentisch

Auch der heutige Beitrag wurde durch meine Leidenschaft fürs Segeln getriggert und ist gleichzeitig der erste Artikel der neuen Kategorie “Tech-Gadgets”. Konkret geht es in diesem Artikel um PIA, einen kombinierten USB AIS- und GPS Empfänger von aisspotter.com, doch der Reihe nach:

AIS oder das Automatic Identification System ist ein System, bei dem per Funk Navigations- und anderen Daten zwischen Schiffen ausgetauscht werden, um die Sicherheit im Schiffsverkehr zu verbessern. Während ein AIS Transceiver (kombinierter Sender und Empfänger) in der Berufsschifffahrt Pflicht ist, verwenden zahlreiche Freizeitkapitäne freiwillig einen AIS Empfänger, um größere Schiffe in der Umgebung des eigenen Bootes auch bei schlechter Sicht (Nachts, Nebel, etc) ohne Radar zu erkennen und den eigenen Kurs frühzeitig anpassen zu können um eine Kollision zu vermeiden.

Neben der aktuellen Position der Schiffe werden per AIS mit Kurs, Geschwindigkeit, Zielort usw. auch eine ganze Reihe weiterer interessanter Details geliefert.

Da AIS Informationen im UKW-Seefunkbereich (161,975 MHz (Kanal 87B) bzw. 162,025 MHz (Kanal 88B)) gesendet werden, wird ein AIS Empfänger klassischerweise an das an Bord befindliche UKW-Funkgerät gekoppelt. Der Clu bei PIA ist nun, dass man gar kein Funkgerät benötigt, um diese AIS Signale empfangen zu können. In Kombination mit einem Laptop erledigt dies ein USB-Stick, an den eine externe Funkantenne angeschlossen wird.

Das PIA Set enthält ausserdem einen GPS-Empfänger mit dem die eigene Position ermittelt werden kann um z.B. einen automatischen Kollisionswarner zu verwirklichen.

Navigations Software

Das in Kombination mit PIA von mir eingesetzte OpenCPN ist eine kostenlose Chart Plotter und Navigationssoftware.

OpenCPN

AIS Empfänger PIA:

PIA_AIS-GPS-Empfänger

Lieferumfang: UKW-Antenne mit Magnetfuß, festverbundenes Antennenkabel (ca. 2.5 m, MMCX Stecker) zum Anschluss am USB-Stick (in den der GPS Empfänger integriert ist), Antennenadapter von MMCX auf BNC Buchse (z.B. zur Verwendung mit einer bereits vorhandenen UKW Antenne)

Kosten: 159,- €
z.B. hier: http://busse-yachtshop.de/s/AIS-Empfaenger-GPS-Empfaenger-im-USB-Stick-Gehaeuse-PIA-mit-AIS-Tischantenne

Installation & Konfiguration:

Damit das AIS/GPS Gadget betrieben werden kann, sind entsprechende Treiber notwendig. Diese werden auf aisspotter.com kostenlos zum Download angeboten bzw. dort verlinkt.

Windows Laptop: (fast) Plug&Play: Einstöpseln und Treiber auf aisspotter.com herunterladen, fertig.

MacBook Pro (MacOs X): Download des Virtual Com Port Drivers von FTDIchip, anschließend wird das Gadget ebenso problemlos erkannt wie beim Windows System.

Wichtig: In OpenCPN muss anschliessend unter Options>Connections zwingend die richtige Baudrate von PIA (38400) eingestellt werden.

Bildschirmfoto 2015-02-15 um 16.34.27

Ob OpenCPN anschliessend Signale empfängt, lässt sich auch ohne aktive AIS Ziele in der Umgebung über das NMEA Debug Window feststellen.

Bildschirmfoto 2015-02-15 um 16.36.02

Dieses sollte sich (korrekte Konfiguration vorausgesetzt) im Abstand von 1 Sekunde selbstständig aktualisieren und etwa so aussehen:

Bildschirmfoto 2015-02-15 um 16.36.31

Ergebnis:

Je nach Empfangsqualität werden nun nach einiger Zeit die AIS Ziele der Umgebung angezeigt.

OpenCPN auf MacBook Pro (MacOs X) mit ENC Binnenkarte "Hochrhein"

AIS Signal in OpenCPN auf MacOs mit ENC Binnenkarte “Hochrhein”

OpenCPN MacOs mit OpenSeaMap

OpenCPN MacBook Pro (MacOs X) mit entsprechendem OpenSeaMap Ausschnitt

Fazit & Kritikpunkt:

Auf dem heimischen Balkon funktioniert das ganze prima. Die eigene GPS Position wird ermittelt und in OpenCPN angezeigt. Anschliessend erscheinen nach einigen Sekunden auch nach und nach die AIS Ziele der näheren Umgebung.

Führt man jedoch lediglich die AIS/UKW Antenne inkl. Kabel durch ein Fenster nach draussen, um gemütlich auf dem Sofa sitzend den Schiffsverkehr zu beobachten, bereitet der GPS Empfang Probleme (der Empfänger ist im USB Stick verbaut). Häufig wird kein GPS Signal empfangen, was die Nützlichkeit des Gadgets erheblich einschränkt, denn nur bei (ständig aktualisiertem) eigenem GPS Signal lässt sich mit OpenCPN ein automatischer Kollisionswarmer realisieren. Zugegeben: Im Wohnzimmer dürfte das Kollisionsrisiko überschaubar sein, aber:

Da bei Beitrieb auf einer Segelyacht das Laptop eher unter als an Deck platziert wird, wäre es sinnvoll gewesen, den GPS Empfänger in den Fuss der UKW-Antenne, statt in den USB Stick zu integrieren.

Dann müsste man lediglich ein (dann kombiniertes USB/Antennenkabel) durch eine Luke an Deck führen um unter Deck arbeiten zu können. Ob das vorliegende Gadget in der Lage ist unter (GFK-) Deck überhaupt ein GPS Signal zu empfangen, wird sich beim geplanten Feldversuch im Ionischen Meer Ende Mai zeigen. Falls dem nicht so ist, wäre ein möglicher Work-Around  ein USB-Verlängerungskabel und ein wasserdichtes Gehäuse für den USB Stick, doch dazu evtl. nach dem Test unter Outdoor-Bedingungen mehr.

Online Marketing Test Teil 4: Google AdWords Auswertung

Wie effizient sind Google AdWords?

Nachdem ich die AdWords Kampagne nach einer budgetmäßigen “Fast-Punktlandung” bei 100,70 EUR heute beendet habe, hier nun die Auswertung dieses Teils des 100,- EUR Online Marketing Tests:

Insgesamt wurden mit 21.817 Impressions 183 Klicks erreicht (182 davon wurden bei Google Analytics erkannt). Der durchschnittliche CPC lag bei 0,55 € (CPM bei 4,62 €), die durchschnittliche click through rate bei sehr guten 0,84%.

Detaillierte Auswertung GoogleAdWords Click through rate und cost per click

Detaillierte Auswertung GoogleAdWords Click through rate und cost per click

Facebook Werbeanzeigen oder Google AdWords Vergleich

Man sieht bei Google Analytics sehr schön, dass die Verweildauer der Besucher auf der Internetseite (natürlich) vom Keyword abhängt, insgesamt aber mit 19 sec deutlich höher liegt als bei Facebook Werbeanzeigen. Eine Besuchersekunde war ausserdem mit 100.70/(182*19)=0,029 EURO also 2,9 Cent mehr als 5 mal billiger als bei Facebook.

Durchschnittliche Sitzungsdauer 19 sec

Durchschnittliche Sitzungsdauer 19 sec (für das Keyword “Anfrage” gar über 2 min!)

Die Frage:

Was ist besser Google AdWords oder Facebook Werbung?

kann ich nach diesem Test somit eindeutig beantworten… Auch wenn Facebook mir für 100,- EUR mehr Einblendungen meiner Anzeige “verkauft” hat, war die Google AdWords Kampagne mit sehr viel höheren Klickzahlen und deutlich “günstigeren” Besuchern viel effizienter.

Google 1 : Facebook 0

Ich werde mir Gedanken machen, welche potentiellen Gegner als nächstes in den Ring steigen werden.

Online Marketing Test Teil 3: Google AdWords

Nach den doch eher ernüchternden Erfahrungen mit Facebook Werbeanzeigen (s. Teil 1 und 2 der Online Marketing Competition) gilt der nächste Versuch Google AdWords bzw. der Frage:

Was bringen Google AdWords?

Da es mir leider nicht möglich war die geplanten 100,- € als Gesamtbudget für meine Kampagne festzulegen, verwende ich als Tagesbudget 20,- EURO (und muss natürlich daran denken, die Kampagne nach 5 Tagen abzubrechen).

Abermals ist die Anzahl der Zeichen meiner Werbeanzeige beschränkt, was hier zu folgender Anzeige führt:

Google_AdWords_Textanzeige

Google AdWords Textanzeigen

Die Festlegung des maximalen Cost-Per-Click überlasse ich wie von Google vorgeschlagen der automatischen Auswahl des AdWords Systems. Die gewünschten Keywords bei denen Google meine Werbeanzeige neben oder oberhalb der Suchergebnisse anzeigen soll, habe ich wie folgt festgelegt:

Verwendete Schlüsselworte/Suchbegriffe

Verwendete Schlüsselworte/Suchbegriffe

Ich bin gespannt auf die Ergebnisse…

Online Marketing Competition Teil 2: Facebook Werbeanzeigen

Nachdem der Einblendungszeitraum für die Facebook Werbeanzeigen heute abgelaufen ist und das Gesamtbudget von 100,- EUR verbraten ist, möchte ich in diesem Post eine Auswertung vornehmen und von meinen Facebook Werbeanzeigen Erfahrungen berichten:

Erfahrungen mit Facebook Werbung

Auswertung Facebook Werbeanzeigen

Facebook Werbung cost per click

Wie die Auswertung zeigt, wurde die für 100,- € 25.636 mal eingeblendete Werbeanzeige insgesamt lediglich 31 mal angeklickt (31 Conversions). Das entspricht einem Cost-per-Click von über 3,- EURO (3,23 €). Double-Opt-In Neuanmeldungen auf der Zielseite selbst wurden durch die geschaltete Werbeanzeige überhaupt nicht getriggert. Ein genauerer Blick auf die während des Einblendungszeitraums von Google Analytics erhobenen Daten fällt noch ernüchternder aus:

Google Analytics Auswertung Facebook Werbeanzeigen

Was bringt Facebook Werbung?

Google Analytics hat 29 der insgesamt 31 Klicks als tatsächliche Aufrufe der Webseite erkannt. Soweit so gut. Aber: Die Absprungrate von 82.76% weisst darauf hin, dass die Webseite nach einem (über 3 Euro teuren) Klick auf die Werbeanzeige zwar geöffnet wurde, der Besucher jedoch ohne einen weiteren Klick (oder gar eine Registrierung) wieder abgesprungen ist, d.h. die Seite wieder verlassen hat. Nur ernüchternde 5 der 29 akquirierten Besucher haben also auf KundenserviceTEST.de eine andere Seite als die Startseite auf der sie nach einem Klick gelandet waren angesehen. Die Verweildauer auf der Zielseite lag bei durchschnittlich 21 Sekunden (was bedeutet, dass 1 “Besucher-Sekunde” (100/29*21) ca 16,4 Cent gekostet hat (bzw. 9,85 €/Minute). Ich bin gespannt wie Google AdWords im Vergleich dazu abschneiden. Im nächsten Teil der Competition mehr dazu…

Online Marketing Competition Teil 1: Facebook Werbeanzeigen vs. Google AdWords

Die neue Homepage ist online und täglich wird die Besucherstatistik geprüft. Fast wie beim Öffnen des leeren “altmodischen” Briefkastens, bleibt man oft mit enttäuschter Mine zurück. Man ist vom Konzept bzw. Inhalt der eigenen Webseite überzeugt, doch leider scheint sich kaum jemand dafür zu interessieren. Man möchte die Werbetrommel rühren und der Welt zeigen, wie toll, sinnvoll oder revolutionär der Internetauftritt ist. Neben der Aussendung einer Pressemitteilung mit der man gleichermaßen on- und offline Medien erreicht, bietet sich Online Marketing (genauer das Schalten von Werbeanzeigen bei Google, Facebook und anderen reichweitenstarken Netzwerken) an.

Doch was bringen diese Anzeigen? Wo ist das Geld am besten investiert?

Was kostet ein per Google Adwords auf die eigenen Homepage geleiteter Besucher? Was eine Double-Opt-In Neuanmeldung? Wie schneiden Facebook Werbeanzeigen im Vergleich dazu ab?

Genau das möchte ich mit einer kleinen Competition herausfinden. Ich investiere jeweils 100,- € für Facebook-Werbeanzeigen, Google AdWords und bei einigen anderen Anbietern um KundenserviceTEST.de zu promoten. Nachdem dieser Betrag verbraucht ist, erfolgt eine Auswertung bezüglich cost per view (TKP), cost per click bzw. cost per lead.

Los geht´s mit Facebook Werbeanzeigen:

Die durch eine Zeichenbeschränkung leider nur eingeschränkt meinen Vorstellungen entsprechenden Werbeanzeige sieht hierbei wie folgt aus:

werbeanzeige

Bei der Laufzeit habe ich mich für eine Woche entschieden.

Ein nettes Feature das von Facebook angeboten wird, ist die Beschränkung der Zielgruppe anhand zahlreicher benutzerdefinierter Parameter.

Für diesen Test habe ich folgende (mir sinnvoll erscheinenden) Einstellungen verwendet:

Facebook Werbeanzeigen vs. Google AdWords. Was bringt mehr?

Facebook Werbeanzeigen vs. Google AdWords. Was bringt mehr?

Um die Vergleichbarkeit mit zukünftigen Online-Marketing Massnahmen zu gewährleisten, werde ich mich bemühen, dort jeweils vergleichbare Parameter zu verwenden.

Ich bin gespannt auf meine Facebook Werbeanzeigen Erfahrung und darauf, wieviele Besucher sich für 100,- € auf KundenserviceTEST.de “locken” lassen.

Servicewüste Deutschland? Verbraucher schlagen zurück!

Nachdem die Bauarbeiten abgeschlossen wurden, ging heute die folgende Pressemitteilung über den Äther:

Webseite stellt schlechten Kundenservice an den Online-Pranger und verhilft so zu schnelleren Antworten auf eMail Anfragen 

Haben Sie sich auch schon einmal darüber geärgert, wie manche Unternehmen mit Kundenanfragen per E-Mail umgehen? Verbraucher erhalten auf E-Mail-Anfragen an Hersteller oder Anbieter von Produkten und Dienstleistungen häufig keine oder eine sehr verspätete Rückantwort, weiß Andreas Zoerb (36), Initiator und Betreiber von www.kundenserviceTEST.de. “Falls die Unternehmen überhaupt reagieren, werden die Kunden mit vorgefertigten Standard-E-Mails abgespeist oder müssen sehr lange auf eine Antwort warten.”

Ein Zustand den Verbraucher nicht länger hinnehmen müssen. Das Online-Portal KundenserviceTEST.de will Endverbrauchern kostenlos zu schnelleren und besseren Rückantworten auf eMail-Anfragen verhelfen.

Der Service leitet Verbraucheranfragen seiner Nutzer kostenlos per E-Mail an die entsprechenden Unternehmen weiter und protokolliert dabei auf seiner Internetseite – für jeden einsehbar – die Antwortdauer der angeschriebenen Unternehmen. “Wenn jemand eine Anfrage an ein Unternehmen stellen möchte, kann er diese über ein Formular an uns übermitteln”, erklärt Zoerb. “Wir leiten diese Anfrage dann mit einer Absenderadresse@kundenservicetest.de weiter und weisen zusätzlich im E-Mail-Text auf die öffentliche Protokollierung der Bearbeitungsdauer hin”, so der Betreiber. “Durch dieses Vorgehen und die Tatsache, dass jedes Unternehmen negative Publicity vermeiden möchte, erhalten Verbraucher beim Versand ihrer Anfragen über uns in der Regel schneller eine bessere Antwort als bei eigenem Versand.”

Bei der Frage nach dem derzeitigen Spitzenreiter, also dem Unternehmen, das auf eine Kundenanfrage am schnellsten geantwortet hat, muss Zoerb nicht lange überlegen: “Ein Online-Marketing Dienstleister hatte eine Anfrage bereits nach sieben Minuten beantwortet – rekordverdächtig”.

Auf die Idee zu kundenserviceTEST.de kam Zoerb, als er nach einer E-Mail-Anfrage an einen Paketdienst keine Antwort erhielt. “Zuerst hat mich das Ausbleiben einer Antwort auf meine Anfrage sehr geärgert, letztlich kam ich dadurch aber auf die Idee zu kundenserviceTEST.de.”

Roulette mit System? Der PHP Martingale Simulator

Ein bevorstehender USA-Urlaub inkl. Abstecher nach Las Vegas und eine dubiose Werbeanzeige im Internet, die schnellen Reichtum durch Glücksspiel verspricht sorgen dafür, dass ich mich heute mit Martingale-Roulette beschäftige…

Ein kurzer Disclaimer vorweg: Es gibt kein System mit dem man beim Roulette risikolos gewinnt. Es besteht immer die Gefahr des Verlusts des Einsatzes!

Beim sogenannten Martingale-Roulette platziert man seinen Einsatz am Tisch nach folgendem System:

Man beginnt mit dem Mindesteinsatz (z.B. 5 EUR) und platziert diesen z.B. auf rot. Gewinnt man, erhält man 10 EUR und platziert den Mindesteinsatz (erneut 5 EUR) auf der anderen Farbe (im Beispiel also schwarz). Verliert man aber, verdoppelt man im nächsten Spiel den Einsatz und setzt erneut auf die “Verliererfarbe”. Im Beispiel würden wir also dann 10 EUR auf rot setzen. Verliert man erneut, verdoppelt man wieder (20 EUR) und bleibt der Farbe treu.

Wenn es die Null nicht gäbe, hatte man beim Roulette nach diesem System eine Gewinnchance von 50% (rot oder schwarz). Man müsste bei einem verlorenen Spiel oder einer “Pechsträhne” seinen Einsatz lediglich immer weiter verdoppeln und nach dem Gewinn das Spiel abbrechen.

Doch die Sache hat gleich mehrere Haken:

1.) Die Wahrscheinlichkeit – Freund des Casinobetreibers

Will man die Gewinnwahrscheinlichkeit beim Roulette näher betrachten, so muss man zunächst zwischen französischem und amerikanischem Roulette unterscheiden. Beim französischen Roulette gibt es 18 rote Felder, 18 schwarze Felder und die Null (Bank), insgesamt also 37 Felder/Zahlen. Beim amerikanischen Roulette kommt noch die “Doppel-Null” hinzu, hier spielt man also mit insgesamt 38 Feldern/Zahlen und die Wahrscheinlichkeit, dass weder schwarz noch rot erscheinen verdoppelt sich.

Die Wahrscheinlichkeit für rot (oder schwarz) liegt beim französischen Roulette bei 18/37 (48.6%), beim amerikanischen Roulette bei 18/38 (47.4%). Die Tatsache, dass diese Wahrscheinlichkeiten unter 50% liegen zeigt bereits, dass im Mittel nicht der Spieler sondern der Casinobetreiber gewinnt.

2.) Das Tischlimit

Natürlich weiss auch das Casino, dass ein disziplinierter Spieler mit diesem Spielsystem einfach bei Verlusten seinen Einsatz immer verdoppeln müsste um irgendwann einen Gewinn einzufahren (was je nach Spielrunde und Einsatzhöhe jeden Casinobetreiber in den Ruin treiben würde). Man hat daher ein so genanntes Tischlimit eingeführt. D.h. die Obergrenze des Einsatzes pro Spiel ist begrenzt (oft z.B. auf 12.000 EUR).

Das das Ganze trotzdem durchaus funktionieren kann, wurde im Privatfernsehen demonstriert:

https://www.youtube.com/watch?v=5cLabMRVUPw

Das man auch mit diesem System früher oder später einen Totalverlust erleiden kann, kann man durch einen Reload dieser Demoseite sehen, auf der das nachfolgend gezeigte Skript ein PHP Martingale Simulator zum Einsatz kommt:

//rot: 1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36
//schwarz: 2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35
 
$french = array("bank", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz");
 
$american = array("bank", "bank", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "rot", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz", "schwarz");
 
 
//setze Mindesteinsatz (hier 5€) auf rot
$spiel_nr=1;
$kontostand=50;
$start_einsatz=5;
$start_farbe="rot";
//Man kann natürlich nur dann weiterspielen, wenn man über ein Restguthaben verfügt
while($kontostand>0)
{
//Wenn an dieser Stelle noch kein Einsatz platziert wurde, muss es sich um das erste Spiel handeln und Startfarbe und Starteinsatz werden gesetzt
if(!isset($farbtipp)) {$farbtipp=$start_farbe;}
if(!isset($einsatz)) {$einsatz=$start_einsatz;}
 
//array_rand liefert ein Zufallsfeld aus dem Array $french (alternativ $american) zurück
$zufallsfarbe=$french[array_rand($french)];
 
//Liegen wir mit unser Tipp richtig oder falsch?
if($zufallsfarbe==$farbtipp) 
{
$ergebnis="gewonnen"; 
echo "Ziehung: ".$spiel_nr." | Einsatz: ".$einsatz." | Tipp: ".$farbtipp." | Ziehungsfarbe: ".$zufallsfarbe." | Ergebnis: ".$ergebnis." | Kontostand: ";
$kontostand=$einsatz+$kontostand; 
echo $kontostand."
";
//Farbe des Gewinnertipps ändern
if($farbtipp=="rot") {$farbtipp="schwarz";}
else {$farbtipp="rot";};
//Einsatz auf Anfangsniveau zurücksetzen
$einsatz=$start_einsatz; 
//Angenommen der Spieler ist diszipliniert und hört nach Verdopplung seines Geldes in jedem Fall auf.
if($kontostand>=100) {echo $kontostand." nach ".$spiel_nr." Spielen"; exit;}
}
 
else 
{
$ergebnis="verloren"; 
echo "Ziehung: ".$spiel_nr." | Einsatz: ".$einsatz." | Tipp: ".$farbtipp." | Ziehungsfarbe: ".$zufallsfarbe." | Ergebnis: ".$ergebnis." | Kontostand: ";
$kontostand=$kontostand-$einsatz;
echo $kontostand."
";
$einsatz=$einsatz*2;
if($einsatz>$kontostand) {$einsatz=$kontostand;}
}
 
$spiel_nr++;
}

Und so sieht unser Simulator dann aus… (leider liess sich das Ganze nicht direkt hier einbinden, deshalb im neuen Fenster)

Ein weiterer netter Artikel zum Thema aus der FAZ: Denkfehler die uns Geld kosten

Wissen Sie, womit Ihre Mitarbeiter Ihre Zeit verbringen?

Mit genau dieser interessanten Frage beschäftigt sich das neue B2B Projekt von zoerb.net, das Prozessoptimierung kinderleicht macht:

moment.info bietet ein innovatives System für Multimomentanalysen

Das neue System moment.info gibt Unternehmen eine unkomplizierte und kostengünstige Lösung für Prozessoptimierung an die Hand. Die Basis des Systems bildet dabei die Durchführung von Multimomentanalysen. Erfinder des Systems ist Dr. Andreas Zörb, der dem Nutzer einen einfachen Zutritt über die Einrichtung eines Accounts auf der Website moment.info gewährt.

Unternehmen brauchen Informationen über die internen Prozesse, um den Erfolg zu steigern und wettbewerbsfähig zu werden oder zu bleiben. Multimomentanalysen stellen dafür ein geeignetes Werkzeug dar. Sie erfassen unregelmäßig auftretende Vorkommnisse von Mitarbeitern in einer so genannten Multimomentaufnahme in ihren prozentualen Anteilen, um sie in einem nächsten Schritt auszuwerten. moment.info führt diese Analysen durch, indem die Mitarbeiter zu unregelmäßigen Zeitpunkten per SMS nach ihrer momentanen Tätigkeit befragt werden. Die Rückmeldungen werden vom System gespeichert und verarbeitet. Aus den gewonnenen Daten erstellt das System nach statistischen Regeln eine Übersicht über die Aufwands- und Arbeitszeitverteilung.

Erstmalig wurden Multimomentanalysen Anfang des 20. Jahrhunderts als bedeutendes Instrument zur Analyse von Arbeitsabläufen eingesetzt. L. H. C. Tippet, ein britischer Statistiker, gilt als geistiger Vater der Multimomentanalyse. Seit 1927 beschäftigte er sich mit der so genannten “Snap-reading-method of making time-studies”. Dabei erkannte er, dass schon eine relativ kleine Anzahl an Stichproben ausreicht, um die tatsächlichen Stillstandzeiten innerhalb eines Unternehmens mit erstaunlicher Genauigkeit zu erfassen.

Zörb erklärt: “Im Internetzeitalter sind Multimomentaufnahmen oder auch Worksamplings nicht weniger aussagekräftig als damals, dank moderner Technik aber sehr viel einfacher durchführbar.”

Helligkeit von Farben, Kontrast, Farbunterschiede per PHP berechnen

PHP und Farbe – Helligkeit, Kontrast und Farbunterschied berechnen

Beim Sinieren über SEO und On-Page Optimierung kreisten meine Gedanken kürzlich um Folgendes:

Um eine Webseite „oben“ in den Google Suchergebnissen zu positionieren braucht es Content. Eine Überschrift „Keyword1 Keyword2“ hilft bereits weiter.

Erst recht, wenn diese über einem themenrelevanten Text mit einer bestimmten Keyword Dichte steht. Nun könnte es erstrebenswert sein, eine Seite unter einer Keyword Kombination finden zu lassen, die man seinen Besuchern nicht als prominente Überschrift oder Textblock präsentieren möchte. CSS bietet natürlich die Möglichkeit < h1 > Tags oder andere Elemente weniger dominant zu formatieren, doch darum soll es hier nicht gehen.

In den 90er Jahren soll es tatsächlich funktioniert haben, Überschriften oder gar Texte mit weisser Schrift auf weissem Hintergrund einzubinden und die Suchmaschinen so zu täuschen und sich eine bessere Position in den Trefferlisten zu erschleichen.

SCHON SEIT LÄNGERER ZEIT FUNKTIONIERT DIES NICHT MEHR! (vgl. hierzu http://www.seo-united.de/onpage-optimierung/content-texte.html und https://support.google.com/webmasters/answer/66353?hl=en) doch auch darum soll es hier nicht gehen.

Mich beschäftigt viel eher die Frage: „Wie schafft es Google oder generell eine Maschine dies zu erkennen (und zu bestrafen)?“. Denkt man darüber nach, kommt man zur Frage: Wie kann man z.B. einem PHP Skript beibringen den Helligkeitsunterschied zwischen 2 Farben zu bestimmen? Der Unterschied zwischen Hellgelb (#FFFFE0) und weissem Hintergrund müsste ja deutlich kleiner sein, als der Unterschied zwischen Dunkelbraun (#654321) und dem selben Hintergrund. Aber wie kann man dies berechnen?

Fangen wir mit den Grundlagen der Farbentheorie an: Im HTML Code einer Internetseite werden Farben als sog. HEX Code definiert (z.B #FFFFFF für weiss). http://de.wikipedia.org/wiki/Hexadezimale_Farbdefinition

Dieser Code entspricht einfach der hexadezimalen Schreibweise des entsprechenden RGB Codes, der jede Farbe in einen Rot, Grün und Blau Anteil zwischen 0 und 255 aufspaltet. Weiss hat die Anteile R=255, G=255 und B=255. Schwarz hat die Anteile R=0, G=0, B=0.

Nun gibt es das interessante Konzept des RGB Farbwürfels. Die x, y und z Achse dieses Würfels repräsentieren die Farben Rot, Grün und Blau und gehen jeweils von 0 bis 255. Jede Farbe kann nun durch 3 Koordinaten beschrieben werden und entspricht einem Punkt innerhalb dieses Würfels.

rgb_farbraum

Soweit so gut. Noch interessanter wird es, wenn man sich mit der Helligkeit dieser Farben beschäftigt. Je näher der beschriebene „Farbpunkt“ an der weissen Ecke dieses Würfels zu liegen kommt, desto heller ist die entsprechende Farbe. Das bedeutet aber auch, dass es einen Grünton gibt, dessen Helligkeit exakt der eines (z. B.) Rottones in der selben Entfernung der weissen Ecke entspricht. Eine bestimmte Helligkeit kann man sich also als Ansammlung/Fläche von Punkten innerhalb des Farbwürfels vorstellen, die denselben Abstand zur „weissen Ecke“ haben. Diese Fläche hat die Form eines Kugelsegments.

Diesen Abstand könnte man nun berechnen und daraus auf die Helligkeit einer beliebigen Farbe schliessen:

248_155_253

RGB-Farbe 248,155,253 (http://www.colorhexa.com/f89bfd)

255-248 = 7
255-155 = 100
255-253 = 2

Summe Δ 109

204_204_204

RGB-Farbe 204,204,204 (http://www.colorhexa.com/cccccc)

255-204 = 51
255-204 = 51
255-204 = 51

Summe Δ 153

Je kleiner diese Zahl, desto näher ist die betrachtete Farbe an der weissen Ecke, sprich umso heller. Und je gösser diese Zahl desta dunkler die entsprechende Farbe:

farben

Nun ist es natürlich ein Leichtes diese Zahlen per PHP miteinander zu vergleichen um herauszufinden, wie gross der Helligkeitsunterschied zwischen den beiden (z.B. Hintergrundfarbe und Textfarbe) ist. In unserem Fall 153-109=44. Nun könnten man einen Schwellenwert definieren (z.B. 50), ab dem eine Seite wegen schlechter Lesbarkeit oder vermeintlicher Betrugsversuche abgestraft wird.

//PHP Hex in RGB umrechnen
$hex_code_text="#000000";
//Nachdem der Hexcode mittels substr in Zweierpäckchen zerteilt wurde, wandelt die Funktion hexdec die Hexadezimalzahlen in Dezimalwerte um
$red = hexdec(substr($hex_code_text, 1, 2));
$green = hexdec(substr($hex_code_text, 3, 2));
$blue = hexdec(substr($hex_code_text, 5, 2));
 
echo "RGB-Code: (".$red."/".$green."/".$blue.")<br>";
 
//Differenz der einzelnen Werte von 255 ermitteln
$dif_white_red=255-$red;
$dif_white_green=255-$green;
$dif_white_blue=255-$blue;
 
$dif_white_sum=$dif_white_red+$dif_white_green+$dif_white_blue;
 
echo "Differenz zu weiss: ".$dif_white_sum."<br>";
 
//Differenz zu beliebiger Hintergrundfarbe
$hex_code_bg="#CCCCCC";
$bg_red = hexdec(substr($hex_code_bg, 1, 2));
$bg_green = hexdec(substr($hex_code_bg, 3, 2));
$bg_blue = hexdec(substr($hex_code_bg, 5, 2));
 
//durch abs wird sichergestellt, dass die Werte nicht negativ werden.
$dif_bg_red=abs($bg_red-$red);
$dif_bg_green=abs($bg_red-$green);
$dif_bg_blue=abs($bg_red-$blue);
 
$dif_bg_sum=$dif_bg_red+$dif_bg_green+$dif_bg_blue;
 
echo "Differenz zur Hintergrundfarbe: ".$dif_bg_sum;

P.S.: Natürlich gibt es andere Farbräume um Farben zu beschreiben, die ggf. zu einem anderen Ergebniss führen würden. Auch sind Farbeindrücke immer subjektiv. Was für den Einen noch gut lesbar erscheint, lässt den Anderen bereits die Augen zusammenkneifen. Es ist ausserdem bekannt, dass Farben umso heller erscheinen, je gesättigter sie sind (Helmholtz Kohlrausch Effekt: http://en.wikipedia.org/wiki/Helmholtz%E2%80%93Kohlrausch_effect). Als erste Näherung und um das Konzept zu verstehen, soll die hier vorgestellte Lösung jedoch genügen.