Der Tag eines Software Entwicklers bei smec ist so abwechslungsreich wie das Betätigungsfeld. Derzeit nimmt Whoop!, ein neues Bidmanagement-Tool für Google Shopping, den größten Teil des Arbeitstages ein. Data Science und die Integration der Ergebnisse dieser Disziplin in die Whoop! Applikation, neue Technologien auf Server- und Client-Seite – Entwicklerherz, was willst du mehr!

Whoop! kommuniziert mit jener Komponente, auf die wir in Zukunft bauen – der smec DataEngine. Hier passiert im wesentlichen das, was mittels Whoop! kontrolliert wird: Kunden-Daten werden mit Daten von Google verknüpft und es werden Shopping-Kampagnen bzw. Gebote generiert. Es handelt sich dabei um jenes System, mit dem wir „Big Data“ umsetzen. Derzeit basiert es auf Java bzw. Spring und Spring XD. Die smec DataEngine ist auf dem besten Weg sich von einer mehr oder weniger monolithischen Lösung hin zu einer Micro-Service-orientierten Lösung zu entwickeln, um unseren Anforderungen besser gerecht zu werden. Daher wird in diesem Bereich derzeit nicht nur viel Zeit in die Implementierung von Problemlösungen und neuen Features investiert, sondern auch in die Umsetzung und Planung von Build-, Release- und Deployment-Lösungen.

Die Sales Intelligence Engine (kurz SIE oder auch smec AdEngine genannt) ist die älteste Software-Komponente bei smec und ist für uns eine unverzichtbare Komponente die u.a. Long-Tail Kampagnen generiert. Auch sie kommuniziert bereits mit der smec DataEngine. Es gibt zwar gelegentlich noch Weiterentwicklungen auf der SIE, im Grunde versuchen wir allerdings so vieles wie möglich in der smec DataEngine aufzunehmen. Die SIE ist ein sehr gutes Beispiel dafür wie gut auch etwas reifere Software erweitert werden kann, wenn die Architektur sauber ist und die Entwicklung Test-getrieben statt gefunden hat und statt findet.

Zu guter Letzt gibt es mit Luzid eine weitere Komponente, die einerseits aus einem Java-Backend und andererseits aus einem HTML/JS-UI besteht. Das eingesetzte JS-Framework wurde im Laufe einiger Jahre von uns selbst entwickelt und hat viel Wissen im Bereich von JavaScript und funktionaler Programmierung gebracht. Auch Luzid wird inzwischen schon in vielen Bereichen von der smec DataEngine bedient.

Am Ende eines Tages haben wir oft einen schönen Technologie-Stack durchforstet: Von Java über Groovy hin zu JavaScript, HTML und CSS – und das auf den unterschiedlichsten Plattformen wie Spring, Spring XD, Tapestry, Gradle, NodeJs, Angular und Twitter Bootstrap.

Gut zu wissen, dass man das nicht alleine bewältigen muss. Wir nehmen uns genügend Zeit neue Dinge zu lernen und erklären vieles im Rahmen unserer täglichen Tech-Talks. Pairing ist für uns übrigens keine Zeit- und Ressourcen-Verschwendung, sondern ein wesentlicher Punkt bei der Erlernung von neuen Technologien und vor allem auch bei der Umsetzung von neuen Features.

Anzeigenerweiterungen von Google AdWords sind prinzipiell ein alter Hut – und dennoch sind sie die neuen Erfolgsmulitplikatoren! Sie sind, neben dem Qualitätsfaktor und dem CPC-Gebot, ein Multiplikator in der Berechnung der Anzeigenposition. Das heißt: Sind zwei (sich konkurrierende) Anzeigen vom Gebot und Qualitätsfaktor gleich, entscheidet Google mittels der Anzeigenerweiterungen, welche Anzeige schlussendlich höher gereiht wird.

Neu bei der smec AdEngine ist die automatisierte Erstellung von Sitelinks und Callout-Extensions anhand eines Produktdatenfeeds über die Adwords-API. Mit dieser softwaregestützten Generierung von produktgenauen Zusatzinformationen wird einerseits die Relevanz der Anzeige für den User gesteigert, und andererseits das Cross-Selling-Potenzial von einzelnen Produkten abgeschöpft.

Bei den Callouts können u.a. produktspezifische Lieferzeiten, Lagerstände, Versandinformationen und Zusatzinformationen wie Produkteigenschaften kommuniziert werden.nike_fußballschuh_mercurial_vapor_x_fg_-_Google-Suche

Auch zeitlich-beschränkte Verfügbarkeiten und Aktionen können in den Callout-Erweiterungen dargestellt werden.

van_morrison_wien_-_Google-Suche

Bei Sitelinks sind, je nach Suchanfrage des Users, unterschiedliche Strategien möglich. Bewährte Vorgehensweisen sind die Ausspielung:

  • Ähnlicher Produkte,
  • Ergänzender Produkte (z.B. Zubehör),
  • Oft zusammengekaufter Produkte,
  • Marken- und/oder Kategorie-Familien,
  • Angebote und Topseller.

Oberstes Ziel ist jedoch das gezielte Pushen von Produkten (und/oder Kategorien bzw. Marken) mit direkter Navigationsmöglichkeit für den Kunden.

imgo

imgo-2

Kurz zusammengefasst: Wieso sind produktspezifische Anzeigenerweiterungen wichtig?

  • Steigern der Relevanz – User mit einer spezifischen Suchanfrage haben ein höheres Kaufinteresse,
  • Steigern der Anzeigenposition und bessere Sichtbarkeit der Textanzeige,
  • Cross-Selling-Potenziale abgreifen,
  • Sichtbarmachen der Sortimentstiefe,
  • Mögliches Pushen von Topseller-Produkten o.Ä.

Für softwaregestützte Anzeigenerweiterungen benötigen Sie die smec AdEngine und einen Produktdatenfeed. Wir beraten Sie gerne!

 

Am 21.01.2010 werde ich am FH OÖ Campus Hagenberg einen Vortrag über die Programmiersprache Groovy halten. Auch bei Smarter Ecommerce spielt Groovy eine wichtige Rolle.

Am 21.01.2010 veranstaltet die Enterprise Java User Group ein Seminar am FH OÖ Campus Hagenberg. Im Rahmen des Seminars werde ich einen Vortrag über die Programmiersprache Groovy halten. Jeder Interessierte ist herzlich willkommen (Eintritt frei). Details zum Event gibt es hier.

Auch bei Smarter Ecommerce spielt Groovy eine wichtige Rolle. Wir verwenden Groovy hauptsächlich in zwei Bereichen:

  1. Als Skriptsprache in unseren Anwendungen
    Aufbauend auf Groovy haben wir eine Skriptsprache namens SmecoScript entwickelt. Ähnlich wie Visual Basic for Applications stellt SmecoScript einen Baukasten von Funktionen bereit, die sich in vielfältiger Weise kombinieren lassen. Das ermöglicht uns, Abläufe zu automatisieren und genau an die Bedürfnisse unserer Kunden anzupassen.
  2. Zum Testen unserer Software
    Zum Testen der von uns entwickelten Software verwenden wir Spock, ein von mir entwickeltes und auf Groovy basierendes Werkzeug zum Testen von Software auf der Java-Plattform. Durch die nahtlose Integration zwischen Groovy und Java ist Spock auch hervorragend zum Testen von Java-Code geeignet (z.B. als Alternative zu JUnit).

Den Kern unserer Anwendungen werden wir auch in absehbarer Zukunft noch in Java entwickeln. Aber überall dort, wo Flexibilität, Ausdruckskraft und gute Lesbarkeit (gerade auch für Nicht-Programmierer) im Vordergrund steht, geben wir immer öfter Groovy den Vorzug.

Also dann: Happy Groovy’ing!