Es ist wieder mal OOP und viele Techies, Architekten, PLs und Middlemanager pilgern zur Messe München. Allerdings nicht ganz so viele wie auch schon, aber das ist eine gefühlte Menge und mein Gefühl ist vielleicht durch die JavaOne vom letzten Jahr ein wenig beirrt worden...

So ein richtiger Trend bezüglich aktueller Themen - mal abgesehen vom iPhone, welches in jedem Vortrag auf irgendeine Weise referenziert wird - ist bisher noch nicht auszumachen. Mal sehen, was die nächsten Tage bringen.

Die Keynotes waren von erstaunlich guter Qualität, fernab dem üblichen Sales-blabla:

Prof. Dr. Oliver Gassmann von der Uni St. Gallen referierte in Innovation – zwischen Buzzword, Management und Intuition darüber, wie Firmen wie Apple, Google und Nestle ihre Innovationen zum Erfolg führen. Quintessenz: Innovativ ist eine Firma schnell einmal, aber um die Innovationen in Geld zu verwandeln müssen primär eingebrannte Denkweisen verworfen werden. Einige Beispiele: Wer hätte vor wenigen Jahren gedacht, dass man Kunden dazu bringen kann, für ein Kilo Kaffe 50 Euro zu bezahlen? Nestle hat's mit Nespresso vorgemacht. Warum hat Apple das Rennen um die portablen Musikplayer gewonnen und nicht Sony, welche bisher mit Walkman und Discman den sprichwörtlichen Ton angaben? Sony war der Meinung, dass man Musik nur über Tonträger verkauft. Und warum gibt sich das Fraunhofer Institut mit ein paar Millionen Lizenz-Einnahmen für das MP3-Format zufrieden während andere Milliarden damit verdienen?
Daneben ging es auch darum, wie man Mitarbeiter dazu motiviert, sich kreativer für die Firma einzusetzen. Neben den üblichen Anreizen, wie Geld und Status, waren vor allem folgende Aussagen wichtig:

  • Keine Kreativität ohne Fachwissen. Firmen wie Brainstore versprechen zwar, eine Fülle von Ideen zu einem fast beliebigen Problem zu liefern. Wirkliche Innovation benötigt aber fundiertes Fachwissen, auf dem man aufbauen kann.
  • Spass und Komfort sind essenziell. Kreativität braucht ein anregendes Umfeld, in dem Vertrauen herrscht und man sich wohl fühlt. "Kein Zeitdruck" ist gehört übrigens nicht automatisch mit dazu. Wenn die Rahmenbedingungen stimmen, kann man auch unter Zeitdruck sehr wohl kreativ sein.

Die andere Keynote, How Simple is Too Simple? von Erik Dörnenburg und Dan North, behandelte Komplexität von Problemen und Lösungen. Einfachheit demonstrierten die beiden vor allem anhand ihrer Folien: Etwa 4 Slides mit insgesammt max. 15 Wörtern führten durch die 1h-Keynote. Die wichtigsten Aussagen:

  • Die Krankheit, immer alles möglichst generisch lösen zu wollen, führt zu unnötig komplizierten Lösungen. Und meistens ist die Schnittmenge zwischen der durch die generische Lösung anvisierten Varianz und der dann tatsächlich benötigten Flexibilität annähernd null.
  • Standards sollten aus der Praxis kommen und nicht umgekehrt. Sun definiert mit dem JCP üblicherweise erst mal einen Standard, schaut dann wie der sich in der Praxis bewährt und verbessert ihn dann mühsam über die Jahre hinweg. Eindrücklichstes Beispiel ist die EJB-Spezifikation. Ruby on Rails  ingegen hat die bewährtesten Prinzipien in ein Framework gegossen und ist extrem erfolgreich damit.
  • Eine Lösung soll zwar möglichst einfach, aber nicht zu einfach sein. Ein grosser Fehler wurde beispielsweise gemacht, als man verteilte Systeme und Objektorientierung in Form von CORBA, RMI, EJB, etc. miteinander kombiniert hat. Durch den transparenten Ansatz hat man die Entwickler dazu verleitet, auch in verteilten Systemen so zu programmieren als wäre alles lokal. Dass aber entfernte Aufrufe mindestens um den Faktor tausend langsamer sind als lokale und erst noch unzuverlässig (RemoteException...) wurde dabei einfach ignoriert. Firmen wie dynaTrace verdienen ihre Geld dank diesem zu simplen Ansatz.

Ein paar Auszüge aus den Sessions

Der Speech zu Silverlight von Christian Wenz war primär sehr unterhaltsam. Die Themen waren Verbreitung, Status und Zukunft von Silverlight. Damit Silverlight ein Erfolg wird, muss die Verbreitung des notwendigen Plugins hoch sein. Wie der Browserkrieg gezeigt hat, werden schwach verbreitete Browser von den Webentwicklern links liegen gelassen, weil es sich nicht lohnt und man es sich nicht leisten kann, Applikationen auf jede Umgebung anzupassen. Gemäss Adobe hat Flash eine Verbreitung von 99% (Die von Java ist übrigens 85%). Diese Marke ist extrem hoch und Microsoft setzt alles daran, für Silverlight dieselbe Durchdringung zu erreichen. Das führt soweit, dass das Plugin sogar im Firefox läuft. Und damit nicht genug, gibt es sogar ein Plugin für den Safari und Firefox auf Mac. Der Hammer ist aber, dass es auch ein Plugin für Firefox auf Linux geben soll (sinnigerweise Moonlight genannt). Microsoft sponsert dieses Projekt via den Untertanen Novell und dessen Schützling, das Mono-Projekt.
Und noch etwas ganz anderes: Am Rande konnte man noch erfahren, warum man seit 2 Jahren (genauer seit April 2006) im IE bei jedem ActiveX-Plugin erst das Plugin aktivieren muss ("Click to activate and use this control") bevor man es wirklich benutzen kann. Das ganze geht auf einen Patentstreit zwischen Microsoft und Eolas zurück. Eolas reklamiert mit einem Patent die Rechte an der Plugin-Technologie für sich. Microsoft umgeht mit der zusätzlichen Aktivierung die Bestimmungen des Patents. Was hat das mit Silverlight zu tun? Für Silverlight geht Microsoft den Umweg via JavaScript und Host-Div-Tag um das Plugin einzubinden, was anscheinend das Patent nicht tangiert. Damit fällt für Silverlight die Aktivierung weg. Für andere Plugins gibt es aber auch Good News: Ab April 2008 ist wieder Schluss mit Aktivierung.

XING Marketplace - Integration von Ruby on Rails in die XING Plattform von Norman Timmler und Andreas Wachowski war zumindest teilweise ein Anschauungsbeispiel des "Not-Invented-Here"-Syndroms (NIH). Die Plattform XING wurde bisher von der Firma epublica entwickelt. Im Laufe der Zeit kamen 220'000 Zeilen Perl-Code und eineige zehntausend Zeilen HTML, Java und JavaScript zusammen.
XING baut nun eine eigene Entwicklertruppe auf, welche nun alle neuen Bereiche der XING-Plattform entwickeln. Erstes Projekt war die Jobbörse XING Marketplace. Die Entwickler setzen nun aber nicht etwa auf der bestehenden Architektur auf, sondern entwickeln ihre Teile neu in Ruby on Rails. Auch das ganze Entwicklungsumfeld (z.B. SVN statt CVS) wurde neu aufgebaut.
Insgesamt waren sie anscheinend erfolgreich, denn der Benutzer merkt heute nichts vom Technologie-Switch zwischen der Haupt-Plattform und dem Marketplace. Die Entscheidung war aber ziemlich mutig, denn es mussten Probleme, wie Single Sign On, das gemeinsame Verwenden von Benutzerdaten, Routing und Load-Balancing mit zwei völlig unterschiedlichen Systemen, etc. gelöst werden. Eine dringend benötigte Funktionalität in Ruby on Rails, das Namespacing, wurde sogar erst während der Entwicklung des Marketplace in RoR integriert. Alles in allem ein Hochrisikovorgehen, das auch hätte schiefgehen können. Immerhin ist XING mit 4.5 Millionen Mitgliedern und etwa 18 Millionen Euro Umsatz nicht gerade klein.
Allerdings: ich möchte persönlich auch nicht 220'000 Zeilen einer Write-Only-Sprache weiterentwickeln müssen...