Einmal habe ich ein Flugticket ganz kurz vor Abreise gebucht.

Zahlung erfolgreich. Das Geld wurde vom Konto abgebucht.

Aber anstatt „Buchung erfolgreich“ anzuzeigen, zeigte der Bildschirm nur eine kurze Zeile:

„Ich bin gerade dabei.“

Damals war meine erste Reaktion, dass ich dachte, das System wäre langsam.

Alles, was ich tun musste, habe ich bereits erledigt.

Worauf muss man dann noch warten?

Später habe ich erst gemerkt, dass das System vielleicht gar nicht wirklich langsam ist.

Sie will diese Transaktion einfach noch nicht sofort abschließen.

Klingt seltsam.

Denn wir denken meistens, dass eine Entscheidung nur zwei Möglichkeiten hat: erlaubt oder nicht erlaubt.

Aber in der Praxis gibt es noch eine andere Option.

Erlaubt, aber noch nicht jetzt.

Das lässt mich beim Lesen über @NewtonProtocol ziemlich viel nachdenken.

Was ich interessant finde, liegt nicht darin, ob die Policy mit „allow“ oder „deny“ antwortet.

Da gibt es noch eine kleinere Frage:

Muss eine gültige Ausführung notwendigerweise passieren, sobald sie angefordert wird?

Ich glaube nicht unbedingt.

Es gibt Ausführungen, bei denen der Wert der Entscheidung nicht nur darin liegt, ob sie erlaubt ist oder nicht.

Es geht auch darum, wann das System sich dafür entscheidet, dass das wirklich geschieht.

Dann ist „warten“ nicht mehr ein Zeichen für ein langsames System.

Sie kann Teil der Entscheidung selbst sein.

Das ist genau der Punkt, der für mich ziemlich anders ist.

Normalerweise betrachten wir Zeit nur als die Distanz vom Drücken des Buttons bis zum Abschluss.

Aber es gibt auch Fälle, in denen die Zeit zu einem Parameter der Authorization wird.

Nicht weil die Ausführung falsch ist.

Aber bedeutet „korrekte Ausführung“ nicht zwangsläufig, dass es sofort passieren muss.

Sich selbst zu widersprechen.

Wenn eine Policy immer auf Verzögerung setzt, um „sicherer“ zu sein, wird das Erlebnis schnell unangenehm. Nutzer beginnen zu spüren, dass jede Aktion langsam ist – sogar dann, wenn es keinen klaren Grund gibt.

Aber wenn die Policy standardmäßig sagt, dass jede gültige Ausführung sofort durchgeführt werden muss, verliert das System auch eine sehr wichtige Art der Verarbeitung zwischen den beiden Optionen „zulassen“ und „ablehnen“.

Was ich von @NewtonProtocol sehen möchte, ist nicht nur die Möglichkeit, eine Entscheidung zu treffen.

…nämlich die Art, wie die Policy festlegt, wann eine Ausführung sofort passieren sollte und wann es eine sinnvollere Entscheidung ist, erst noch eine weitere Zeit abzuwarten.

Für mich entscheidet eine gute Authorization-Layer nicht nur darüber, was erlaubt ist.

Sie versteht auch, dass manchmal „der richtige Zeitpunkt“ ein Teil dieser Entscheidung ist.

#Newt $SPCXB $LAB $NEWT