Das Leben ist manchmal schon schwer genug. Warum sollten wir uns da mit Software belasten, die unsere Arbeit und unsere Freizeit alles andere als erleichtern? Applikationen, die nicht nach dem Prinzip „Keep it simple – make it easy“ konzipiert sind, gehören deshalb bestenfalls ins Museum.
Gerade im professionellen Umfeld wünschen wir uns hochfunktionale, sinnvoll integrierte und leicht zugängliche Programme, die ein sinnvolles Ganzes ergeben. Einfachheit ist als Qualitätsmerkmal daher zwar gesetzt, sie zu erreichen aber in der Regel alles andere als einfach – im Gegenteil. Was so scheinbar leicht und mühelos daherkommt, ist meist das Ergebnis genialer Ideen, tiefen Wissens, harter Arbeit und schonungsloser Tests. Das gilt natürlich nicht nur für Software. Wenn wir dieses Bild zurückprojizieren auf die Applikations-Entwicklung, dann rücken drei Ebenen ins Blickfeld, die gesondert bearbeitet, aber miteinander verknüpft werden müssen: Vereinfacht gesagt sind das erstens die Backend-Funktionen als verbindendes und gleichzeitig Freiheit bietendes Fundament, zweitens die Matrix von Programm-Modulen und Querschnittsfunktionen für die Integration auf der Applikations-Ebene und drittens die Oberflächen als deren transparente Umsetzung gegenüber den Anwendern. Was bedeutet das konkret?
Die Backend-Funktionen sind der „Point of Integration“ für den DevOp. Dabei geht es vor allem um die Infrastruktur und die Plattformen mit ihren Datenbanken und Containern, die unabhängig machen von Betriebssystemen, Hostern, Clouds und Geräten. Cloud- und Plattform-Agnostik beginnt genau hier. Sie übernimmt elementare Funktionen wie etwa die Container-Verwaltung und das Deployment-Management und schafft damit – im Idealfall – die Voraussetzungen für hochintegrierte Anwendungen, die jederzeit und überall ausgerollt, geändert und genutzt werden können. Die komplementäre Ebene für den Software-Architekten sind die Directories, Anwendungen und Prozesse. Open Source sorgt für die notwendige Offenheit und Interoperabilität, eine gemeinsame Datenplattform für einen jederzeit konsistenten Daten-Pool, auf den sämtliche Programm-Module Zugriff haben. Der Clou aber ist die übergreifende Datenindexierung, -suche und -bereitstellung durch die Directory Services über den gesamten Software-Stack hinweg.
Das Ergebnis sind aus Nutzersicht modulare Applikationen mit einer durchgängigen Bedienlogik und einem gemeinsamen Look-and-Feel. Die Module sind dabei nicht nur interaktionsfähig, sondern gehen noch einen Schritt weiter: Sie sind fluid. Fluidität ist eine neue Form von Funktionsintegration, die den Rahmen herkömmlicher Programme oder Tools sprengt. Dadurch wird es möglich, modulübergreifend auf Funktionen zuzugreifen. Damit sind wir bei der erwähnten Matrix, durch die beispielsweise aus einem Chat-Modul heraus Ticket-Updates im Projekt-Modul vorgenommen oder Dokumente direkt innerhalb des Videokonferenz-Moduls bearbeitet werden können. Die Grenzen zwischen den Anwendungen verschwimmen, dafür rücken die Funktionen in den Mittelpunkt, die immer enger miteinander verzahnt werden. Wer bestimmte Daten in einer laufenden Videokonferenz-App sucht und umgehend in einer alten E-Mail angezeigt bekommt, der möchte diesen Komfort nie mehr missen.
Hinter hochintegrierten modularen Software-Stacks steckt also eine Menge Arbeit und Ideen. Aber schließlich sind sie ja auch dazu da, als einfach zu nutzendes Werkzeug für die Arbeit an ganz anderen Ideen und Projekten zu dienen. Applikationen sind kein Selbstzweck, in den man sich erst einmal einarbeiten muss, sondern sollten spielerisch und intuitiv zugänglich sein. Aber das ist nochmal ein ganz eigenes Thema. Integration ist dazu nur der erste Schritt.