Die Expo-App
Wie man Software und Benutzerinterfaces so richtig durchvermurksen kann.
So schön die Expo ist: Das Ticket- und Buchungssystem ist so richtig vermurkst. Ich will das mal beschreiben.
Ich habe mir letztes Jahr schon eine Dauerkarte gekauft, weil man deutliche Rabatte bekommt, wenn man die frühzeitig kauft. Und ab ein paar Besuchen lohnt die sich schon.
Damals schon hatte ich beschrieben, dass man für ein Expo-Ticket einen Expo-Account braucht, und die Anleitung zum Erstellen eines Accounts 28 Seiten umfasst. Das ging so natürlich nicht, das hat man längst korrigiert und verbessert, jetzt hat die revised version nämlich 34 Seiten. Ordnung muss sein und alle Unklarheiten beseitigt.
Man sollte denken, dass es recht einfach wäre, einen Account anzulegen und ein Ticket zu kaufen. Das war es bei der Expo auf Dubai auch, aber hier machen sie alles kompliziert.
Pseudo-App
Das fängt damit an, dass es zwar eine App gibt und man die auch zwingend braucht, das im Prinzip aber keine App ist, sondern nur ein paar allgemeine Informationen hält, und das Ding für alles, was personenbezogen ist, wie Tickets und Buchungen, nur den Webbrowser launcht, es also für die persönlichen Dinge eigentlich gar keine App gibt, sondern im Prinzip nur Bookmarks auf die Online-Webseite.
Die Seite ist überlastet
Es ist eine ziemlich dusselige Idee, eine solche Sache stark an einen Webserver zu binden, ohne den gar nichts mehr geht, wenn der nicht stark genug ist. Normalerweise ist der schon langsam, aber die letzten Tage war der abends schlicht überlastet.
Der Brüller:
In Zeiten von Cloud-Computing würde man so etwas parallelisieren und dann für die Stoßzeiten einfach ein paar mehr Server stundenweise oder tagesweise bestellen.
Hier aber bekommt man ein automatisches Warteticket und die Ansage, dass man wohl in einer halben oder ganzen Stunden auf die Webseite zugreifen dürfe. Statt die Webseite stark genug zu machen, etablieren sie ein Wartesystem. Das hat dazu geführt, dass ich den Besuch gestern nicht vorbereiten konnte, weil ich an beiden Tagen bis nach Mitternacht warten musste, um überhaupt auf das Buchungssystem zuzugreifen.
Kurioserweise bekommt man eine E-Mail, in der empfohlen wird, vom QR-Code, den man zum Eintritt vorzeigen muss, auf dem Handy einen Screenshot zu machen, falls das dann gerade nicht geht, damit man trotzdem reinkommt.
Statt das Problem zu beheben, verteilen sie wieder Anweisungen und Ratschläge.
Auf die Idee, die App so zu bauen, dass die die Daten im Cache hält und auch offline arbeitet oder nur die Daten selbst und nicht den ganzen Webfirlefanz mit Servern austauscht, ist man wohl nicht gekommen.
Der QR-Code und die Face recognition
Ich hatte sowas schon im Gefühl und wollte das machen, was mir in Dubai damals beste Dienste geleistet hat. Auch in Dubai brauchte man einen Ticket-QR-Code, um auf das Gelände und in manche Hallen zu kommen, alles viel einfacher und robuster gemacht. Weil ich aber meinem eigenen Handy nicht traute, habe ich mir damals nicht nur den Impfausweis, sondern auch die Eintritts-Karte mit dem QR-Code auf A6 ausgedruckt und auf A6 laminiert. Das hat sich sehr bewährt, lief schnell, robust und unkaputtbar.
Ging hier aber nicht. Weil die Webseite mir den QR-Code erst nach der Eingabe meines Gesichts für die Face Recognition anzeigt. Sie wollen bei Dauerkarten einen biometrische Gesichtserkennung, damit man die Karte nicht weitergeben kann. Nur ein Foto, einmal in die Webcam gucken.
Das wollte ich in Deutschland vorbereiten, ging aber nicht. Denn das Bild kann man nur von Japan aus, mit japanischen IP-Adressen eingeben. Deshalb konnte ich mir den QR-Code auch erst in Japan anzeigen lassen, habe aber weder Drucker noch Laminiergerät dabei.
Also muss der Screenshot reichen.
Beim Betreten gestern: QR-Code abgelehnt. Nicht lesbar.
Warum?
Eine Uniformierte bedeutet mir, dass ich mit den Füßen nicht genau auf dem gelben Strich am Boden stand. Hä!?
Ach, so. Hinter dem QR-Code-Lesegerät ist eine schwarze Kugel. Das ist eine Gesichtskamera, die das Gesicht prüft, und das tut sie nur, wenn man genau vor dem gelben Strich steht. Dann geht’s auch.
Später ging’s nicht mehr.
Ich hatte schon gesagt, dass ich Mühe hatte, in den japanischen Pavillon zu kommen. Eines der Probleme ist, dass man dazu den QR-Code vorzeigen muss. In der prallen Sonne. Das leisten die Handy-Bildschirme nicht. Damit hatte ich auch nicht gerechnet. Mein Handy hat zwar einen Sonnenscheinmodus und eine Sonnenscheinerkennung, die war aber ab Werk zur Stromersparnis abgeschaltet. Finde mal den Schalter in den Tiefen des Einstellungsmenüs, wenn man nicht weiß wo und wegen eben dieser Sonne auf dem Handy gar nichts sieht. Ich musste mir erst irgendwoanders eine richtig schattige dunkle Stelle suchen, um das Problem lösen zu können.
Generell hatten die, nicht nur bei mir, das Problem, dass ihre Handscanner im hellen Sonnenlicht mit Handy-Display kaum oder gar nicht funktionieren, weil ein Handy-Display in der Sonne einfach nicht den nötigen Kontrast liefern kann und spiegelt. Dieses ganze Handy-Gehampel ist eine Schnapsidee. Das geht drinnen, aber nicht draußen.
Einloggen
Weil die App keine persönlichen Daten speichert, sondern man sich für jeden Furz auf dem Webserver einloggen muss, kommt man ins nächste Problem:
Aus irgendwelchen Gründen heraus wollte man hohe Sicherheit. Unerträglich der Gedanke, dass sich jemand im Namen von Hadmut Danisch für den Besuch des Turkmenistan-Pavillons um 14:00 anmelden könnte. Deshalb hat man nicht nur hohe Anforderungen an das Passwort (Sonderzeichen usw.), sondern auch die 2FA, die two factor authentication durch One-Time-Passwort aus dem Authenticator. Und einen kurzen Login-Timeout.
Man muss sich also ständig und immer wieder neu anmelden. Das mit dem Passwort ist nicht so schlimm, das speichert der Browser zwischen, ist aber halt langsam und lästig. Aber man muss ständig in die Authenticator-App und das one-time-passwort per copy-paste übertragen. Auf dem Handy im hellen Sonnenlicht, wo man so schon kaum was sieht.
Da wird man wahnsinnig.
Und nicht wenige Pavillons haben ein Schild angebracht, das man bei ihnen auch ohne Reservierung rein kann.
Anzeigen der Buchung
Man kann in viele Pavillons aber auch nicht einfach so rein. Auch nicht auf das Messegelände.
Man muss das vorher anmelden und beantragen. Man kann immer nur für drei Tage den Besuch beantragen, auch wenn man eine Dauerkarte hat. Erst seit ich gestern wieder draußen war, kann ich mich also für einen anderen Tag anmelden, weil von den drei Slots, die ich habe, nun wieder einer frei ist. Dazu muss ich vorher aber genau angeben, zu welcher Stunde ich durch welches Tor auf die Messe möchte, sonst komme ich nicht rein. Die versuchen radikal zu regeln, durch welches Tor wieviele Leute durch können.
Ähnlich, aber noch viel komplizierter, ist das Buchen von Pavillon-Besuchen.
Schon bei Ausstellung des Tickets wurde ich auf die „Lottery“ hingewiesen, an der ich teilnehmen können und solle. Ich dachte erst, das ist sowas wie Geld-Lotto, weil sie ja so spielsüchtig sind. Nein, das ist die Lotterie der Zugangsberechtigungen zu Pavillons. Jeweils 30 und 7 Tage vor Betreten des Geländes gibt es eine Lotterie, für die man Zugang zu Pavillons beantragen kann, und unter denen dann gelost wird.
Deshalb wollte ich gestern auch unbedingt pünktlich am Japan-Pavillon sein, weil ich in der Lotterie eben das Recht gewonnen hatte, den Japan-Pavillon um 13 Uhr zu betreten. Genauer gesagt: Ich hab’s vermasselt, weil die Vielzahl der Probleme, die ich hatte (Finden, Bildschirm, Helligkeit, QR-Code, Buchung anzeigen, Webseite überlastet und und und), dazu führte, dass ich zwar rechtzeitig, um 12:58, dort war, aber nicht rechtzeitig meinen Krempel präsentieren konnte, um eingelassen zu werden, und den Timeslot verpasst hatte. Was mich gerettet hat, war, dass ich den Timeslot nicht für 13:00, sondern für 13:30 gewonnen hatte, das aber nicht mehr wusste, weil ich mich am Vorabend ja in den überlasteten Server nicht einloggen konnte. Deshalb war ich dann doch rechtzeitig da.
Man muss zum Betreten zweierlei vorzeigen. Den QR-Code. Und die Bestätigung des Betretungsrechts.
Warum macht man es dann nicht auf eine Seite?
Es ist fürchterlich schwer, beide Informationen anzuzeigen, weil sie auf unterschiedlichen Webseiten sind. Genauer gesagt, muss man sich für das Zugriffsrecht durch endlos lange Anleitungen und Hinweise scrollen, weil die Belehrungen und Informationen wild vermischen, und der Lageplan wieder ganz woanders ist. Hat man das Kleingedruckte mit der Bestätigung gefunden und gezeigt, muss man entweder in die Gallerie wechseln und den Screenshot vom QR-Code zeigen, oder wieder ganz hochscrollen, und in all dem bunten Kram den Button finden, “Display QR-Code”, weil sie den wiederum erst anzeigen, wenn man drückt, dass man ihn zeigen will.
An der Benutzeroberfläche kann man verzweifeln, vor allem, wenn man im hellen Sonnenlicht kaum etwas lesen kann.
Am Japan-Pavillon meinten sie, sie kennen sich aus und könnten mir helfen, ich solle sie mal machen lassen. Also gab ich ihnen mein Handy. Ja, nix war’s, weil ich die Webseite für mich natürlich auf Englisch umgestellt hatte, und sie kein Englisch konnten.
Eine einzige Katastrophe.
Wenn ich das machen würde:
Auf einer Seite, oben den QR-Code, darunter die zur Uhrzeit passende, nächste Buchungsbestätigung mit Angabe von Ort, Halle, Uhrzeit, und darunter einen Zeiger, der anzeigt, in welcher Richtung und wie lange man bis dahin geht.
Das könnte man so toll machen, so einfach zu bedienen, das wäre trivial, aber stattdessen: Völlig wirr, völlig kompliziert, völlig überladen, weil Benutzerinterface und ewig lange Hinweise und Belehrungen wild durcheinander gehen. Und Ticket-Kauf, Veranstaltungsbuchung und Anzeige der gebuchten durcheinander.
Beispiel: Wenn ich in eine Halle will, muss ich vorher auswählen, welches Ticket ich verwenden will, obwohl ich nur eines habe, nämlich ein Dauerticket. Aus meiner Sicht. Aus deren Sicht ist das aber kein Ticket, sondern nur eine Art Superberechtigung, um mir drei Tagestickets zu machen. Gestern und morgen tauchen also als verschiedene Tickets auf. Ich kann nicht einfach sagen, dass ich jetzt in diese Halle möchte, sondern muss zunächst, aber sehr bunt, sehr unübersichtlich auswählen, dass ich aus der Ticketauswahl das Ticket für heute wählen möchte und so weiter.
Buchungssuche
Man kann nicht einfach aus einer Auswahl anklicken, ich hätt’ gern.
Der einfache Ansatz wäre, zu sagen, ich möchte gerne in diesen und jenen Pavillon, und ann angezeigt bekomme, dann und dann wäre was frei.
Nein.
Ich muss in ein Textfeld den Namen eingeben. Und dann findet der außer beim „Japan Pavillon“ meist gar nichts. Exakte Namen helfen nicht. Ich stand gestern vor Hallen, habe den exakten Namen der Veranstaltung eingegeben und die Suchfunktion findet gar nichts. Man weiß auch gar nicht, wofür man eigentlich alles Lotteriebewerbungen einreichen könnte, weil die Veranstaltungskalender auch nicht richtig funktionieren. Am besten, man gibt ein Allerweltswort wie Pavilion oder Future ein, und sucht sich dann aus der Ergebnisliste was raus.
Ich vermute, dass das auf Japanisch alles viel besser läuft, aber auf Englisch ist es eben grausig.
Mein Verdacht
Mir fällt auf, dass die ganze Weboberfläche überhaupt nach Benutzerinterface oder nach Nutzung gebaut ist, sondern radikal entlang dem Datenbankmodell und einer API. Im Prinzip hangelt man sich mit allem, was man macht, an Datenbanktabellen entlang.
Ich habe den starken Verdacht, dass das Ding überhaupt nicht programmiert ist, sondern über irgendeinen Generator als UI automatisch aus der Datenbankstruktur erzeugt wurde und deshalb die gesamte Struktur so grausig ist und man sich durch irgendwelche 2FA und Ticketauswahlen durchkämpfen muss.
Anscheinend hat das alles irgendein Codegenerator ausgespuckt, und irgendwelche Beamtenseelen haben das verdammte Ding dann mit endlosen Anleitungen und Hinweisen vollgepumpt, bis man gar nichts mehr erkennen kann. Wie Megaphon auf Handydisplay.
Die Zukunft
Ich finde, das ist ein seltsamer Kontrast.
In den Hallen wollen sie einem erzählen, wie die Zukunft ausfällt, wir uns mit Robotern abgeben oder unsere Identität digitalisieren können, und in der Praxis wird das Ticketsystem schon zum Ärgernis sondersgleichen.
Es zeigt aber auch einen Charakterzug Japans:
Das wurde nicht gestestet und an Erfordernissen ausgelegt, sondern man nimmt es so hin, wie es nunmal ist, weil man niemanden kritisieren kann und darf (das Ding wäre Grund genug, um mindestens 30 Leute zu feuern), und donnert die Benutzer mit Belehrungen und Anweisungen voll, was sie wie zu machen haben. Und weil man die Anweisungen in das Benutzerinterfache mit reinrührt, wird alles nur noch schlimmer.
Als ich damals schon geschrieben hatte, dass die Anleitung 28 Seiten umfasst und die Webseite fast unbenutzbar verwirrend, kompliziert, umständlich ist, schrieben mir einige Leser, die das Land kennen oder mit Japanern verheiratet sind, dass das kein Einzelfall ist, sondern Japan dafür notorisch ist, alles überkompliziert und extra umständlich zu machen, und das dann mit Belehrungen auszuspachteln.
Traurig daran ist, dass ein Handy eigentlich ideal wäre, um das alles abzuhandeln, und jemand, der Ahnung hat, dazu eine einfache und praktikable App bauen könnte, die die Daten lokal hält, damit sie auch offline verfügbar sind, und über eine API und ein Message-System die Last niedrig hält. Dann könnte man QR-Code, Buchung, Weg dorthin wunderbar auf einer Seite anzeigen. Bild vom Pavillon, wie sieht der von außen aus. Das könnte man super machen. Und es wäre nicht einmal sehr aufwendig, weil die Datenstrukturen ja schon ziemlich einfach sind. Das ist kein Hexenwerk.
Im Prinzip hätte man sogar anzeigen können, welche Pavillons gerade rappelvoll sind und wo man noch reinkommt.
Anscheinend hat man da automatisiert ein Datenbankfrontend generieren lassen und das dann auf Expo-Design gemodelt und mit Anleitungen und Anweisungen überfrachtet.
Das ist so richtig schlecht geworden.
Vergleich zu Dubai
Dubai hat das deutlich besser gemacht. Deutlich einfacher, robuster. Man konnt einfach rein, wann und wie man wollte.
Für die Pavillons gab es zwar für jeden die Möglichkeit, per App für jeden Tag eine begrenzte Zahl von Fast-Lane-Zugängen zu buchen, die brauchte man aber eigentlich nicht. Einfach rumlaufen und reingehen, wo die Schlange gerade kurz ist.
Die Begrenzung der Besucher hat man in Dubai anders gelöst. Da hatten sehr viele Pavillons am Eingang erst einmal ein Kino, in das man sich setzen musste. Was wie eine Vorführung wirkte, war in Wirklichkeit eine Flusssteuerung: Es kamen nämlich maximal [Zahl der Sitzplätze] / [Zeitabstand zwischen zwei Vorführungen] Personen im Durchfluss, und das immer in den Stößen, die man in den Räumen zum Anschauen verbringen sollte.
Osaka hat aber weniger Platz. Nicht nur das Gelände ist kleiner, auch die Pavillons. Die Begrenzungsmethode mit den Eingangskinos könnte man hier nicht umsetzen. Und deshalb standen sie wohl vor dem Problem, die Besucherströme durch ein rigides Buchungssystem begrenzen zu müssen. Grundsätzlich keine schlechte Idee, das hätte man wunderbar machen können. Hat man aber nicht. Man hat es vermurkst.
Das zeigt sehr deutlich, dass die Kenntnisse in IT und Informatik keineswegs zunehmen.
Und wenn man für das Anlegen eines Accounts, den man braucht, um ein Ticket zu buchen, mit 34 Seiten Anleitung daherkommt, braucht man sich auch nicht zu wundern, wenn das Interesse der Japaner verhalten ist.
Deutschland?
Sagen wir es so: In Deutschland bräuchte man noch 7 Jahre, bis überhaupt alle Genehmigungen und Stellungnahmen zur Erstellung des Systems vorlägen, um dann an Fachkräftemangel und Frauenquote zu scheitern.