3

Selbstgemacht – 5 DIY Tablet-Hacks

5 DIY Tablet-HacksFrüher wurde mit Lego und Knex gebastelt oder im Heimwerkerkeller mit Stichsäge, Pfeile und Hammer hantiert – heute gibt es, der Technologisierung sei dank, auch noch weitere Betätigungsfelder im Hobby- und “Bastel”-Bereich.

Im Sinne von Do-it-yourself (DIY) soll es heute um “Bastel”-Projekte rund um das Thema Tablets gehen. Denn ein Tablet zu besitzen ist eine Sache, etwas Neues daraus bzw. dafür zu schaffen, eine ganz andere.

Nachfolgend stelle ich fünf verschiedene Ideen/Anleitungen vor, bei denen vom Tablet-Halter bis zum Carputer (Car + Computer => Carputer) alles dabei ist. Eine Übersicht zu aktuellen Tablets die sich zum “verbasteln” eignen gibt’s zum Beispiel bei deinhandy.de.

Tablet als zweiten Monitor verwenden

Im ersten Projekt geht es darum, das eigene Tablet als zweiten bzw. zusätzlichen Monitor zu verwenden. Die meisten Tablets heutzutage haben bereits ein wesentlich besseres LCD-Panel verbaut als die üblichen PC-Monitore bzw. Laptop-Bildschirme. Besser meint hier, dass das Tablet-Panel eine höhere Pixeldichte, also eine höhere Auflösung bei gleicher Bildschirmdiagonale, hat.

Tablet als zweiter MonitorWarum also nicht das Tablet als zusätzlichen Monitor benutzen? Anwendungsfälle wie das Darstellen des Mediaplayers oder als Second-Screen für diverse Computerspiele gibt es zuhauf. Der limitierende Faktor ist dabei eigentlich nur, dass das Tablet keinen Eingang für Bildsignale hat, um es an einen Computer anzuschließen.

Abhilfe schafft hier eine Softwarelösung, die dem PC einen virtuellen Monitor vorgaukelt. Das Bildsignal, was das Betriebssystem an diesen Monitor “sendet”, wird dann von der Software per WLAN oder USB an das Tablet übertragen, welches dieses dann darstellt.

Derzeit gibt es schon eine Handvoll an Softwarelösungen für dieses Problem. Die Unterschiede der einzelnen Lösungen liegen jedoch nicht nur im Preis, sondern auch in der Übertragungsart (WiFi oder USB) und den unterstützen Betriebssystemen (Windows, OSX, Linux). Eine gute Übersichtstabelle findet ihr in dem Artikel “Tablet Second Monitor” auf instructables.com Dort wird auch die Einrichtung der Software “TwomonUSB” erklärt.

Tablet-Halter aus Bürolampe

Tablethalter aus LampeIn der zweiten Anleitung soll es darum gehen, eine besondere Halterung bzw. einen besonderen Ständer für euer Tablet zu bauen. Die Basis für das Projekt stellt eine Büro- bzw. Schreibtischlampe dar, wie man sie aus dem Pixar-Intro kennt. Also solch eine, mit mehreren Gelenken, die möglichst flexibel eingestellt werden kann.

Bei der Suche nach einer geeigneten Lampe solle jedoch darauf geachtet werden, dass die Gelenke einigermaßen steif sind. Schließlich soll statt Lampenschirm später ein Tablet montiert werden, welches etwas mehr als eine schlichte Glühbirne wiegt. Sind die Gelenke zu “lasch”, wird das Tablet später den Lampenarm zu Boden ziehen, was den Nutzen der Halterung zunichtemachen würde.

Nachdem die passende Lampe gefunden wurde, wird der Stecker am Lampenfuß abgeschnitten und der Lampenschirm samt Glühbirne entfernt. Mit etwas Sugru (Knetkleber) wird dann eine Tablet-Hülle an den Lampenarm geklebt. Fertig ist die flexible Tablethalterung. Sieht nicht nur gut aus, sondern ist auch höchst flexibel und meiner Meinung nach ziemlich praktisch, immer dann, wenn man die Hände frei braucht.

Carputer aus Android-Tablet

Carputer aus TabletDas dritte Projekt beschäftigt sich damit, wie man aus einem Android-Tablet, ein wenig günstiger Zusatzhardware und viel handwerklichem Geschick, einen richtigen, kleinen Car-PC bauen kann. (Das Ganze klappt natürlich auch mit weniger handwerklichem Geschick. Sieht dann bloß nicht so schön aus.)

Auslöser für das Projekt war, dass Matt das Autoradio in seinem 2008er Subaru nicht mehr sehen konnte. So sagt er: “Automotive electronics are almost always at least 5 years behind the curve”, womit er meiner Meinung auch recht hat. Als ich meinen Ford Focus MK2 bekam, hatte ich auch das Gefühl, dass das verbaute Radio schon seit zwei Generationen zuvor verbaut wurde.

Damit aus dem Tablet ein richtiger Carputer wurde, hat Matt das Tablet sowohl an den Verstärker seines Subarus angeschlossen, als auch einen OBD-Adapter spendiert, mittels dem es möglich ist, Messdaten des Fahrzeugs in Echtzeit auszulesen und auf dem Tablet anzuzeigen.

Um die Konstruktion möglichst gut in die bestehende Mittelkonsole zu integrieren, hat er aus Fiberglas und einem Original-Bauteil aus der Mittelkonsole, eine neue Halterung geformt. Das Ergebnis sieht aus, als wäre das Tablet integraler Bestandteil des Fahrzeugs bzw. vom Hersteller so geliefert.

Einen ausführlichen und bebilderten Bericht findet ihr auf Matts Blog.

Tablet als Beamer verwenden

Bei der nächsten Anleitung handelt es sich um ein Videotutorial, dass euch zeigt, wie ihr aus wenigen, günstigen Materialien einen “Beamer” aus eurem Tablet bauen könnt.

Prinzipiell besteht die gesamte Konstruktion nur aus drei Teilen. Einem Karton, Duct Tape und einer DIN A4 großen Leselupe/Linse. Auf einer Seite des Kartons wird ein Loch geschnitten, in das die Lupe eingelassen wird. Gegenüber wird das Tablet eingelassen bzw. befestigt.

Die Bildqualität ist zwar keineswegs mit der eines professionellen Beamers zu vergleichen, für eine Party oder als Gimmick reicht es jedoch allemal.

Zudem steht, wie bei den anderen Anleitungen auch, der Spaß am bauen im Vordergrund. Die qualitativ bessere Lösung, ist wohl in den meisten Fällen ein Produkt vom Händler, aber darum geht es in diesem Artikel ja nicht.

Ein Tablet im Eigenbau

Tablet im SelbstbauDas letzte Tutorial dieses Artikels richtet an sich an etwas erfahrenere Bastler und Hardware-Hacker. In seiner Anleitung, zeigt der User TeddyIndustries, wie man aus einem SOC (=System on a chip = Einplatinencomputer), einem Touchscreen und einiger anderer Hardware ein eigenes Tablet bauen kann.

Der schwierigste Part ist hierbei vor allem ein akzeptables Gehäuse zu finden bzw. zu bauen. Von den Abmessungen her, kann die Eigenbaulösung zwar nicht mit den Tablets der “Großen” mithalten, was die Leistung der verbauten Komponenten angeht, sieht dies jedoch schon ganz anders aus.

In seinem Bericht schreibt TeddyIndustries, dass sein selbst gebautes Tablet, leistungsmäßig mit aktuell am Markt erhältlichen Tablets mithalten kann. Zudem ergibt sich der Vorteil, dass er jede einzelne Komponente auf seine eigenen Bedürfnisse anpassen kann. So lässt sich zum Beispiel der Akku beliebig groß skalieren, da TeddyIndustries hierfür eine Powerbank verwendet, die es in nahezu allen erdenklichen Größen gibt.

6

Amazon SEO – Es muss nicht immer Google sein

Amazon SEOIm heutigen Artikel soll es um das Thema Amazon SEO gehen. Noch nie davon gehört? Nicht verwunderlich, denn die meisten Leute, egal ob Händler, Kunde oder Marketer verbinden auch heute noch genau einen Namen mit SEO – undzwar Google.

Dabei heißt SEO doch Search Engine Optimization – ist also frei vom jeweiligen Anbieter. Und auch Amazon bietet eine Suchmaschine. Zwar nicht für sämtliche Webinhalte, jedoch für die Produkte auf dem eigenen Marktplatz. Und wo eine Suchmaschine, also ein Algorithmus, der Ergebnisse zu einem Suchbegriff liefert und sortiert, existiert, da kann auch optimiert werden. Somit ist auch der Begriff Amazon SEO legitim.

Doch warum genau habe ich das Thema für den heutigen Artikel gewählt und inwieweit ist SEO für Amazon relevant in der heutigen Online-Branche?

Warum sollte man Amazon SEO kennen?

Amazon Umsatz steigernZuerst einmal sollte wir die Zielgruppe festlegen. Hierzu stellen wir uns die Frage: “Wem nützt es, in den Suchergebnissen weiter oben zu ranken?” Bei Google kann dies jeder sein. Vom Handwerker, der sich mehr Aufträge erhofft, über das Kino, dass das zweite Kino in der Stadt ausstechen möchte, bis zur Partei, die bei bestimmten politischen Fragestellungen den Eindruck der maßgeblichen Instanz erwecken möchte.

Bei Amazon gibt es jedoch nicht diese Vielfalt des Content. Bei Amazon werden ausschließlich Produkte durchsucht und gelistet. Ergo bringt eine höheres Ranking eines Produkts zu einem Suchbegriff genau einer Person etwas – dem Verkäufer. Denn je höher ein Produkt gelistet ist, umso mehr Sales lassen sich generieren.

Amazon SEO ist also ein Thema, dass sich an die Händler auf Amazon richtet. Und bei über 160 Millionen gelisteten Produkten und zigtausenden Händlern, bietet sich nicht nur eine große Zielgruppe, sondern auch viel Spielraum innerhalb der Suchergebnisse an den Rankins und damit auch an den eigenen Umsätzen zu feilen.

Ein weiteres Argument SEO für Amazon zu betreiben, ist die Tatsache, dass Amazons Suchmaschine in gewisser Hinsicht jener von Google vor einigen Jahren entspricht. Das soll heißen – mit wenigen, einfachen Maßnahmen lassen sich die Rankings leicht bzw. schnell beeinflussen. Bei Google ist dies aufgrund der schier endlosen Kriterien die in den Algorithmusn einfließen längst nicht mehr so einfach. Bei Amazon hingehen lassen sich noch mit überschaubarem Aufwand, schnelle Erfolge erzielen.

Wie funktioniert SEO für Amazon?

Wie funktioniert Amazon SEOIm Gegenteil zur klassischen SEO, bei der zwichen OnPage- und OffPage-Optimierung unterschieden wird, gibt es bei Amazon SEO eigentlich ausschließlich OnPage-Optimierung. Das, was bei SEO für z.B. Google unter OffPage fällt, also alles, was nicht an der jeweiligen Seite selbst stattfindet, sind eigentlich Backlinks.

Diese stellen für Amazon jedoch keine Relevanz dar. Je nach Auslegung könnte man die Rezensionen zu einem Produkt als OffPage bezeichnen, da diese im Normalfall außerhalb des Wirkungsbereichs des Händlers liegen. Da die Rezensionen jedoch auch direkt auf der Produktseite dargestellt werden, müsste man sie korrekterweise auch zu den OnPage-Maßnahmen zählen.

Wir halten also fest – die Handlungsempfehlungen zur Suchmaschinenoptimierung für Amazon beziehen sich nahezu vollständig auf OnPage-Maßnahmen. Doch wie sehen diese genau aus?

Nachfolgend nun einige der Amazon Onpage-Kriterien. Eine ausführlichere Liste findet ihr zum Beispiel auf den “Amazon SEO”-Seiten von ShopDoc bzw. in deren E-Commerce-Blog.

Bullet-Points

Bullet PointsAmazon erlaubt es bis zu 5 Bullet-Points zu definieren, die direkt zu Beginn auf der Produktseite angezeigt werden. Hier sollten alle wesentlichen Eigenschaften des Produkts kurz und knapp aufgelistet werden. Neben dem Produkttitel ist dies ein wesentlicher Platzhalter an dem Keywords untergebracht werden sollten, zu denen man ranken möchte.

Vorsicht: Keywordstuffing wird nicht von Amazon belohnt. Der Nutzer steht weiterhin im Vordergrund. Die Bulletpoints sollten trotz der Platzierung der Keyword gut und flüssig lesbar sein. Eine schlichte Aneinanderreihung von Keywords würde zudem den Leser abschrecken, die Bouncerate erhöhen und das Klick-to-Sale-Verhältnis verringern, was sich eher negativ auf das Ranking auswirkt.

Nicht sichtbare Keywords

Unsichtbare KeywordsWer jetzt an die im klassichen SEO tot gesagten Meta-Keywords denkt, liegt gar nicht so verkehrt. In den Einstellungen zum jeweiligen Produkt lassen sich bei Amazon insgesamt 5 Zeilen á 50 Zeichen mit Keywords versehen. Diese sollten idealerweise vollständig ausgenutzt werden.

Da diese Keywords ausschließlich vom Suchalgorithmus genutzt und dem Käufer nicht angezeigt werden, kann bzw. sollte man hier auch Vertipper-Keywords einsetzen. So lassen sich vorallem Kunden akquirieren, die den Suchbegriff falsch eintippen. Da längst nicht jeder Händler mit “Vertippern” arbeitet, lassen sich hier noch einige Sales abgreifen. Für den Begriff “Waschmaschine” macht es also durchaus Sinn auch die Keywords “Washmaschine”, “Waschmaschiene”, etc. mit aufzunehmen.

Qualität und Anzahl der Produktbilder

Gute BilderAmazon erlaubt das Hochladen von bis zu 8 Bildern. Dies sollte, wenn möglich, ausgeschöpft werden. Je mehr Bilder, umso besser kann sich der Kunde mit dem Produkt vertraut machen und sich sicher sein, das richtige zu kaufen. Eine hohe Klick-to-Sales-Ratio erhöht wiederum das Ranking in den Suchergebnissen.

Bei der Auflösung sollte ebenfalls nicht gegeizt werden. Die idealen Maße eines Amazon Produktbildes betragen 1500×1500 px. (Größere Bilder werden von Amazon automatisch skaliert, was ggf. zu Qualitätseinbußen durch das Downscaling führen kann.) Viel kleiner sollten die Produktbilder jedoch auch nicht sein, da ansonsten die Lupenfunktion der Produktbildanzeige nicht ideal funktioniert.

Weitere Kriterien

Weitere Kriterien/Faktoren sind zum Beispiel der Produkttitel, die Produktverfügbarkeit, die Versandkosten, die Händlerperformance oder die Retourenquote. (Und noch viele weitere!) Auf jeden einzelnen Punkt einzugehen, würde jedoch den Rahmen dieses Artikels sprengen. Wer mehr ins Detail gehen will, folgt einfach den, über den drei OnPage-Faktoren verlinkten, Artikeln oder schaut sich das ganze Thema als Videokurs an.

Welche SEO-Tools für Amazon gibt es?

Amazon Tool - Amazon Ranking OptimierungIm SEO für Google Bereich gibt es eine schier endlose Zahl an Tools und Helferlein, die einem das Leben  leichter machen sollen. Sistrix, Seolytics, Marketsamurai, Google Keyword Planner sind nur einige der etlichen Tools. Da ist es legitim auch im Amazon SEO nach solchen Tools ausschau zu halten.

Wie eingangs schon erwähnt ist SEO für Amazon zwar ein Thema von Brisanz, jedoch auch eines, das bisher relativ wenig Beachtung geschenkt bekommen hat. Dementsprechend sieht es auch am Tooling-Markt relativ mau aus. Das bereits erwähnte Team rund um ShopDoc ist jedoch derzeit damit beschäftigt ein spezielles Amazon SEO Toolkit bereitzustellen. Voraussichtlicher Live-Termin ist im Laufe des Jahres.

AmazonSEO KursFür einige Dinge, wie die Keyword-Recherche, lassen sich jedoch auch alt bekannte Tools wie der Google Keyword Planner wiederverwenden. Zwar stammen dessen Datenbestände nicht aus der Amazon Suchmaschine (die im übrigen auf den Namen A9 hört), dennoch lassen sich damit relevante Keywords ermitteln. Denn wenn Google zum Thema “Spiegelreflex Zubehör” die “Polarisierungsfilter” vorschlägt, dann kann man auch davon ausgehen, dass auch ein Nutzer auf Amazon, der nach “Spiegelreflex Zubehör” sucht, eine gewisse Affinität zum Thema “Polarisierungsfilter” aufweist.

Auch Tools wie LIX zur Berechnung des Lesbarkeitsindex können im Amazonbereich angewendet werden. Denn je höher die Lesbarkeit, umso geringer die Absprungrate. Und umso geringer die Absprungrate, umso höher die Chance auf einen Sale. Und wie wir bereits mehrmals gesagt haben – je mehr Sales, umso besseres Ranking.

Fazit

Amazon SEO ist ein Thema, was meiner Einschätzung nach in Zukunft noch massiv an Bedeutung gewinnen wird. Denn gemessen an den möglichen Umsatzsteigerungen, die dadurch zu erreichen sind, wird der Thematik bisher noch wesentlich zu wenig Aufmerksamkeit geschenkt. Wie steht ihr zu dem Thema? Hattet ihr bereits Berührungpunkte mit dem SEO für Amazon?

1

Die populärsten Programmiersprachen in 2015

Nachdem ich Ende 2014 aufgrund einer Diskussion, ob Java oder C# weiter verbreitet sind, einen Artikel über die populärsten Programmiersprachen 2014 verfasst habe, wird es nun Zeit für eine Neuauflage.

Das Jahr 2015 ist gerade zu Ende gegangen, sodass nun ein guter Zeitpunkt ist, rückblickend die Popularität verschiedener Programmiersprachen im letzten Jahr zu betrachten. Zudem werde ich natürlich darauf eingehen, ob und inwiefern sich das Ranking zum vorherigen Betrachtungszeitraum (2014) geändert hat.

Als Quelle dient, wie beim letzten mal auch schon, eine Statistik des IEEE (Institute of Electrical and Electronics Engineers). Wem das jetzt nichts sagt, der möge einmal an LAN, WLAN oder WPAN denken. Alle diese Dinge entstammen der Familie der IEEE 802 Standards. Die besagten Quellen zum selber Nachlesen findet ihr übrigens hier und hier.

Die Top 20 Programmiersprachen 2015

Die folgende Grafik zeigt die 20 populärsten Programmiersprachen basierend auf den Ergebnissen der oben verlinkten IEEE-Umfrage. Das Ranking ist sortiert nach den Kriterien des IEEE Spectrums. (Ein Ranking nach offenen Jobangeboten ist auf oben genannter Quelle auch möglich.)

Die Spalten von links nach rechts sind “Name der Programmiersprache”, “Typ” und “Ranking”. Die Icons in der Typ-Spalte stehen dabei für die Plattformen, auf denen die Sprache verfügbar ist.  (Ebenfalls von links nach rechts: Web, Mobile, Desktop und Embedded.)

 

Die Top 20 Programmiersprachen 2015

Nachfolgend habe ich noch einmal die diesjährige Statistik in einer Grafik neben die 2014er Statistik gestellt und Aufsteiger, Absteiger sowie Neueinsteiger markiert.

Hier ist schön zu sehen, dass es doch einiges an Bewegung innerhalb des Rankings gab. (Zum Vergrößern der Grafik, bitte einmal anklicken.)

Die Top 20 Programmiersprachen 2015 vs 2014

Auf den ersten fünf Plätzen hat sich nichts getan. Die “Big Five” dominieren weiterhin den Markt, wobei Python auch dieses Jahr die einzige Skriptsprache in den Top 5 bleibt. Die Reihenfolge der Top 5 Programmiersprachen spiegelt sich z.B. auch bei der Suche auf deutschen Freelancing-Plattformen wie Twago wieder.

Am interessantesten sind jedoch die Aufsteiger sowie der Neueinstieg und der dadurch verdrängte Platz.

Weiter nach oben hat sich R gekämpft. Die freie Programmiersprache für statistisches Rechnen sowie die Erstellung von statistischen Grafiken wird de facto auch immer mehr und mehr zum Standard für die Lösung von statistischen Problemen und BigData. PHP, JavaScript und Ruby sind dementsprechend einen Platz abgerutscht. (Jedoch wohl eher durch den Bedeutungsanstieg von R, als durch einen Abtieg ihrer eigenen Bedeutsamkeit.)

Weitere Aufsteiger, zudem mit den größten Sprüngen, sind Shell und Go. Auch wenn es im ersten Moment komisch andeuten mag, dass ein recht altes Konstrukt wie Shell-Scripting auf einmal an Bedeutung gewinnt, so lässt sich dies recht leicht interpretieren. Schließlich zielt Shell indirekt in die gleiche Ecke wie Go.

So wird Go vor allem in den Bereichen Clustering und Cloud-Computing forciert, also im Serverbereich. Dies ist ebenfalls das Metier von Shell. Bedingt durch den Paradigmenwechsel von Desktop- hin zu Web-Applikationen und somit dem erhöhten Bedarf an Servern und Cloud-Instanzen ist dieser Anstieg also zu erklären.

Weiter an Bedeutung verloren hat hingegen Perl, welches in vielen Bereichen mittlerweile durch Python ersetzt wird.

Der einzige Neueinsteiger ist Swift, die von Apple kreierte Programmiersprache für OSX, iOS und Linux. Dies erklärt dann auch das Abrutschen von Objective-C, welches primär für die Entwicklung von iOS-Apps genutzt wird. Hier substituiert Swift also gewissermaßen Objective-C.

Der einzige Aussteiger in der Liste ist HTML, was einfach nur konsequent war. Denn HTML ist, wie der Name bereits sagt, keine Programmier-, sondern eine Auszeichnungssprache und hatte somit auch in 2014 schon nichts im Ranking verloren.

Wie wurden die Daten erhoben?

Abschließend noch ein paar Worte zur Datenerhebung und den Quellen des IEEE-Konsortiums. Denn eine Statistik ist immer nur so gut, wie dessen Datenlage und Quellen.

Als Ausgangslage wurden 275 verschiedene Programmiersprachen auf GitHub ermittelt. Für jede dieser Sprachen wurde dann eine Suchabfrage bei Google ausgeführt. Die Anzahl der Suchergebnisse ergab dann ein vorläufiges Ranking. Die 48 populärsten Programmiersprachen wurden danach in folgenden 10 Quellen nach gewissen Metriken erneut untersucht und neu sortiert.

Google Suche: Die Anzahl der gefundenen Treffer bei der Suche nach “{Programmiersprache } programming”.

Google Trends: Der jeweilige Index für den Suchbegriff “{Programmiersprache } programming”.

Twitter: Die Anzahl der sozialen Interaktionen für den Suchbegriff “{Programmiersprache } programming”, abgerufen über die Topsy API.

GitHub: Hier wurden zwei Metriken entnommen. Zum einen die Anzahl der aktiven Repositorys und zum anderen die Anzahl der neu angelegten Repositorys zu einer Programmiersprache.

Stack Overflow: Hier wurden ebenfalls zwei Metriken entnommen. Zum einen die Anzahl der gestellten Fragen, die mit einer Programmiersprache getaggt wurden und zum anderen der Aktivitätsgrad, den die jeweilige Frage erreicht hat.

Reddit: Hier wurde die Anzahl der Posts gemessen, die die Phrase “{Programmiersprache } programming” enthalten.

Hacker News: Hier wurde ebenfalls die Anzahl der Posts gemessen, die die Phrase “{Programmiersprache } programming” enthalten.

CareerBuilder: Hier wurde die Anzahl der offenen Stellenangebote der letzten 30 Tage (vom Zeitpunkt der Datenerhebung an) für die jeweilige Programmiersprache gemessen.

Dice: Hier wurde analog zu CareerBuilder vorgegangen.

IEEE Xplore Digital Library: Hier wurde die Anzahl der im Messungszeitraum eingereichten Veröffentlichungen gezählt.

Insgesamt ergibt sich somit ein recht bunter Mix aus verschiedenen Quellen, welchen alle eine gewisse Relevanz im Themenkomplex “Programmiersprachen” zugesprochen werden kann.

0

Online-Poker automatisieren mit C#.NET

KartenDetektor mit GewinnwahrscheinlichkeitKommen wir heute zum dritten Teil der C#-Casino-Reihe. Wer gerade erst in die Serie einsteigt, sollte sich zuvor die ersten beiden Teile durchlesen. In Teil 1 ging es um die Berechnung der Gewinnwahrscheinlichkeit einer Pokerhand in C# und in Teil 2 ging es um das Erkennen von Spielkarten und deren Werten mittels maschinellem Sehen mit Hilfe der AForge-Bibliothek. Wir haben bisher also auf spielerische Art und Weise sowohl das Feld der Statistik, die Verwendung von externen Bibliotheken als auch die Grundlagen der Bildverarbeitung mittels C# bearbeitet.

Im heutigen, dritten Teil, soll es um die Verknüpfung der Ergebnisse der ersten beiden Artikel gehen. Wir wollen also für die analysierten Karten aus Teil 2 direkt die Gewinnwahrscheinlichkeit (wie in Teil 1) berechnen.

Vorbereitungen

Bevor es losgeht, solltet ihr euch das Ergebnis des zweiten Artikels herunterladen. Den Downloadlink für das Visual Studio Projekt findet ihr am Ende des Artikels. Um ein wenig “Kanonenfutter” zu haben, sprich Ausgangsmaterial, braucht ihr noch Screenshots aus einem beliebigen Online-Casino. Zum Testen reicht definitiv auch ein kostenloser Account!

Solltet ihr mit den gleichen Screenshots wie ich arbeiten wollen, damit ihr die Bilderkennung aus Teil 2 nicht anpassen müsst, so müsstet ihr euch einen kostenlosen Account bei Full Tilt Casino oder Mr. Green machen. (Alternativ hilft z.B. ein Blick auf serioeseonlinecasinos.org – dort sind, neben Mr. Green und Full Tilt Poker, noch weitere Alternativen gelistet.)

Habt ihr das Visual Studio Projekt geladen, kann es losgehen. Wir nehmen bewusst das Projekt des zweiten Artikels als Ausgangslage, da sich der Code aus Teil 1 leichter in Teil 2 “verpflanzen” lässt, als es andersrum der Fall wäre.

Using-Direktiven und eine weitere Bibliothek

Zuerst übertragen wir die externen Referenzen und Hilfsklassen aus Teil 1 in unser aktuelles Projekt. Hierzu kopieren wir die HandEvaluator.dll aus dem Projektordner von Teil 1 in den aktuellen Projektordner. Danach klicken wir im Verweis-Bereich des Visual Studios auf “Verweis hinzufügen”, wählen die DLL-Datei aus und schreiben schlussendlich die using-Anweisung (“HoldemHand”) in den Kopf der Form1.cs-Datei.


//...
using AForge.Math.Geometry;
using System.Drawing.Imaging;
using HoldemHand;

Nun haben wir die Grundlage geschaffen, um auch in unserem aktuellen Projekt die Gewinnwahrscheinlichkeit zu berechnen. Um nun auch in der Praxis die Wahrscheinlichkeit zu berechnen, brauchen wir natürlich die ausgeteilten Karten – ohne diese kann eine Berechnung logischerweise nicht stattfinden. Wer Teil 2 noch im Kopf hat, weiß, dass die Erkennung der Karten in der analyzeCards()-Methode stattgefunden hat. Zum Ende der Methode haben wir also die nötigen Informationen, sodass wir uns an dieser Stelle einklinken und die Funktion erweitern.

Arbeiten mit dem HandEvaluator

Nun geht es also darum, mittels des HandEvaluators die Gewinnwahrscheinlichkeit der bereits ermittelten Karten zu bestimmen. Die Aufgabe lautet also die erkannten Kartenwerte in die Form zu bringen, die der Handevaluator als Eingabe benötigt. Unsere Kartenwerte haben wir bisher in der Liste List<Card> cards abgelegt, wobei die Indizes 0-2 die Karten im Deck und die Indizes 3 und 4 die beiden Handkarten enthalten.  Jeder Index der cards-Liste besitzt wiederum die Eigenschaften suit (= Kartenfarbe) und value (=Kartenwert).

Da der HandEvaluator jedoch die englischen Kurzformen für die Kartenfarben benötigt, legen wir zuvor noch ein Dictionary an, mit dem wir gleich die deutschen Kartenfarbennamen (aus Teil 2) in die englische Kurzform überführen können.


//Kartenwerte und dazugehörige Bezeichnungen für die Poker-Library
private Dictionary<string, string> cardsTranslator = new Dictionary<string, string>()
{
{"2", "2"}, {"3", "3"}, {"4", "4"}, {"5", "5"}, {"6", "6"}, {"7", "7"},
{"8", "8"}, {"9", "9"}, {"10", "10"}, {"Bube", "J"}, {"Dame", "Q"},
{"König", "K"}, { "Ass", "A" }, {"Pik", "s"}, {"Herz", "h"}, {"Karo", "d"}, {"Kreuz", "c"}
};

Nun sind wir bereit, um die Gewinnwahrscheinlichkeit auszurechnen. Hierzu iterieren wir über alle Karten, übersetzen die Kartenfarben und übergeben dann den String, der alle Karten enthält an den HandEvaluator. Wem das jetzt zu schnell ging, der schaut sich am besten die Kommentare im nachfolgenden Code an oder hängt einfach mal einen Breakpoint in den Debugger. Folgenden Code fügen wir, wie eben besprochen, am Ende der analyzeCards()-Methode ein.


//Gewinnwahrscheinlichkeit berechnen - Teil 3

//Fasse alle Hand-Karten als string in der Poker-Library-Syntax zusammen
string handCards = "";
//Durchlaufe alle erkannten Karten
for (int i = 3; i < 5; i++)
{
handCards += cardsTranslator[cards[i].value] + cardsTranslator[cards[i].suit] + " ";
}
handCards = handCards.Trim();

//Fasse alle Deck-Karten als string in der Poker-Library-Syntax zusammen
string deckCards = "";
for (int i = 0; i < 3; i++)
{
deckCards += cardsTranslator[cards[i].value] + cardsTranslator[cards[i].suit] + " ";
}
deckCards = deckCards.Trim();

//Initialisiere Hilfsvariablen für die Poker-Library
double[] self = new double[9];
double[] opponent = new double[9];
double selfWin = 0.0;

//Berechne Poker-Hände und Wahrscheinlichkeiten
Hand.HandPlayerOpponentOdds(handCards, deckCards, ref self, ref opponent);

//Berechne Sieg-/Split-Wahrscheinlichkeit
for (int i = 0; i < 9; i++)
{
selfWin += self[i] * 100.0;
}

//Gebe Sieg-/Split-Wahrscheinlichkeit aus
var siegWahrscheinlichkeit = string.Format("{0:##0.0}%", selfWin);

KartenDetektor Label in WinFormsNun sind wir auch schon fast fertig. Das Ergebnis unserer Berechnung sollte sich nun in der String-Variable siegWahrscheinlichkeit befinden. Um diese auch an geeigneter Stelle anzuzeigen, fügen wir im WinForms-Designer noch ein Label ein. (Ich habe es labelWahrscheinlichkeit genannt und neben dem “nächster Screenshot”-Button platziert.)

Um die Wahrscheinlichkeit auszugeben, fügen wir nun noch eine letzte Zeile in unsere analyzeCards()-Methode ein.


labelWahrscheinlichkeit.Text = "Wahrscheinlichkeit für\r\nSieg oder Split:\r\n\r\n" + siegWahrscheinlichkeit;

Nun sind die Arbeiten abgeschlossen und wir neigen uns dem Ende des dritten Teils unserer Serie.

Fazit & Download

Das fertige Projekt könnt ihr natürlich wie immer herunterladen:

Download: KartenDetektor V2 – Visual Studio Project

Mit wenigen “Handgriffen” lassen sich die Ergebnisse der ersten beiden Artikel miteinander verschmelzen und somit ein Mehrwert kreieren. Solltet ihr Fragen oder Probleme haben, schreibt mir einen Kommentar. Selbiges gilt natürlich auch für Ideen, Wünsche oder Vorschläge für weitere Teile in der Serie! Was wollt ihr als nächstes sehen/lernen? Ich freue mich auf euer Feedback.

8

Winter-Nischen-Camp 2015 – Wochenbericht #4

Smartphone-aufladen-Nischencamp-ErfolgHeute gibt es den vierten und letzten Wochenbericht des diesjährigen Winter-Nischen-Camps. Vier Themenwochen mit wertvollen Tipps zur Optimierung meiner Nischenseite für Powerbanks und Ladegeräte sind um, weshalb ich heute nicht nur auf die Tipps der letzten Woche eingehe, sondern auch ein kleines Fazit rund um die Ergebnisse, Erfolge und Kennzahlen ziehen werde.

Die letzten drei Wochenberichte finden sich in den Artikeln Wochenbericht #1, Wochenbericht #2 und Wochenbericht #3.

Conversion-Optimierung für Nischenseiten

Das Thema der letzten Woche hieß Conversion-Optimierung. Es ging also um Maßnahmen, die das Verhältnis von Besuchern und vermittelten Verkäufen/Einnahmen positiv beeinflussen sollen.

Hierzu gab es wieder einen Artikel mit Tipps von Peer und einem weiteren Experten, der diesmal aus dem Amazon PartnerNet Team Deutschland stammte. Wie auch in den letzten Wochenberichten, zitiere ich erst den Tipp/Vorschlag und schreibe dann, ob und wie ich diesen umgesetzt habe.

In den Produkt-Reviews kann sicher der eine oder andere Affiliate-Link mehr im Text vorkommen. Am Ende der Produktvorstellungen gibt es die WP Product Review Box mit einem auffälligen Button, aber weiter oben findet sich kein offensichtlicher Link direkt zum Produkt. Teilweise gibt es auch gar keinen Text-Affiliatelink in den Reviews. (Peer Wandiger)

Hier habe ich nachgebessert und darauf geachtet, dass sowohl in den Testberichten als auch auf den anderen Unterseiten mehr und besser platzierte Affiliate-Textlinks eingebaut sind.

Da die Produktbilder in die Medien-Datenbank des Blogs heruntergeladen wurden, gibt es auch keine Bilder, die mit einem Affiliatelink versehen sind. Dafür nutze ich z.B. das Produktbild-Widget von Amazon, welches auch einen Affiliatelink beinhaltet. (Peer Wandiger)

Diesen Tipp habe ich umgesetzt, jedoch direkt von meinen Bildern verlinkt, statt das Amazon Widget zu nutzen. Denn prinzipiell ist es ja kein Problem, die Bilder per Medien-Datenbank in WordPress einzubinden, da auch diese leicht mit einem Affiliate-Link versehen werden können.

In meinen Augen ist dies sogar die bessere Lösung als die Nutzung des Produktbild-Widgets, da so zum einen keine externen Abhängigkeiten bestehen, die die Ladezeit der Seite negativ beeinflussen können und da zum anderen das Risiko geringer ist, dass das Bild als “Werbung” eingestuft und von einem Adblocker ausgeblendet wird.

Wenn Google AdSense weiter genutzt werden soll, würde ich ein relativ großes Banner direkt in die Ratgeber-Artikel einbauen und z.B. auch unter die Lexikon-Einträge. (Peer Wandiger)

Diesen Tipp habe ich vorerst nicht umgesetzt, da mir die Seitenaufrufe meiner Nischenseite einfach noch zu gering sind. Bei nicht einmal 2000 monatlichen Besuchern würde ich selbst bei einem besseren RPM von 2,50€ kaum auf 5€ monatliche Einnahmen durch Adsense kommen. Das entspricht ca. 2-3 Sales über das Amazon Parnernet bei meiner Produktkategorie.

Da ich derzeit eine Conversion-Rate von über 10% im Amazon Partnernet habe, bin ich der Meinung, dass ich mit Produktlinks bzw. Verlinkungen von den Lexikoneinträgen auf Verkaufsseiten den Traffic wesentlich besser convertieren kann.

Da die hier vorgestellten Produkte sicher in vielen Online-Shops angeboten werden, lohnt sich meiner Meinung nach ein Preisvergleich am Ende jedes Reviews. (Peer Wandiger)

Den Preisvergleich hatte ich ja im letzten Bericht schon angesprochen. Mittlerweile bin ich bei Zanox und Affilinet bei allen großen Elektronik-/Technik-Shops freigeschaltet und konnte das Pricemesh-Preisvergleichs-Plugin nun einmal genauer ausprobieren.

Nach ein paar Tests habe ich jedoch für mich beschlossen, dass der Einsatz in dieser Nische keinen Sinn macht. Bei Powerbanks werden viele “Whitelabel”-Produkte vertrieben. Es hat zwar fast jeder Elektronik-Shop Powerbanks in seinem Sortiment, aber bis auf 2-3 Fälle, war eine bestimmte Powerbank immer nur bei einem Händler zu finden.

ProduktinfolisteAus diesem Grund macht ein Preisvergleich an dieser Stelle keinen Sinn, da ich nicht sehe, dass ich die Kosten für das Preisvergleichs-Plugin wieder einholen kann, wenn ich es nur vereinzelt nutzen kann.

In den Reviews würde ich die technischen Daten in einer kleinen Liste zusammenfassen, die schnell überflogen ist. (Peer Wandiger)

Dies habe ich indirekt durch den Einbau der Produkt-Boxen des AAWP-Plugins erledigt. Diese enthalten neben dem Bild auch eine kleine Feature-Liste.

In der Bestseller-Liste wird auch angezeigt, welche Produkte gerade im Angebot sind. Das ist sehr gut. Dennoch wäre eine zusätzliche Seite mit aktuellen Angeboten (z.B. Schnäppchen-Widget von Amazon) sinnvoll. (Peer Wandiger)

Diesen Tipp habe ich mir für die Zukunft vermerkt. Wie bereits geschrieben, sträube ich mich derzeit noch etwas gegen Amazon-Widgets, da diese vom Werbeblocker geschluckt werden. Kommt nun jemand mit Werbeblocker auf die Nischenseite und geht auf die Seite “Angebote”, so würde er lediglich eine weiße Seite sehen. Das kann nicht so recht im Sinne des Nutzers sein.

Da ich die Idee prinzipiell aber gut finde, will ich noch mal recherchieren, ob es nicht auch ein passender Plugin gibt, dass dies über die Amazon-API abwickelt. Vielleicht wäre dies auch noch eine gute Zusatzfunktionalität für die Entwickler von AAWP, welches ich in den letzten Wochen auch auf der Seite eingebaut habe.

Auch hier können die Streichpreise zu einer Conversionanhebung führen. Das „gespart“ geht zwar in die richtige Richtung, aber der visuelle Effekt des gestrichenen Preises ist in der Conversionanhebung deutlich stärker. (Amazon Partnernet Team)

Mit dem Update des AAWP-Plugins wird die Ersparnis nun auch als Streichpreis angezeigt. Den Punkt konnte ich also umsetzen, ohne groß etwas anzupassen.

Bei Amazon würde ich das eine oder andere Widget mit reinnehmen und testen, wie oft dieses geklickt wird. (Peer Wandiger)

Ein Widget mit dem aktuellen Preis sollte auf jeden Fall in die Tests rein. (Amazon Partnernet Team)

Hier habe ich die Product-Box des AAWP-Plugins in die Testberichte eingebaut und hoffe, dass sich dies positiv auf die Conversions auswirkt.

Weitere Maßnahmen

Zudem habe ich 2 verschiedene Testfälle mit bis zu 3 Variationen auf den am meisten aufgerufenen Seiten erstellt. Für diese Conversiontests habe ich mich für die kostenlose Variante von Optimizely entschieden.

Optimizely ÜbersichtNeben Button-Farben in der WP Product Review Box teste ich auch den Button-Text der AAWP-Box. Da die Seitenaufrufe meiner Nischenseite jedoch noch recht gering sind und die Aufrufe einzelner Seiten für die Tests noch geringer sind, wird es jedoch mindestens 1-2 Monate dauern, bis ich einigermaßen verlässliche Zahlen habe.

Sollten sich die Besucherzahlen jedoch weiter verbessern, verkürzt sich das Testintervall auch, sodass ich Maßnahmen aus den Testergebnissen ableiten und neue Tests starten kann.

Zudem habe ich mich auch die letzte Woche wieder mit der Contenterstellung befasst. Konkrekt heißt das, dass ein neuer Blogartikel erschienen ist, der sich damit befasst, welche Powerbank sich für den Raspberry Pi eignet. Hier versuche ich im Rahmen von Cross-Selling sowohl Raspberry-interessierte Besucher anzulocken und neben Powerbanks vielleicht noch den ein oder anderen Minicomputer zu vermitteln.

Zudem habe ich Buffer weiter befüllt, sodass die nächste Zeit erstmal für etwas Content und Bewegung auf den Socialmedia-Profilen gesorgt ist.

Fazit, Ergebnisse und Ausblick

Dadurch, dass ich meine Internetgeschäfte bisher nur nebenberuflich Betreibe und mein wöchentliches, zeitliches Budget somit begrenzt ist, empfand ich die vier Wochen als relativ “strammes” Programm.

Dennoch bereue ich die Teilnahme nicht, weil ich:

  1. Viel Neues dazu gelernt habe
  2. Feedback von Dritten bekommen habe (was super gegen Betriebsblindheit hilft)
  3. Ich durch die Wochenberichte und die “Öffentlichkeit” einen gewissen Druck hatte, der zusätzlich als Motivation diente

Das die Mühen nicht umsonst waren, zeigen auch die Seitenaufrufe. Sowohl in den Webmaster Tools als auch in Google Analytics ist in den letzten vier Wochen ein konstanter Anstieg zu erkennen.

Smartphone aufladen Webmastertools  Smartphone aufladen - Google Analytics

Und damit nun keiner behauptet, der Besucheranstieg sei nur durch Referrals von Peers und meinem Blog entstanden, hier noch einmal die bereinigten Besucherzahl aus Google Analytics. Gezeigt werden ausschließlich Besucher aus der organischen Suche.

Smartphone aufladen - Google Analytics Organische Suchanfragen

Für die kommenden Wochen habe ich mir bereits ein paar weitere Dinge vorgenommen. So möchte ich zum einen noch ein paar Blogartikel schreiben, um etwas mehr Longtail-Traffic einzusammeln und die Position meiner Seite insgesamt zu stärken und zum anderen möchte ich ein paar kleine “Rechner” rund um die Themen Kapazität, Akkulaufzeit, Ladezeit, Spannung und Leistung programmieren.

Weiter habe ich mir wieder die ein oder andere Powerbank bestellt, zu der es dann neue Testberichte geben wird. Diesmal möchte ich mich auch an das Thema Videobericht wagen, in der Hoffnung dadurch weiter an Relevanz zu gewinnen und Rankings steigern zu können.

Die Powerbanks aus diesen Tests sollen dann schließendlich im Rahmen einer Blogparade an die Teilnehmer verlost werden. So haben wir dann alle was davon.

Wer nun Lust auf eine Nischenseite bekommen hat, dem lege ich zum Schluss noch meinen Nischenseiten-Einsteiger-Artikel und mein kleines Kompendium zum Thema “Wie man kein Geld im Internet verdient” ans Herz.

So und nun seid ihr dran! Wenn ihr Fragen habt oder etwas unklar ist, schreibt mir einen Kommentar. Ich freue mich auf euer Feedback und spannende Diskussionen.

Seite 1 von 64