view from the conference center
The beautiful view from the conference centre.

Last week I attended the EuroClojure conference 2014. It was a truly fantastic conference in the beautiful city of Kraków. While the big conferences in the US attract thousands of participants, this one was rather cosy with some 300 participants. As a very good side effect of this, the conference was single tracked. So I missed none of the great talks.

If you do not know clojure by now, let me start with a very short primer: Clojure is a modern, functional programming language targeting the java virtual machine. It is a lisp dialect, designed for concurrency, performance and code that is easy to understand and thus easy to reason about. One of the most outstanding features of clojure is its immutable, persistent datastructures directly built into the language. With clojurescript there also exists a version of clojure targeting javascript rather than the jvm as a runtime.

Null Toleranz für Fehler: Wie wir auf otto.de die Qualität hoch halten
von Robert Breetzmann, Stephan Kraus und Christian Stamm

Wie schafft man dutzende Live-Deployments pro Woche auf einer der größten E-Commerce-Plattformen in Europa? Um permanent neue Features und Korrekturen ausliefern zu können, wird eine wesentliche Ingredienz benötigt: automatisierte Qualität. Mit unserer Geschichte eines Bugs verfolgen wir in diesem Artikel eine konkrete Fehlerbehebung auf otto.de und geben praktische Tipps für Qualität in der agilen Softwareentwicklung.

In der Ausgabe Juli/August 2014 des OBJEKTspektrum haben wir zum Schwerpunktthema „Qualität“ einen Artikel veröffentlicht, in dem wir beschreiben, wie wir die Softwarequalität auf otto.de dauerhaft hoch halten und somit in der Lage sind, schnell Veränderungen auf der Plattform in Produktion zu bringen.

Es hat bereits viele Diskussionen über die Vor- und Nachteile von Mobile Web und nativen Apps gegeben. OTTO selbst hat die iPad App hybrid entwickelt. In diesen Beitrag werden wir mehr auf die Vorteile beider Technologien eingehen und nennen Beispiele, wie man diese elegant kombinieren kann. Wir gehen weniger auf eine triviale Pro- und Contra Liste ein, welche bereits genügend im Netz zu finden sind. Wir werden erklären, warum wir uns für die hybride Lösung entschieden haben und weswegen wir keine Cross-Frameworks empfehlen.

Ich war am 03. & 04.04.2014 in Berlin auf der BED-CON mit einem Talk über unsere Erfahrungen im Projekt LHOTSE aus Sicht von Operations vertreten. Die Konferenz fand auf dem Gelände der Freien Universität Berlin statt – ein sehr schönes Campusflair war also dabei. Die Talks waren Java & entwicklungslastig und passten daher sehr gut zu OTTO und unserem Shop. Hier mein persönlicher Konferenzbericht.

Today, most online shop systems offer product recommendations. In addition to the page navigation and the onsite search, recommendations are another good possibility to lead customers to suitable products. If recommendations are based on click streams and purchases of customers, usually an external standard software is used for generating these recommendations. Otto.de uses the prudsys Realtime Decisioning Engine (prudsys RDE).

LHOTSE is the internal code name for our project to re-develop www.otto.de: in-house, based on open source software and using agile methodologies such as Scrum and XP. LHOTSE went live on 24th October 2013 – three months before schedule. Although it took us roughly two years to develop, with a team of more than 100 experts, getting LHOTSE live was practically a „non-event“. So, why did everything work out so well?

Seit einigen Jahren mischen Smartphones und Tablets den klassischen PC-Markt auf. Immer mehr Menschen gehen mit ihren mobilen Geräten ins Internet. Diesem Trend versucht OTTO mit diversen geräteoptimierten Shops sowie hybriden Apps gerecht zu werden. Daraus resultiert eine nicht zu unterschätzende Design-, Code- und damit auch Feature-Fragmentierung.

Seit 2010 gibt es aber auch einen anderen Ansatz, um auf die Multi-Device Problematik einzugehen, und zwar Responsive Webdesign. Zum ersten Mal wurde der Begriff von Ethan Marcotte in einem Artikel für das Magazin A List Apart verwendet. Er beschreibt ihn dort wie folgt:

„Rather than tailoring disconnected designs to each of an ever-increasing number of web devices, we can treat them as facets of the same experience. We can design for an optimal viewing experience, but embed standards-based technologies into our designs to make them not only more flexible, but more adaptive to the media that renders them. In short, we need to practice responsive web design.“

Aus technischer Sicht bedeutet das ganz konkret: Eine einzige HTML Struktur mit dazugehörigem CSS für alle Endgeräte, also keine Fragmentierung mehr. Besonders interessant wird Responsive Webdesign unter dem Gesichtspunkt, dass die Grenzen zwischen den Geräten zunehmend verschwimmen.