Der Technology Stack von Trello

Trello ist eines der Online-Werkzeuge das sich sehr schnell verbreitet hat und in Rekordzeit an Atlassian verkauft wurde. Die dazugehörige separate Firma (Trello Inc.) wurde gerade mal im Jahr 2015 gegründet und bereits im Jahr 2017 für 425 Millionen US Dollar (zirka 370 Millionen Euro) verkauft.

Was waren die Erfolgsfaktoren und wie sieht der Technology Stack der Plattform aus? Auf diese Dinge gehen wir in diesem Beitrag ein.

Einführung

Projektmanagement Werkzeuge gibt es wie Sand am Meer, besonders welche die Online verfügbar sind. In solch einem Markt, sollte man sich denken, kann ein weiteres Tool (Englisch für Werkzeug) nicht wirklich erfolgreich sein, denn dafür gibt es ja bereits genug erfahrene Anbieter.

Dennoch hat es die Plattform geschafft schnell Verbreitung zu finden. Der Grund ist unter anderem in der Einfachheit der Bedienung zu finden. Man kann es relativ schnell erlernen. Es gibt auf Youtube kurze Videos von 10 Minuten Länge. Das Schauen eines solchen Videos reicht bereits um fast alle Funktionalitäten dieser Plattform zu verstehen.

Gleichzeitig kann man es auch anderen Teammitgliedern sehr einfach erklären. Besonders Unternehmer mögen so etwas, wenn man schnell, wichtiges Wissen weitervermitteln kann.

Zudem war das System von Anfang an kostenfrei und hiermit war die Hürde um ein vielfaches tiefer. Bekam man das Tool von jemandem empfohlen, dann konnte man es zumindest einmal antesten und schauen wie es funktionierte. Die meisten sind jedoch nach einer kurzen Nutzung bereits begeistert.

Grössere Unternehmen brauchen meistens noch mehr Funktionalitäten und können hier Zusatzpakete hinzubuchen. Diese sind jedoch in der Regel auch sehr günstig und kosten nur wenige Euro pro Gruppe. Auch für grosse Unternehmen wird das Thema “Kosteneinsparungen” besonders im Bereich IT immer wichtiger. Da kommt solch ein kostengünstiges Werkzeug gerade gelegen.

Weitere wichtige Erfolgsfaktoren

Es gibt jedoch drei Faktoren, welche das Werkzeug immens erfolgreich machen. Diese im Folgenden:

  1. Einfach zu verstehen: Im Grunde genommen handelt es sich einfach um ein Whiteboard (Englisch für Tafel). Man erstellt Task Listen (Englisch für Aufgabenlisten) in unterschiedlichen Spalten und gibt diesen Überschriften. Diese Tasks werden in Form von Karten dargestellt. Diese Karten kann man bearbeiten und auch von einer Spalte zur nächsten verschieben.
  2. Kein laden: Fast jede Software, sei es auf dem Desktop oder im Web, braucht einiges an Zeit um zu laden. Meistens wird ein Ladebalken angezeigt. Beispielsweise wenn man die Applikation aufruft oder eine Aktion durchführt. Bei Trello ist dies nicht er Fall. Alles ist flüssig und es wird sofort, wirklich in Echtzeit, ausgeführt. Das liegt auch am Technology Stack, auf den wir weiter unten eingehen.
  3. Kostenlos: Fast niemand zahlt für die Software, obwohl sie so gut ist. Das Ziel war es anscheinend soviele User (Englisch für Nutzer) wie möglich zu gewinnen. Umsatz und Profite generierten die Gründer der Firma bereits mit anderen Softwaredienstleistungen und waren nicht auf Gewinne von Trello angewiesen.

Die Technologie hinter der Plattform

Wie bereits erwähnt läuft das System flüssig mit einer nicht bemerkbaren Ladezeit. Ein Grund hierfür ist die darunterliegende Technologie, welche die Aufgabenlast einfach bewältigt.

Das Ganze fing als Mockup (Englisch für Beispielmodell) an, welches auf Basis von HTML, zirka im Jahr 2011, erstellt wurde. Der Chef der Firma gab die generelle Anweisung “Nutzt Technologien welche in zwei Jahren gut funktioniern werden” (Quelle: Fog Creek Blog, 19. Januar 2012).

Es wurden Technologien genutzt, welche oft erfolgversprechend (und auch oft schwer in der Nutzung) waren, jedoch eine tolle Nutzererfahrung mit sich bringen würden, im Vergleich zu bestehenden erprobten Alternativen.

CoffeeScript

Trello fing initial als pures JavaScript Projekt an, auf der Client Seite, als auch auf der Serverseite. So wurde bis May 2011 gearbeitet. Als Experiment wurden einige Daten zu CoffeeScript gebracht, um zu schauen wie es funktionieren würde. Die Entwickler waren davon begeistert und änderten auch den Rest des Codes zu CoffeeScript und fingen an exklusiv mit dieser Technologie zu arbeiten.

Die Vorteile von CoffeeScript sahen die Entwickler in dessen Lesbarkeit, die Kürze des Codes und auch dem vereinfachten Debugging (Englisch für Fehlerbeseitigung).

Die Entwickler mochten JavaScript sehr und gut geschriebener CoffeeScript Code verbessert und verkürzt JavaScript.

Der Client

Auf der Client-Seite wird Backbone.js (Client-seitiges MVC), HTML5 pushState und Mustache (Templating Sprache) genutzt.

Die komplette Programmierung ist sehr schlank, daher müssen auch nur wenige Daten vom Webbrowser geladen werden. Amazon’s CloudFront CDN wird genutzt um die Daten zu verteilen. Bei einer guten Bandbreite lädt die App im Browser Fenster innerhalb einer halben Sekunde.
Weitere Technologien im Zusammenhang mit dem Client: LESS, AJAX, WebSocket (Socket.io)

AJAX

Nicht alle Browser unterstützen WebSockets und daher wird in diesen Fällen AJAX verwendet.

Auch unter einer starken Nutzerauslastung hat sich AJAX bewährt. Beispielsweise wurde das Tool auf der TechCrunch disrupt vorgestellt, einer der bekanntesten Technologie Events in den USA. In dieser Zeit stieg die Anzahl der Nutzer von 300 auf 50’000 innherhalb einer Woche.

Die Server Seite

  • Node.js
  • HAProxy
  • Redis
  • MongoDB

Die Server Seite von Trello ist mit Node.js gebaucht.

Node ist beim Trello Team sehr beliebt. Die Technologie verbessert sich ständig und die aktive Entwickler-Community erstellt ständig neuen und nutzvolle Libraries.

Weitere Technologien im Zusammenhang mit dem Server: node-mongodb-native und Mongoose (Database und Schema), Express und Connect (Routes und Cookies), Cluster, node_redis;

MongoDB

MongoDB wird genutzt, um deren Datenbank Anforderungen umszusetzen. Trello sollte so schnell wie nur möglich laufen. Hierfür ist MongoDB geeignet. Zudem ist es sehr einfach die Daten zu replizieren, Back Ups zu erstellen und diese auch wiederherzustellen.

Fazit

Das Team mag das Technology Stack, welches genutzt wird. Nicht alle Technologie mögen notwendig sein für die Entwicklung, dennoch geht das Team davon aus, dass es eine gute Auswahl an Open Source Projekten ist, welche die Entwicklung verschnellert und einen soliden und wartbaren Code hinterlassen hat.

Hintergrund zu FogCreek

FogCreek die Firma welche hinter der Plattform steht. Gegründet wurde die Firma unter anderem von Joel Spolsky. Er ist bekannt durch seine interessanten Blog Artikel, welche weite Verbreitung gefunden haben (er bloggt derzeit nur sehr wenig).

Zudem hat er noch andere sehr erfolgreiche Startups gegründet. Wie zum Beispiel Stack Exchange/ Stack Overflow.

Der Grund warum er so erfolgreich mit seinen Startups sind auch die Basis-Werte auf welche er grossen Wert legt. Diese sind:

  1. Der 10x Entwickler: Joel Spolsky spricht gerne vom 10x Entwickler. Also ein Entwickler der zehnmal so gut ist wie ein normaler Programmierer. Bei seinen Einstellungen achtet er darauf, Programmierer einzustellen, die diesem Anspruch genügen.
  2. Die Programmierer treffen die Entscheidungen: In vielen Unternehmen werden die Entscheidungen von den Managern getroffen und die Entwickler führen aus. Joel Spolsky hat jedoch durch seine Berufserfahrung herausgefunden, dass Entscheidungen zur Technologie und weitere von den Entwicklern getroffen werden müssen, denn nur diese kennen sich mit der Materie aus. Wie soll schon ein Manager eine Entscheidung treffen können, wenn er/ sie eventuell nicht mal weiss wie sich die gerade genutzte Technologie auf das Projekt auswirkt. Aus der Sicht von Joel Spolsky soll sich das Management lediglich auf Dinge wie gute Arbeitsatmosphäre, das Beseitigen von Hürden, etc.

Der Erfolg gibt ihm Recht und zeigt auch, dass der 10x Entwickler kein Mythos is. Der Verkauf von Trello für 425 Millionen US Dollar, eine Bewertung von Stack Exchange von zirka 450 Millionen US Dollar und seine erfolgreiche Software Firma (FogCreek) geben Joel Spolsky Recht.

Was sind Ihre Erfahrungen mit der Plattform? Wie würden Sie entwickeln?

Interessante Links:
Wie man das nächste Trello bauen kann
Wie Trello und Atlassian zusammenarbeiten

Bilder: Flickr.com/ Ann Arbor Give Camp/ TechCrunch/ Joel Spolsky


Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

Schreibe einen Kommentar