Optimierungs-Glossar

Fernkonfiguration

Was ist Remote Config?

Remote Config (kurz für "Fernkonfiguration") ist eine Softwareentwicklungstechnik für Mobile Apps, bei der das Verhalten oder die Funktionen einer App aus der Ferne geändert werden können, ohne dass ein App-Update veröffentlicht werden muss. Dazu werden Standardwerte für verschiedene Einstellungen in der App festgelegt und die Werte für diese Variablen dann in Echtzeit von einem Remote-Server abgerufen.

Das Konzept der Remote Config wurde von Firebase (Firebase Remote Config), einer Entwicklungsplattform für Mobile Apps von Google, bekannt gemacht und wird seitdem von Entwicklern von Mobile Apps als gängige Praxis eingesetzt.

Use-Cases für die Fernkonfiguration

Es gibt eine Reihe gängiger Use-Cases für die Fernkonfiguration bei der App-Entwicklung:

Rollbacks

Wenn eine Android- oder iOS-App aktualisiert wird, muss die App normalerweise den App Store-Prüfungsprozess durchlaufen, was 24-48 Stunden dauern kann, und noch länger, wenn das Update abgelehnt wird. Das kann ein großes Problem sein, wenn Bugs oder Probleme in einem Update entdeckt werden, nachdem es live ist, und es dauert Tage, bis die App-Nutzer/innen eine Lösung erhalten.

Mit der Fernkonfiguration kannst du schnell Änderungen an einer App vornehmen, die bereits im App Store verfügbar ist, und Funktionen einer App zurücksetzen, ohne Änderungen am Backend-Code vornehmen zu müssen, indem du einfach serverseitige Fernkonfigurationsparameter bearbeitest.

Feature-Rollouts

Da du mit der Fernkonfiguration das Verhalten und das Erscheinungsbild deiner App aus der Ferne steuern kannst, ist sie eine großartige Möglichkeit, neue Funktionen für deine Nutzer/innen kontrolliert einzuführen. Anstatt neue Funktionen mit einem App-Update an 100% deiner Nutzer/innen zu verteilen, kannst du in deiner App bedingte Werte festlegen, damit nur ein Teil deiner Nutzer/innen eine Funktion sieht.

A/B-Tests

Da du mit der Fernkonfiguration Funktionen für eine Teilmenge deiner Nutzer/innen aktivieren und deaktivieren kannst, eignet sie sich auch für A/B-Tests. Beim A/B-Testing wird einem Teil deiner Nutzer/innen ein neues Erlebnis geboten, während einer Kontrollgruppe das ursprüngliche Erlebnis gezeigt wird. Mithilfe statistischer Analysen kannst du dann die Auswirkungen einer neuen Funktion ermitteln und die Gewissheit gewinnen, dass eine neue Funktion tatsächlich eine Verbesserung gegenüber dem alten Erlebnis darstellt.

Beispiele für die Fernkonfiguration

Angenommen, du bist ein App-Entwickler, der ein Mobile Game für Android und iOS entwickelt. Das Entwicklerteam möchte eine neue Chatfunktion in das Spiel einbauen, macht sich aber Sorgen darüber, wie sich dies auf die Nutzungsraten der App auswirken könnte. Ein Entwickler hat während eines Hackathons einen funktionierenden Prototyp der Funktion erstellt, aber das Team möchte erst einmal testen, wie sich die Funktion in der realen Welt verhält, bevor es viel Entwicklungsarbeit in sie investiert.

Das wäre ein guter Use-Case für die Fernkonfiguration. Die Funktion könnte der App hinzugefügt und so konfiguriert werden, dass sie nur für 10% der Nutzer/innen angezeigt wird. Den anderen 90% der Nutzer/innen wird das ursprüngliche Erlebnis angezeigt, was zu einem A/B-Test führt, mit dem du die Auswirkungen der neuen Funktion auf deine Hauptkennzahlen der App messen kannst. Wenn Fehler oder Probleme entdeckt werden, kann die Funktion ganz einfach aus der Ferne deaktiviert werden, ohne den langwierigen App Store-Review-Prozess durchlaufen zu müssen.

Du kannst auch verschiedene Parameter für die Fernkonfiguration verwenden, um verschiedene Funktionen des Chats aus der Ferne zu steuern und zu testen, z. B. die Länge der Nachricht, die Größe des Chat-Feldes, Inhaltsfilter usw.

So implementierst du die Fernkonfiguration

Eine einfache Methode zur Implementierung der Fernkonfiguration ist die Verwendung von Feature-Flags und Feature-Variablen. Ein Feature-Flag (auch Feature-Toggle genannt) ist ein bedingtes Flag, das ein- oder ausgeschaltet werden kann. Es kann per Fernkonfiguration über die API oder über eine grafische Benutzeroberfläche in einer Feature-Management-Plattform wie Optimizely Rollouts konfiguriert werden.

Neue Features und Funktionen können in Feature Flags Code verpackt werden und lassen sich leicht aus der Ferne aktivieren oder deaktivieren. Feature Flags können auch abhängig vom Nutzerprofil umgeschaltet werden, so dass die Flags für eine bestimmte Gruppe von Nutzern aktiviert werden können.

Funktionsvariablen sind Container, in denen verschiedene Werte gespeichert werden können, die dynamisch gesetzt werden können, indem eine Konfigurationsdatei, die in einem Cloud-Dienst gespeichert ist, über die REST-API abgefragt wird. Diese Remote-Werte können so konfiguriert werden, dass sie das Verhalten oder das Aussehen deiner App dynamisch verändern, ohne dass du die Änderungen in einem App Store veröffentlichen musst.

Kostenlose Tools zur Fernkonfiguration

Wenn du mit der Fernkonfiguration beginnen möchtest, bietet Optimizely eine kostenlose Fernkonfigurationslösung namens Optimizely free feature flagging an. Optimizely Rollouts bietet kostenlose Funktionen für Feature Flags und A/B-Testing, damit du die Vorteile der Fernkonfiguration in deinem App-Entwicklungsprozess nutzen kannst. Optimizely Rollouts funktioniert für die gängigsten Sprachen und SDKs für die mobile Entwicklung, darunter Swift, Java, JavaScript und Objective-C.

Beginne noch heute mit der Fernkonfiguration mit Optimizelys kostenlosem Feature Flags!