Unsere Ideen für Ihr Projekt

Von der App zur Applikation

Als Urgestein unserer heute als App bezeichneten Anwendungen könnte man die Kommandozeilenwerkzeuge von Unix-Systemen betrachten. Mangels grafischer Oberflächen und mit dem Ansatz größtmöglicher Flexibilität konzentrieren sie sich auf jeweils einen einzigen Anwendungszeck, z.B.: ls listet Verzeichnisinhalte, find durchsucht Verzeichnisse nach passenden Dateien, grep durchsucht Dateien nach Textmustern, sed modifiziert Textdatei-Inhalte nach Regeln. Durch geschickte Verknüpfung der Werkzeuge lassen sich so ganze Systeme nahezu automatisiert administrieren. Dieser frühe Gedanke modularer Funktionen und Nutzung gemeinsamer Schnittstellen findet sich auch in Programmierparadigmen bis hin zu aktuellen Trends wie Microservices statt monolithischer  Großanwendungen.

Apps sind die modernen Unix-Kommandos?

Ein ähnliches Konzept der Konzentration auf das Wesentliche ist bei den Apps im Mobile-Bereich zu erkennen. Apps sind umso erfolgreicher, je besser und zuverlässiger sie sich auf ihren Einsatzzweck konzentrieren und diesen dem Anwender einfachst zugänglich machen. Oft verschlechtert sich die Qualität ab dem Zeitpunkt, an dem die (angeblich vom Anwender gewünschten) Featuritis und die Tendenz zur eierlegenden Wollmilchsau zunimmt. Mehr Funktion auf dem gleichen, meist kleinen, Bildschirmbereich zu integrieren, wirkt sich auch auf die anfangs optimierten Bedienkonzepte aus.

Wie kann nun ein Unix Kommandozeilenwerkzeug oder eine Mobile App Vorbild und Anregung für nunmal noch immer benötigten großen Anwendungen zur Behandlung von Geschäftsprozessen dienen, wie z.B. Veranstaltungsverwaltung, Internatsmanagementsysteme, Artikeldatenbanken oder auch Job-Portale?

Don't Make Me Think

Auch durch den heute gewohnten Umgang mit Mobile Apps und der User Experience (UX) in modernen Webanwendungen ist aus Sicht des Anwenders wichtig, dass die gewünschte oder benötigte Funktion leicht und möglichst direkt aufzurufen ist. Intuitive Benutzerführung nach dem Motto "Don't make me think!", minimal erforderliche Eingaben durch Eingabeunterstützung seitens des Systems und schnelle Reaktion des Systems sind weitere Erwartungen des Benutzers. Der in Unternehmen zunehmende Trend des "Bring Your Own Device" (BYOD) fordert die generelle Berücksichtigung unterschiedlicher Bildschirmgrößen (Desktop, Tablet, Smartphone), Eingabeschnittstellen (Tastatur, Maus, Touch, Point, ...) und Übertragungswege (LAN, WLAN, LTE, ...). Auch in Geschäftsanwendungen wird die Abkehr von Tabellenkalkulations-artigen Monsterformularen relevanter und erfordert ein Umdenken im Gestaltungsprozess der Benutzerschnittstellen (GUI) wie auch in den Speicher- und Datenverwaltungsfunktionen des Systems. Immer stärker muss bereits früh im Produktplanungszyklus entschieden werden, welches die wichtigen und häufigsten Datenmanipulations-Aufgaben sind, um den Anwender in der Nutzung des Systems bestmöglich zu unterstützen. Ebenso erfordern die seltener benutzten Funktionen Aufmerksamkeit zur sinnvollen und effektiven Strukturierung.

Herausforderung durch Wandel

Die Softwareentwicklung hat seit Beginn bereits durch Paradigmen wie Design Patterns, objektorientierte (OOP) oder aspektorientierte Programmierung (AOP), funktionale Sprachen, Domain Specific Language (DSL)-Erweiterungen und DevOps-Diskussionen auf die immer neuen Erfordernisse von Anwendungsentwicklung reagiert und wird auch weiterhin durch diese getrieben. Es sind die Notwendigkeit der guten Wartbarkeit von Systemen, was unter anderem kostensensitiver Betrieb und leichte Erweiterung bedeuten, die schnelle Reaktion auf Fehler aber auch neue Anforderungen, sukzessive Erweiterung und Skalierung von Systemen, die die Parallelen zu den eingangs erwähnten Unix-Werkzeugen aufzeigen. Modulare, kleine spezialisierte Komponenten, flexibles Zusammenschalten durch zuverlässige und universelle Schnittstellen, Austausch und Verbesserung einzelner Komponenten sind Aspekte, die sich in der modernen Softwarearchitektur noch stärker finden, als es die früheren Entwicklungen der OOP schon angedacht hatten.

So einfach wie Apps

Konzentration auf das Wesentliche: Für Geschäftsanwendungen ist das eine noch größere Herausforderung als für "einfache Homepages" und gerade in Zeiten der Dateninflation und BigData nicht leicht zu lösen. Intensives Verständnis der Geschäftsprozesse aber auch Kenntnis von Benutzer-Erfahrungen und Erwartungen an die UX fordert alle Disziplinen. Doch lohnt es, sich dieser Herausforderung zu stellen und damit zu einer Lösung zu kommen, die sowohl dem Betreiber eine solide und dauerhafte Basis bereitstellen kann wie auch den Anwender effizient die Tätigkeiten ausführen lässt.

Ein schönes Beispiel für Konzentration auf das Wesentliche mit modulare verknüpften Komponenten und dennoch eine leistungsfähige Anwendung liefert "If That Than That" https://ifttt.com/, mit dem man aus Aktionen in seinen eigenen oder fremden (vom System unterstützten) Webseiten reagieren und Reaktionen in eigenen Systemen (soweit unterstützt) auslösen kann. Die Erweiterbarkeit des Systems ist sowohl intern durch Hinzufügen weiterer unterstützter Systeme, aber auch durch die von Anwendern erstellten Rezepte gegeben.