Warum versionieren wir keine UIs?
Why Don't We Version UIs?
Ich frage mich, warum wir keine UIs versionieren. APIs haben oft Versionen, und Apps behalten alte Versionen bei, aber ich habe noch nie eine Website oder App gesehen, die es dir ermöglicht, zwischen UI-Versionen zu wechseln. Ich bin frustriert über die ständigen UI-Änderungen und denke, dass eine Versionierung eine rationalere Herangehensweise wäre, um Frustration zu vermeiden.
Wir versionieren UIs seit 2015, nachdem wir mit einer Reihe seltsamer Bug-Reports zu kämpfen hatten, die wir auf Benutzer zurückführten, die Tabs monatelang offen hielten. Erfordert sorgfältige Backend-Planung und abwärtskompatible Datenbehandlung, aber es ist ein lösbares technisches Problem. API-Aufrufe vom Frontend können die aktive Version mit den Aufrufen senden, sodass das Backend versteht, dass etwas Älteres aufruft, und Versions-Upgrades von Envelopes und Payloads durchführen kann. Das Frontend muss so gestaltet sein, dass es zusätzliche Felder ignoriert, aber all das ist testbar, und wenn alles eingerichtet ist, bietet es Schutz vor seltsamen Inkonsistenz-Bugs, die Fähigkeit zu experimentieren (parallele A/B-Versionen) und detailliertes Monitoring zur Fehlerbehebung. Es ist ernüchternd, die Liste der aktiven Versionen zu sehen und den langen Schwanz dessen zu erkennen, was tatsächlich mit unserem Backend verbunden ist.
Ich habe einige ältere Software/SAAS-UIs gesehen, die Versionsnummern anzeigen. Aber das Wechseln zu ermöglichen, macht vielleicht keinen Sinn, weil normalerweise eine Änderung sowohl im Backend als auch im Frontend stattfindet und das Wechseln der Versionen etwas ist, das Anbieter aufgrund der Komplexität des Wechsels nicht anbieten wollen.
Bei großen Änderungen habe ich viele Websites und sogar einige Anwendungen gesehen, die es Benutzern ermöglichen, sich für die neue Version zu entscheiden, um sie auszuprobieren, oder sich abzumelden und zur alten Version zurückzukehren, wenn sie nicht ihren Bedürfnissen entspricht oder sie eine Frist haben und ihren alten Workflow benötigen. Reddit und Outlook sind die beiden Beispiele, die mir in den Sinn kommen, aber ich habe viele weitere gesehen. Sogar mein Energieversorger hat es getan. Dies ist jedoch nur für große Änderungen und normalerweise nur ein Umschalter alt|neu, nicht vollständig versioniert, wo ein Benutzer zu jedem beliebigen Punkt in der Geschichte zurückkehren kann. Ich würde vermuten, dass das zu einem Albtraum für die Wartung wird, und anders als bei APIs gibt es selten Code, der von der UI abhängt ... zumindest hoffen wir das nicht.
Ein Gegenbeispiel ist die old.reddit.com-Oberfläche von Reddit im Vergleich zu ihrer neuen.
Für mich ist das Vermeiden des Upgrade-Laufbands ein zuverlässiger Weg, um stabile Schnittstellen (und Workflows) aufrechtzuerhalten. Natürlich ist dieses Mittagessen nicht kostenlos. Viel Glück.
Du kannst es, wenn du willst, es ist eine Wahl, besonders wenn es ein Konsument einer versionierten API ist, genau wie du einen mobilen Client versionieren würdest.