Tag Bahn

  • Ach Bahn, Teil 7: Endlich ehrlich

    Mindestens seit letztem September bezahlt die Bahn das Unternehmen hcaptcha dafür, ihre KundInnen nach einer mysteriösen Systematik beim Einloggen recht regelmäßig mit minder unterhaltsamen Spielen zu belästigen: Fahrräder, Wasserflugzeuge, Busse anklicken, bis entweder die „KI“ von hcaptcha oder der/die geneigte BahnkundIn die Geduld verlieren. Gleichzeitig ging auch der Eingeloggt-bleiben-Mechanismus der Bahn-Webseite kaputt – jedenfalls verlangt sie seitdem bei jeder Buchung ein neues Login –, und so durfte ich bei im Schnitt zwei von drei Kartenkäufen stupide auf Bilder klicken. Wäre das ein Tierversuch, würde ich die Ethikkommission einschalten.

    Ich habe hier schon im letzten Oktober über diesen Mist gejammert und angemerkt, dass eine Anfrage, ob das so sein soll und wann es repariert wird, seit zwei Wochen unbearbeitet bei der Bahn lag. Seitdem habe ich immer mal wieder bei der Bahn nachgefragt und habe auch zwei oder drei Mal „Abgabeinformationen“ bekommen, die in etwa so aussahen:

    webkit-box-shadow: 0px 4px 8px #828282; /*webkit browser */-moz-box-shadow:
    0px 4px 8px #828282; /*firefox */box-shadow: 0px 4px 8px
    [... ~100 Zeilen so weiter]
    .NormaleTabelle-C{vertical-align:top;}
    .TableNormal-C{vertical-align:top;} Ihre Nachricht vom: 22. Oktober
    2021Unser Zeichen: 1-XXXXXXXXXXXX Sehr geehrter XXXXXXXXXXXXXXXXXXX,
    vielen Dank für Ihre E-Mail.  Den geschilderten Sachverhalt haben wir
    sorgfältig durchgesehen. Damit Ihr Anliegen umfassend bearbeitet und
    beantwortet wird, haben wir Ihr Schreiben heute an die zuständige
    Abteilung weitergegeben.Wir bitten Sie um Geduld und freuen uns, wenn
    Ihr Anliegen von der Fachabteilung zu Ihrer Zufriedenheit beantwortet
    werden kann.  Mit freundlichen Grüßen Ihr Team vom Kundendialog
    

    (die vergurkte Formatierung in der text/plain-Alternative der Bahn-Antworten hatte ich schon vor Monaten an die Bahn berichtet und im April etwas ausführlicher diskutiert; repariert ist natürlich nichts). Nennt mich naiv: Ich hatte wirklich ein wenig Hoffnung, dass die „Fachabteilung“ irgendwas schreibt wie „es gibt da App-Schurken, die dasunddas tun, und wir wissen uns gerade nicht anders zu helfen als mit Captchas“ oder irgendwas dergleichen.

    Das ist natürlich nicht passiert. Aber irgendeine nicht völlig inhaltsleere Antwort hätte ich schon gerne gehabt, und so habe ich trotz der Bitte um Geduld doch noch ein, zwei Mal geschrieben, wenn ich mal wieder irgendwelche Verkehrsmittel abklicken musste, damit die Bahn mir erlaubte, ihr Geld zu geben.

    Zuletzt habe ich am 24.6. Folgendes geschrieben:

    > versichern Ihnen, dass jedes Anliegen bearbeitet wird und bitten
    > Sie noch um ein wenig Geduld.  Sie erhalten eine Antwort, sobald
    > Ihr Antrag geprüft wurde.
    
    Hm... Bei drei Buchungen der letzten Zeit hatte ich wieder zwei Mal
    ein Captcha zu lösen (heute: Fahrräder).  Insbesondere hatte ich mich
    auch jedes Mal wieder neu einzuloggen.
    
    Zumindest eine Aussage darüber, ob das beabsichtigtes Verhalten ist
    oder ein Fehler wäre, finde ich, in den 10 Monaten seit meiner ersten
    Anfrage schon drin gewesen, oder?  *Soo* katastrophal kann doch das
    Anfragevolumen gar nicht sein, dass auf dieser Zeitskala niemand
    entscheiden kann, ob sich das so gehört oder ob es sich für mich
    lohnt, auf Fehlersuche zu gehen.
    
    > Link. P.S.: Für Ihre Anregungen, Lob und Kritik sind wir jederzeit
    > gern unter 030 2970 für Sie da. Sie erreichen uns rund um die Uhr
    
    Hmja... das hatte ich auch mal versucht, und die arme Mitarbeiterin
    konnte nichts tun außer mir anzubieten, mir die Nutzung einer App zu
    erklären, was beim vorliegenden Problem nun auch nur eingeschränkt
    nützlich war.
    

    Ich finde, nach Lage der Dinge ist das eine vertretbar freundliche und durchaus vernünftig formulierte Anfrage samt dem Angebot, ihre Javascript-Wüste zu debuggen, wenn das bereits vorher beschriebene Verhalten nicht beabsichtigt sein sollte.

    Was soll ich sagen? Das Ergebnis war die, so glaube ich, erste halbwegs ehrliche Antwort der Bahn, unter dem Betreff „Ihre Erfahrung mit der Deutschen Bahn“:

    -webkit-box-shadow: 0px 4px 8px #828282; /*webkit browser
    */-moz-box-shadow: 0px 4px 8px #828282; /*firefox */box-shadow: 0px
    [... >100 Zeilen so weiter wie gehabt...]
    .NormaleTabelle-C{vertical-align:top;} Ihre Nachricht vom: 24. Juni
    2022Unser Zeichen: XXXXXXXXXXXXXX Sehr geehrter XXXXXXXXXXXXXXXXXXX,
     herzlichen Dank für Ihr Schreiben vom 24. Juni 2022. Sie haben sich
    die Zeit genommen, uns von Ihren Beobachtungen und Erlebnissen zu
    berichten. Ihre Unzufriedenheit können wir gut nachempfinden. Wir
    bedauern, dass das Erlebte keinen guten Eindruck bei Ihnen
    hinterlassen hat. Unser Anspruch ist es, unsere Leistungen stetig zu
    verbessern.  Alle Mitarbeiterinnen und Mitarbeiter arbeiten täglich
    daran, die Qualität und den Service auszubauen, die Verlässlichkeit
    sicherzustellen und die Verfügbarkeit und Aktualität von Informationen
    zu optimieren. Gerne stehen wir Ihnen für Ihre Fragen, Ihr Lob und
    Ihre Kritik zur Verfügung. Wir bitten Sie jedoch um Verständnis, dass
    wir von weiteren Stellungnahmen zu diesem Thema absehen. Für alle
    Anliegen zu anderen Themen stehen wir selbstverständlich zur
    Verfügung. Mit freundlichen Grüßen Ihr Team vom Kundendialog
    

    Zwar ist das erkennbar auch nur aus vorgefertigten Phrasen zusammengeklickter Nonsens, aber immerhin: sie geben ehrlich zu, dass sie „von weiteren Stellungnahmen zu diesem Thema“ absehen werden. Nun würde ich das „weiteren“ in der Formulierung bestreiten, und ich bleibe dabei, dass das für Leute, denen ich einige tausend Euro im Jahr gebe, eine etwas überarrogante Haltung ist. Ich möchte auch darauf bestehen, dass es wirklich nicht zu viel verlangt ist, von Captchas verschont werden zu wollen. Aber es ist viel besser als „Abgabeinformationen“ zu verschicken, die nie Konsequenzen haben – und bei denen das auch keineR erwartet.

    Tja, dann also hier in die Runde: Weiß jemand, ob es Absicht ist, dass mensch auf der Bahn-Webseite vor einer Buchung ausgeloggt wird? Und weiß wer, wie mensch die Chancen in hcaptchas Lotterie verbessert, ums Verkehrsmittelklicken herumzukommen?

  • Aus der Seele gesprochen

    Selten hat mir jemand so aus der Seele gesprochen wie Susanne Fischer in ihrer Glosse 9-Euro-Reporter in der taz von gestern, in der sie nach etwas Spott über die verbreitete Berichterstattung in Sachen 9-Euro-Ticket – anscheinend größtenteils geschrieben von Menschen, die schon lange keine Züge mehr von innen gesehen haben – ihre eigene Situation beschreibt:

    Der größte Mehrwert für mich ist, dass ich neuerdings in fremden Städten den ÖPNV nutzen kann, ohne vorher ein mehrstündiges Tarifstudium zu absolvieren – mit praktischer Prüfung an Automaten, deren Software vom sadistischen Andi-Scheuer-Fanclub programmiert wurde.

    Ja! Ja! Ja! Ich kann mich nicht erinnern, wann ein Satz zuletzt so in Resonanz mit meinen eigenen Gedanken stand.

  • Ach Bahn, Teil 6: Vernünftiges HTML ist möglich

    Über absurd komplexe Captive Portals in öffentlichen WLANs, die insbesondere die Ausführung von Unmengen von Javascript erfordern – was besonders kitzlig ist, da in der Situation der Accesspunkt der ultimative Man-in-the-middle ist –, habe ich mich hier schon öfter geärgert. Was wäre so verkehrt an einer einfachen HTML-Seite, die kurz die Regeln erläutert, wenns dringend sein muss, noch ein Häkchen verlangt und sich ansonsten auf <input type="submit" value="Connect"/> (für Interoperabilität; ich selbst hätte auch nichts gegen ein <button>Connect</button>) beschränkt? Nebennutzen: Sowas abzuschicken wäre leicht automatisierbar[1].

    Stellt sich heraus: Wer auch immer diesen Mist bastelt, könnte auch anders. Jetzt gerade fahre ich – zum ersten Mal mit 9-Euro-Ticket[2] – in einem S-Bahn-Zug der Bahn und bin mit einem WIFI@DB-Netz verbunden. Beim Versuch, die nötigen Beschwörungen fürs Internet zu vollführen, kam eine ganz schlichte Meldung: „We are offline“, so schlicht, dass ich mir gleich den Quelltext angucken musste, und siehe da (ich habe ein paar Leerzeilen gekürzt):

    <html lang="de"><head>
        <meta http-equiv="Cache-Control" content="no-store">
        <meta http-equiv="Cache-Control" content="no-cache">
        <meta http-equiv="Pragma" content="no-cache">
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>SRN Startseite</title>
        <link rel="stylesheet" href="scss/styles.css">
    </head>
    <body>
    We are offline...
    </body></html>
    

    Gut: Das Übertöten bei der Cache-Kontrolle ist nicht optimal, und auch nicht, dass englischer Text als Deutsch ausgezeichnet ist; generell wäre ich zwecks einfacher Parsbarkeit auch immer für XHTML zu haben, und wenn sie schon UTF-8 als Zeichensatz haben, sollten sie aus typografischen Gründen statt ... lieber … (alias U+2026) schreiben – aber anonsten: So kann modernes HTML („modern“ wg. des dämlichen viewport-metas) auch aussehen.

    Ach so: Das stylesheet gibt natürlich ein 404, und würde ich die Kennung meiner Netzwerkkarte nicht ohnehin auswürfeln, wäre nicht amüsiert, dass die URL, unter der der Kram ausgeliefert wird, genau diese Kennung enthält, aber verglichen mit den üblichen Javascript-Wüsten wäre das wirklich ein Fortschritt. Warum gehen Captive Portals nicht immer so?

    Wobei: ganz so einfach ist das natürlich auch nicht. Zieht mensch nämlich einfach irgendeine Webseite, kommt als Request Body des Redirects auf die obige schlichte Seite sowas hier:

    <HTML><BODY><H2>Browser error!</H2>Browser does not support redirects!</BODY>
    <!--
    <?xml version="1.0" encoding="UTF-8"?>
    <WISPAccessGatewayParam
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="http://www.wballiance.net/wispr_2_0.xsd">
    <Redirect>
    <MessageType>100</MessageType>
    <ResponseCode>0</ResponseCode>
    <VersionHigh>2.0</VersionHigh>
    <VersionLow>1.0</VersionLow>
    <AccessProcedure>1.0</AccessProcedure>
    <AccessLocation>CDATA[[isocc=,cc=,ac=,network=HOTSPLOTS,]]</AccessLocation>
    <LocationName>CDATA[[94800463058]]</LocationName>
    <LoginURL>https://www.hotsplots.de/auth/login.php?res=wispr&amp;uamip=192.168.44.1&amp;uamport=80&amp;challenge=7e9b9ebbcbaa23dcee39cd94b42695fd</LoginURL>
    <AbortLoginURL>http://192.168.44.1:80/abort</AbortLoginURL>
    <EAPMsg>AQEABQE=</EAPMsg>
    </Redirect>
    </WISPAccessGatewayParam>
    -->
    </HTML>
    

    Heilige Scheiße – HTML-Tags in Großbuchstaben und in einen HTML-Kommentar eingebettetes XML: da waren klare SpezialexpertInnen am Werk. Wenn die Leute, die sich das ausgedacht haben, das hier lesen: Ich mache zum Sonderpreis von 9 Euro eine Fortbildung in XML Namespaces und wie sie für so Zeug einzusetzen wären.

    Ansonsten sollte ich wahrscheinlich mal bei http://www.wballiance.net vorbeischauen; vielleicht lässt sich mit diesem Zeug ja irgendwas basteln, das die lästigen Vorschaltseiten, die sowas ausliefern, ganz ohne Javascript webzaubert?

    Nur nicht gerade jetzt, denn: We are offline....

    [1]Also gut: Was wäre verkehrt daran, den Captive-Portal-Scheiß ganz zu lassen?
    [2]Ich würde gerne sagen, dass ich extra zu dessen Erwerb zum Bahnhof Mainz Römisches Theater gefahren bin, denn das ist schon einer der schönsten Bahnhofsnamen der Republik, aber das wäre eine Lüge.
  • Ach Bahn, Teil 5: Stuttgart 21

    Foto: Bahnaushang mit fast schon sarkastischer Umwegkennzeichnung

    Schon seit anderthalb Monaten müssen die Fahrgäste am Stuttgarter Hauptbahnhof den hier grün eingezeichneten Weg nehmen, um den Bahnhof Richtung Innenstadt und Nahverkehr zu verlassen, nach (realistischer) Bahn-Einschätzung ein Weg von fünf Minuten. Ich bin erstaunt, dass das bisher noch keinen Aufstand gegeben hat.

    Frage an Radio Eriwan: „Steht die Einundzwanzig in Stuttgart 21 für die Zahl der Jahre, die der Stuttgarter Hauptbahnhof kaputt sein wird oder für die Zahl der Minuten, die mensch braucht, um vom Bahnsteig an den Bahnhofsausgang zu kommen?“ Die Antwort: „Im Prinzip ja, aber in Wahrheit haben wir die Gesamtkosten für die öffentliche Hand in Milliarden Euro gemeint.“

    Ok: Die S21-Katastrophe ist zur Abwechslung nicht der Fehler der Bahn alleine. Das historische Faktum der Volksabstimmung, die das Immobilienspekulationsprojekt rund um den Stuttgarter Bahnhof abgesegnet hat, illustriert gewiss über die DB hinaus einige Grundprobleme der Abstimmungsvariante direkter Demokratie (die, nebenbei, die Entropieprobleme ihres repräsentativen Cousins teilt). Solange Menschen ein Wahnsinns„argument“ wie „wir haben schon zwei Millarden ausgegeben, jetzt müssen wir da auch durch“ kaufen, wird es mit so einer Abstimmerei nicht besser.

    Demokratietheoretisch noch kniffliger ist, dass hier in breiter Mehrheit Menschen, die selbst praktisch nie einen Bahnhof betreten („Autofahrer“) den NutzerInnen des Stuttgarter Bahnhofs mehr als ein Jahrzehnt auch nach Bahnmaßstäben allenfalls hinkenden Notfallbetriebs eingebrockt haben. Alle Auswege aus Problemen dieses Typs, die mir so einfallen, schweben irgendwo zwischen Ablismus und Aristokratie oder sprengen alle vernünftigen Konzepte von Gesellschaft; vermutlich ist das ein Zeichen, dass es echte Partizipation nur im Gespräch, nicht aber in der Abstimmung geben kann (was ich ja schon lange vermute).

    Baustellenaushang: "Zu den Zügen bitte die Halle verlassen"

    Mai 2022: Über ein Jahrzehnt nach der blutigen Räumung des Schlossgartens, damit es „endlich“ losgehen konnte mit dem Abbau des Stuttgarter Hauptbahnhofs, markiert die Bahn: Wanderer, betrittst du den Bonatzbau, kehre einfach wieder um.

    Durchaus ein Fehler der Bahn ist aber, wenn zunächst für zehn Jahre die Gleise nur über zwei Brücken von vielleicht 200 Metern Länge mit dem Bahnhofsgebäude verbunden sind – war in dieser Grube wirklich so lange so viel zu machen? – und dann selbst diese beiden Brücken gleichzeitig abgerissen werden. Genau das ist aktueller Stand der Dinge, und der Weg Richtung Innenstadt verläuft jetzt über eine riesige Schleife von vielleicht einem halben Kilometer. Damit braucht es mindestens fünf Minuten von Bahnsteig zu Vorplatz und ÖPNV – was solide in der Größenordnung der Wege liegt, die ich überhaupt zurückzulegen habe, wenn mich ein gehässiges Schnicksal nach Stuttgart verschlägt. Das hätte mit etwas kundInnenfreundlicher Planung nicht sein müssen.

    Updates zu meinen übrigen Sorgen mit der Bahn: Keine. Ich weiß immer noch nicht, welche „Angriffe“ eigentlich durch hcaptcha abgewehrt werden sollen, habe keine Hinweise, wie ich nicht bei jeder Buchung wieder ein Captcha lösen muss (heute habe ich ca. 15 Flugzeuge angeklickt), und es gibt immer noch kein Signal der Bahn zur doch eigentlich sehr naheliegenden Forderung, entweder die Bahn-Bonus-App oder zumindest ihre API offenzulegen.

  • Ach Bahn, Teil 4: Werbschleicher

    Foto: Werbepost von der Bahn in rot, etwas größer als DIN C7.

    Das aktuelle „Einwilligungsmanagement“ der Bahn.

    Gestern habe ich Brief-Spam von der Bahn bekommen. Während meine Fragen zu frechen Captchas (Oktober 2021) und einer öffentlichen Entwicklung ihrer „BahnBonus App“ (neulich) immer noch auf sinnvolle Antworten warten und die Mails von der Support-Adresse immer noch einen komplett kaputten text/plain-Teil haben, schreibt die Bahn:

    Sie sind noch nicht zu unserer E-Mail-Kommunikation angemeldet.

    Äh… Was? Ihr habt mir doch euer Schreiben, nach der künftig Menschen, die den root-Account auf ihren Rechnern weder Apple noch Google geben wollen (nicht-technisch: „nicht smartphonieren“), auch per Mail geschickt? Nun, lesen wir weiter:

    Aber nicht nur mit der BahnBonus-App, sondern auch durch unsere E-Mail-Kommunikation bekommen Sie unsere Angebote immer und überall direkt auf ihr Smartphone.

    Ah ja. „Angebote” also. Dass die Bahn Werbung über ihre App ausspielen will, habe ich mir schon gedacht, denn, abgesehen vom (Meta-) Datensammeln: Was soll sonst schon der Vorteil der App-Infrastruktur sein gegenüber der alten Karte, die als Werbeträger, das gebe ich der Bahn gerne, nur recht eingeschränkt taugt?

    Was die Bahn hier probiert, heißt, so höre ich, in der Branche „Consent Management“, also das Erschleichen von Einwilligungen zu allerlei Datenverarbeitungen, die klar denkende Menschen ohne solches „Management“ durchweg ablehnen.

    Die Werbepost von der Bahn ist mithin eine materielle Manifestation eines Cookiebanners. Liebe Bahn: Der aktuelle Kurs für das Erschleichen solcher Einwilligungen ist mindestens ein iPad-Gewinnspiel. Oder in meinem Fall: dass ich mit meiner Plastikkarte weiter einen warmen Ort mit sauberem Klo finde, wenn ich mal wieder auf einem größeren Bahnhof auf einen Zug warte, der grob in meine Richtung fährt.

    Aber all das hat auch eine positive Seite: offenbar gibts im Bahn-Werbecomputer kein Feld „angepisster Kunde, vorsichtige Ansprache“ – oder die Prozesse, es zu füllen, funktionieren nicht. Und das ist aus Datenschutzsicht auch schon was.

    Exkurs: Datenschutzaufklärung auch kaputt

    Oh, habe ich gerade „Datenschutz“ in einem Bahn-Zusammenhang gesagt? Dann kann ich nicht widerstehen, kurz von zwei Highlights meines Ausflugs auf die Datenschutzseite der Bahn zu berichten. Da stimmt nämlich schon im Hinblick auf die Rechtsgrundlagen ziemlich wenig (Stand April 2022). Ich will kurz zwei Beispiele geben.

    Die Bahn setzt ein bizarres Konglomerat von Tracking-Software ein (was den beruhigenden Schluss zulässt, dass sie wahrscheinlich sehr wenig mit den Ergebnissen machen, denn das Gesamtbild hinterlässt nicht den Eindruck, dass da wer weiß, was er_sie tut) und erklärt dazu:

    Die im Folgenden aufgeführten und von uns eingesetzten Tracking-Maßnahmen werden auf Grundlage des Art. 6 Abs. 1 lit. b) DSGVO durchgeführt und dienen der bedarfsgerechten Gestaltung und fortlaufenden Optimierung unserer Webseite.

    Buchstabe b in DSGVO Art. 6 (1) ist „Abwicklung eines Vertrages“. Wer mir erzählt, er könne mir nur dann ein Ticket verkaufen, wenn er Tealium, Adobe Analytics, Optimizely, Qualtrics, m-pathy und CrossEngage alle zusammen auf mich loslässt, hat allenfalls mein bitteres Lachen, anonsten aber die Nadel des Glaubwürdigkeits-o-meters am Nullanschlag verbogen.

    Nur zur Klarheit: eine Datenverabeitung, die sich auf Buchstabe b beruft, muss notwendig sein, der Kram muss also kaputt gehen, wenn sie nicht stattfindet. Das ist bei all den Trackern augenscheinlich unzutreffend, denn auf meiner Maschine zeigen fast alle zugehörigen Servernamen auf meine eigene Maschine oder die „Dienste“ sind anderweitig „geblockt“. Ich kann aber trotzdem buchen, von den Captcha-Belästigungen mal abgesehen.

    Allerdings: Schon der vorgeschobene Grund, „bedarfsgerechte Gestaltung“ (von der ohnehin keine Rede sein kann) hat ja mit der Vertragsabwicklung nichts zu tun. Vielleicht könnten in dem Zusammenhang „berechtigte Interessen“ (Buchstabe f) angeführt werden, mit der Vertragsabwicklung hat das jedenfalls nichts zu tun.

    Mit diesen berechtigten Interessen versucht es die Bahn ein wenig später, nämlich bei den Captchas (wo das nicht komplett abzustreiten wäre, auch wenn im konkreten Fall jede Verhältnismäßigkeit fehlt) und:

    Für Zwecke der Betrugsprävention verwenden wir die Technologie JSC-Tools der Risk.Ident GmbH (Am Sandtorkai 50, 20457 Hamburg). Dies dient Ihrem und unserem Schutz, um der missbräuchlichen Verwendung Ihres Zahlungsmittels zur Zahlung bei bahn.de/bahn.com vorbeugen zu können. Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. f) DSGVO.

    Bei diesem Passus wollen Zweck – nämlich Schutz meines Zahlungsmittels – und Verarbeitungsgrund – Interessen der Bahn – recht offensichtlich nicht zusammengehen. Hier wäre ein Berufen auf Buchstabe b eventuell denkbar, weil im wilden Internet Zahlungen ohne Schutzzauber komplizierte Compliance-Probleme bereiten könnten. Das kann ich nicht beurteilen, denn weder weiß ich, welche Sorte Schutzzauber diese JSC-Leute machen noch muss ich – und dafür danke ich allen Gottheiten, die gerne Dankbarkeit hätten – Geld übers Internet eintreiben.

    Aber gut: Wer hätte schon erwartet, dass die Bahn im Datenschutz besser ist als im Zugbetrieb. Auch dort ist es ja gegenwärtig die Regel, dass, wenn ein Zug kommt, es fast immer ein anderer ist als angekündigt und auch dieser andere Zug irgendwie kaputt ist.

  • Ach Bahn, Teil 3: Ade, du schöne Lounge

    Heute morgen habe ich eine Mail bekommen, die ich zunächst für einen besonders dreisten 419 scam gehalten habe. Doch nein, der Absender und die Received-Header sahen alle glaubhaft aus. Die Bahn hat mir wirklich mitgeteilt:

    Um Ihre BahnBonus Statusvorteile nutzen zu können, ist ab dem 13.06.2022 die BahnBonus App erforderlich.

    und in den „FAQ“ (ich wette, dass einen ganzen Haufen davon nie ein realer Mensch gefragt hat, mal ganz zu schweigen von „frequently“) steht tatsächlich:

    Warum gibt es ab Einführung der Statuslevel die meisten Statusvorteile nur in der BahnBonus App?

    Der Wunsch nach digitalen Lösungen ist in den letzten Jahren stark gestiegen. Die Änderungen ab 13.06.2022 werden diesem Wunsch gerecht, weswegen die Prozesse alle rein digital umgesetzt werden.

    Wie? Weil der „Wunsch nach digitalen Lösungen“ (vgl. Antisprache Digitalisierung) zugenommen hat, zwingt die Bahn Leuten „Smartphones“ auf? Leute haben gewünscht, dass sie noch mehr Zirkus machen müssen an den Lounge-Eingangskontrollen? Ich glaube kein Wort und rufe die Antisprache Innovation auf.

    Und, natürlich:

    Mit welchen Betriebssystemen kann die BahnBonus App genutzt werden?

    Bei iOS erfordert die BahnBonus App Version 14.0 oder höher. Bei Android erfordert die BahnBonus App aktuell Version 8.0 oder höher und ab Einführung der BahnBonus Statuslevel im Juni Version 9.0 oder höher.

    Nun ist die Teilnahme an Kundenbindungsprogrammen nichts, dessen mensch sich gerne bezichtigt und das vielleicht auch nicht ganz verträglich ist mit Bedenken bezüglich informationeller Selbstbestimmung. Bahn-Bonus, das will ich hier ganz schnell betonen, war meine einzige Sünde in dem Bereich[1]. Und ja, es ist ohnehin nicht sonderlich nett, in Lounges Kakao zu schlürfen, während die ungewaschenen Massen draußen am Bahnsteig frieren. Insofern will ich hier keine große Moral aufmachen.

    I like both kinds of operating systems: the one where Apple is root and the one where Google is root.

    Dennoch war ich immer gerne in den Lounges, schon, weil ich in keiner anderen Kategorie von Raum so oft zufällig auf Bekannte gestoßen bin. Auch wenn das wegen der kompromittierenden Natur des Eingeständnisses, dass mensch bei der Datensammelei Bahn-Comfort mitmacht, nicht immer ganz unbeschwert war, weine ich diesen Dingern schon eine Träne oder zwei nach. Und drum habe ich, auch wenn ich immer noch auf eine sinnvolle Antwort zu meiner Anfrage zu Captchas an die Bahn vom letzten Jahr warte, nochmal eine Mail an die Bahn-Kundenbetreuung geschickt:

    Date: Tue, 5 Apr 2022 08:31:05 +0200
    Subject: Charmeoffensive

    Hallo,

    Ich denke mal, Sie werden heute viele Mails dieser Art bekommen, aber ich denke, es kann nicht oft genug gesagt werden: Dass in Zukunft der Deal "Daten gegen Dienste" mit entweder Apple oder Google nötig sein soll, um in die Lounges zu kommen, ist sicher keine Charmeoffensive der Bahn, zumal im Hinblick darauf, dass VielfahrerInnen wahrscheinlich eher datenschutzbewusster sind als die Durchschnittsbevölkerung.

    Können Sie nicht wenigstens den Quellcode der "App" veröffentlichen, so dass Leute den Kram auch auf normale Rechner portieren können? Oder, wenn das eh nur eine dünner Lack über eine API sein sollte, das Zeug auch als normale Webseite anbieten?

    Schon etwas fassungslos,

    Ich weiß nicht, was die Bahn antworten wird (aber schon, was nicht: den tatsächlichen Grund dieses Stunts – während Corona waren die Lounges doch immer leer?), aber nach meinen bisherigen Erfahrungen kann ich zuversichtlich vorhersagen, mit was die text/plain-Alternative der Mail anfangen wird. Nämlich:

    -webkit-box-shadow: 0px 4px 8px #828282; /*webkit browser
    */-moz-box-shadow: 0px 4px 8px #828282; /*firefox */box-shadow: 0px 4px
    8px #828282;line-height:1.15;width:467.700pt; padding:0pt 42.550pt 0pt
    85.050pt ; background-color: #FFFFFF; margin:auto.header{
    padding-top:36.000pt ;}.footer{ padding-bottom:31.200pt ;}.page-content{
    position:relative;padding-top: 62.650pt ;padding-bottom: 70.900pt
    ;min-height:708.350pt; ;}del {text-decoration:line-through;color:red;}
    ins {text-decoration:none;} .Hyperlink-H{color:#0000FF;}
    

    Und noch viele Zeilen weiter so. Das ist übrigens schon seit Jahren in dieser Weise kaputt. Besonders mysteriös finde ich dabei ja, warum in diesem CSS-dump ausgerechnet eine Regel für das del-Element enthalten ist, dem ich, so glaube ich, in der Wildnis noch nie begegnet bin. Rätsel über Rätsel bei der Bahn.

    Nachtrag (2022-04-06)

    Ha! Ich hatte recht. Zur Illustration des Ausmaßes an Murks empfehle ich einen Blick auf den ganzen text/plain-Anhang des Bahn-Supports (scrollt ein Stück nach unten, da kommt wirklich auch etwas Nicht-CSS, wenn auch sehr kreativ geklebt).

    Ich habe kurz überlegt, ob ich das vielleicht nicht öffentlich machen sollte, weil es ja erstmal eine private Mail ist. Aber dann ist mir aufgefallen, dass da überhaupt nichts Privates drinsteht. Die Bahn ist ja auf keinen meiner Punkte eingegangen und hat nur „F“AQ-Punkte zusammengeklickt. Und eine Urheberrechtsverletzung kommt schon wegen mangelnder Schöpfungshöhe nicht in Frage.

    Hinweis an der Stelle: Haufenweise Plastik ließe sich wunderbar vermeiden, wenn der Quellcode offen wäre und damit die Menschen nicht unbedingt Betriebssysteme bräuchten, die auf ihrer aktuellen Hardware gar nicht laufen. Aber wem predige ich das?

    Die Antwort: 030 2970, wie in der Mail empfohlen. Oder eher: ich habe das gerade versucht, mitsamt einer Erörterung meines Captcha-Problems. Tatsächlich habe ich nach etwas Interaktion mit einem Computer und nur zwei Minuten Warteschleifenmusik einen Menschen am Telefon gehabt. Dieser war hörbar glücklich, „Ich schicke Sie mal kurz in die Mobilitätsabteilung“ seufzen zu können. Mit der Mitarbeiterin dort hatte ich dann jede Menge Mitleid, weil sie mir in keinem meiner Anliegen auch nur einen Millimeter weit helfen konnte, während ich mit ihrem mehrfachen Angebot, mich im Umgang mit dem DB-Navigator zu schulen, schon deshalb nichts anfangen konnte, weil dieser auf keinem meiner Rechner läuft (von meiner Abneigung gegen unpaketierte Software mal ganz abgesehen).

    Überrascht war ich über diesen Ausgang natürlich nicht. Aber wenn ich hier schon so wohlfeiles wie berechtigtes Bahn-Bashing betreibe, wollte ich es wenigstens versucht haben.

    [1]Also gut, wenn ich schon beichte, dann gleich richtig: ich habe auch mal versucht, hinreichend Schnipsel von Samba-Deckeln zu sammeln, um ein Schneidbrett mit Rapunzel-Logo zu bekommen. Das hat aber leider nicht geklappt.
  • Ach, Bahn, Teil 2: Maustracking ist Quatsch

    Screenshot: Blockiertes Javascript auf bahn.de

    F12 in den üblichen Browsern führt auf verschiedene Sorten von „Web-Inspektoren“. In deren „Network“-Tabs könnt ihr die Flügel'sche Metrik bestimmen: Wie viele Dateien von wie vielen Hosts zieht so eine Seite? Die Bahn-Seite schneidet dabei nicht gut ab, nicht zuletzt aufgrund des nutzerInnenfeindlichen Javascripts, das der Screenshot zeigt.

    Wieder mal habe ich auf bahn.de eine Fahrkarte gekauft, und wieder hakte es an vielen Ecken. Immer noch hat der Server darauf bestanden, ich sei eingeloggt (und hat mir nicht die Möglichkeit gegeben, mich einzuloggen), hat mir aber nicht meine Buchungs-Voreinstellungen („eine Person mit Bahncard 50“) angeboten, hat wieder ganze Seiten mit je nur einer einzelnen Frage ausgeliefert, hat kaputte Zahlungsoptionen angeboten, quittierte einen Browser-Reload mit hartem Ausloggen („fang einfach nochmal an“) und verlangte von mir ein Login beim Kartenkauf, obwohl es mich ja die ganze Zeit schon als eingeloggt geführt hat. Immerhin – niemand soll sagen, ich würde nur motzen – war das Captcha vom letzten Herbst endlich weg (eine Reaktion auf meine diesbezüglichen Mails aus dem Herbst-Blogpost habe ich natürlich nie bekommen).

    Jedenfalls reichen eigentlich ein, zwei Transaktionen auf bahn.de locker, um einige (modulo Ökonomie) leicht zu behebende Usability-Schwächen zu finden. Aber gut: Gerade bei Webseiten bin ich ja schon froh, wenn sie wenigestens ihre Quirks behalten und nicht alle paar Wochen wieder was anders (zumeist: anders kaputt) ist. Ich erwähne das alles überhaupt nur, weil bahn.de in meinem Browser mal wieder so hakelig war, dass ich nachgesehen habe, wessen Javascript mir die Bahn neben ihrem eigenen (das dürfen sie ausführen) noch andrehen will. Unter den geblockten Quellen befand sich ein Laden namens m-pathy.com. Dessen Homepage (kleines Lob am Rande: das geht, ohne Code von m-pathy.com auf der lokalen Maschine laufen zu lassen) radebrecht mit Deppen-Leerzeichen:

    m-pathy UX Insight G4 macht sichtbar, was Ihre Kunden erleben.

    Unsere Analyse Lösung ermöglicht die Auswertung tausender feingranularer Interaktionsdaten aus Mausspuren, Touch-Gesten, Klicks und Formularinteraktionen.

    Das Ergebnis sind belegbare und priorisierbare Handlungsempfehlungen für die Optimierung Ihrer klassischen oder mobilen Webseite.

    Also: Die Bahn sammelt und verarbeitet Daten über meine Mausbewegungen (na ja, natürlich nicht über meine, weil das Javascript dieser Leute bei mir nicht läuft, aber von fast allen anderen ihrer KundInnen), um so zu tun, als würde sie ihre Webseite „optimieren“.

    Da die Usability der Webseite zumindest in meinem „Erleben“ spürbar abgenommen hat – vor allem wohl wegen der Förderung von „Partnerangeboten“ und anderen Marktingkrams, aber seis drum –, würde ich schließen, dass „m-pathy UX Insight G4“ schlicht nicht funktioniert. Ok: Kann sein, dass die hautnahe Bespitzelung der NutzerInnen durch die Bahn funktioniert und sich eben nur niemand um „belegbare und priorisierbare Handlungsempfehlungen“ kümmert. Dann könnte die Bespitzelung aber auch unterbleiben, oder? Oder sind die Zwecke der Bahn ganz andere als die bei m-pathy angegebenen? Allein, mir würden da nicht viele einfallen. Was bitte soll aus meinen Mausbewegungen über der Bahn-Webseite für die Bahn schon folgen?

    Einfach mal offen (also: ohne Fragebogen) mit 10 oder 50 NutzerInnen der Webseite reden und ihnen zuhören wäre ganz klar gigantisch viel datensparsamer und, so bin ich sicher, auch erheblich wirksamer, wenn die Bahn die Seite wirklich verbessern wollte.

    Liebe Bahn, darf ich euch noch einen Neujahrsvorsatz vorschlagen? Es wäre: Buchen ohne Javascript, vielleicht sogar mit einem lokalen, Debian-paketierbaren Programm, das auf einer wohldokumentierten API aufsetzt.

  • Zu Fuß im Zug ins Netz

    Screenshot

    Wer hinreichend Geduld und Kompetenz hat, bekommt in den Zügen von Go-Ahead am Ende so eine Seite vom Captive Portal.

    Zu den ärgerlichen Folgen des Irrsinns vom „geistigem Eigentum“ gehören Captive Portals, also Webseiten, auf die mensch in öffentlichen WLANs erstmal umgeleitet wird. Erst, wer Familienpackungen Javascript ausführen lässt und schließlich per Häkchen lügt, er_sie habe die Nutzungsbedingungen gelesen und anerkannt, darf ins Netz. Allein fürs Öffnen dieser Sicherheitslücke („gehen Sie in irgendein unbekanntes Netz und lassen Sie ihren Browser allen Code ausführen, der da rauskommt, und dann ziehen Sie noch megabyteweise Bilder – vielleicht ist ja in einem der Bilder-Decoder auch noch ein Buffer Overflow“) verdient die Geistiges-Eigentum-Mafia Teeren und Federn.

    Na ja, und erstaunlich oft ist der Mist einfach kaputt. Eine besondere Kränkung für die Ingenieursabteilung meines Herzens ist, wenn die ganze aufregende Hi-Tech, mit der mensch in fahrenden Zügen ins Netz kann, prima geht, aber trotzdem kein Bit durch die Leitung zu kriegen ist, weil ein „Web-Programmierer“ im doofen Captive Portal gemurkst hat.

    Kaputt sah das WLAN für mich heute in einem Zug von Go-Ahead aus. Die Geschichte, wie ich mich dennoch ins Netz vorgekämpft habe, finde ich im Hinblick auf manuelles Fummeln an IP-Netzen instruktiv, und so dachte ich mir, ich könnte im nächsten Zug (betrieben von der Bahn und deshalb noch nicht mal mit kaputtem Internet ausgestattet) zusammenschreiben, was ich alles gemacht habe. Das Tooling, das ich dabei verwende, ist etwas, öhm, oldschool. So sollte ich statt ifconfig und route heute wohl lieber ein Programm mit dem schönen Namen ip verwenden. Aber leider finde ich dessen Kommandozeile immer noch ziemlich grässlich, und solange die guten alten Programme aus grauer Vorzeit immer noch auf eigentlich allen Linuxen rumliegen, kann ich mich einfach nicht zur Migration durchringen.

    Am Anfang stand die einfache ifupdown-Konfiguration für das Zug-Netz:

    iface roam inet dhcp
      wireless-essid freeWIFIahead!
    

    in /etc/network/interfaces.d/roam. Damit kann ich sudo ifup wlan0=roam laufen lassen, und der Kram sollte sich verbinden (wenn ihr die Interface-Umbenamsung der systemd-Umgebung nicht wie ich abgeschaltet habt, würde vor dem = einer der kompizierten „vorhersagbaren“ Buchstabensuppen der Art wp4e1 oder so stehen).

    Nur: das Netz kam nicht hoch. Ein Blick nach /var/log/syslog (wie gesagt: etwas altbackenes Tooling; moderner Kram bräuchte hier eine wilde journalctl-Kommandozeile) liefert:

    Jan  2 1████████ victor kernel: wlan0: associate with be:30:7e:07:8e:82 (try 1/3)
    Jan  2 1████████ victor kernel: wlan0: RX AssocResp from be:30:7e:07:8e:82 (capab=0x401 status=0 aid=4)
    Jan  2 1████████ victor kernel: wlan0: associated
    Jan  2 1████████ victor kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    Jan  2 1████████ victor dhclient[18221]: Listening on LPF/wlan0/█████████████████
    Jan  2 1████████ victor dhclient[18221]: Sending on   LPF/wlan0/█████████████████
    Jan  2 1████████ victor dhclient[18221]: Sending on   Socket/fallback
    Jan  2 1████████ victor dhclient[18221]: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
    Jan  2 1████████ victor dhclient[18221]: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
    Jan  2 1████████ victor dhclient[18221]: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 1
    Jan  2 1████████ victor dhclient[18221]: No DHCPOFFERS received.
    

    Das bedeutet: Das lokale „Router“ (Access Point, AP) hat mich ins Netz gelassen („associated“; das ist quasi das Stecken des Netzkabels), aber dann hat der DHCP-Server, der mir eigentlich eine IP-Adresse hätte zuteilen sollen (mit der ich dann übers lokale Netz hinauskommen könnte), genau das nicht getan: „No DHCPOFFERS received“.

    Wenn das so ist – der Rechner ist Teil von einem Ethernet-Segment, sieht mithin Netzwerkverkehr, bekommt aber keine IP-Adresse und kann also mit niemandem über TCP/IP reden –, lohnt sich ein Blick in die Pakete, die im Netzwerksegment unterwegs sind. Das geht mit fetten Grafikmonstern wie wireshark, aber für einen schnellen Blick tut es tcpdump allemal. Da wir aber noch keine Internet-Verbindung haben, können wir sicher keine IP-Adressen („192.168.1.15“) zu Namen („blog.tfiu.de“) auflösen. Tatsächlich würde der Versuch tcpdump schon zum Stehen bringen. Deshalb habe ich per -n bestellt, Adressen numerisch auszugeben:

    tcpdump -n
    

    Ich sehe dabei einen Haufen ARP-requests, also Versuche, die lokalen Adressen von Ethernet-Karten für IP-Adressen herauszufinden, von denen der Router meint, sie müssten im lokalen Ethernet-Segment sein, etwa:

    12:█████████383626 ARP, Request who-has 10.1.224.139 tell 10.1.0.1, length 28
    

    Aus dieser Zeile allein kann ich schon mal raten, dass das Gateway, also der Router, über den ich ins Internet kommen könnte, wohl die Maschine 10.1.0.1 sein wird. Dabei sind Adressen aus dem 10er-Block leicht magisch, weil sie nicht (öffentlich) geroutet werden und daher (im Gegensatz zu normalen IP-Adressen) im Internet beliebig oft vorkommen können. Sie sind deshalb für relativ abgeschottete Unternetze wie hier im Zug populär (ins richtige Netz gehts dann per Network Address Translation NAT) – und Maschinen mit .1 hinten dran sind konventionell gerne Router.

    Wenn ich mit dem Gateway reden will, brauche ich immer noch selbst eine IP-Adresse. Ohne DHCP-Server bleibt mir wenig übrig als mir selbst eine zu nehmen. Das ist normalerweise ein unfreundlicher Akt, denn wer eine Adresse wiederverwendet, die jemand anders in dem Teilnetz schon hat, macht die Verbindung für den anderen Rechner im Effekt kaputt. Insofern: Wer etwas wie das Folgende tut, sollte erstmal für eine Weile dem tcpdump zusehen und sicherstellen, dass sonst niemand mit der gewählten Adresse unterwegs ist. Wer öfter zu Stunts dieser Art genötigt ist, möge sich arping ansehen – damit kann mensch kontrolliert nachsehen, ob eine Adresse frei ist.

    In meinem Fall war es ruhig im Netz – es hat ja vermutlich auch kaum jemand sonst eine Verbindung bekommen. Ich fühlte mich also hinreichend sicher, irgendwas zu probieren, das der Router wohl als „im eigenen Netz“ akzeptieren würde. Die so geratene Adresse habe ich versuchsweise auf meine Netzwerkschnittstelle geklebt:

    sudo ifconfig wlan0 inet 10.1.0.105 up
    

    Ein guter erster Tipp für diese Zwecke ist eine Adresse, bei der nur das letzte Byte anders ist als in der Router-Adresse (in antikem Jargon: „im selben Klasse C-Netz“). In diesem Fall wäre es denkbar, noch mehr zu ändern, denn im antiken Jargon ist 10.0.0.0 ein A-Netz („die Netzmaske ist 255.0.0.0“), was mit dem Kommando oben (das nicht explizit eine andere Netzmaske gibt) den lokalen Rechner Pakete, die an eine 10.irgendwas-Adresse gehen, an wlan0 schicken lässt. Allerdings macht fast niemand mehr Routen nach diesen Regeln, und so ist es nicht unwahrscheinlich, dass der Router allzu weit entfernte Adressen routen will oder jedenfalls nicht einfach wieder ins lokale Netz-Segment zurückschickt. So in etwa ist die Logik, die mich auf die IP-Adresse oben gebracht hat.

    Wenn meine Vermutungen richtig waren, hätte ich nach dem ifconfig mit dem vermuteten Router bei 10.1.0.1 IP sprechen können. Der Klassiker zur Konnektivitätsprüfung ist ping, und wirklich:

    ping 10.1.0.1
    

    kriegte brav Paket für Paekt zurück. Wow! Immerhin schon IP!

    Ein DHCP-Server konfiguriert als nächstes normalerweise die „Default-Route“, also das, was der Rechner mit Paketen tun soll, für die er nichts anderes weiß. Rechner am Rande des Netzes (und wir ungewaschenen Massen sind eigentlich immer mehr oder weniger am Rande des Netzes) schicken in der Regel alle Pakete, die nicht ins lokale Netz gehen, an einen (und nur einen) Router, nämlich ihr Gateway. Dieses Gateway legt mensch mit meinen alten Werkzeugen so fest:

    sudo route add default gw 10.1.0.1
    

    Damit könnte ich im Netz sein. Ein schnelles ssh auf eine meiner Maschinen im Netz führt aber zu nichts: meine Maschine kann keine Namen auflösen. Ach ja, das ist noch etwas, das normalerweise ein DHCP-Server macht: der lokalen Maschine Adressen geben, an denen sie Namen auflösen kann (die DNS-Server). Über (inzwischen potenziell sehr komplizierte) Umwege enden diese Adressen in gewissem Sinn in der Datei /etc/resolv.conf; dort erwartet sie jedenfalls die C-Bibliothek.

    Nun ist aber der DHCP-Server gerade kaputt. Die Namen von DNS-Servern, die aus einem bestimmten Netz heraus funktionieren, kann mensch jedoch nicht raten. Manchmal – typisch bei privaten Netzen – tut es der Router selbst. Andererseits betreibt Google unter 8.8.8.8 einen DNS-Server, und so ungern ich Google-Dienste empfehle: Die 8.8.8.8 verwende ich in Notsituationen wie dieser. Nur bin ich ja immer noch im Captive Portal, und der Router mag meine Versuche, mit dem Google-DNS zu reden, unterbinden. Viele Captive Portals tun das nicht (aus relativ guten Gründen). Und wirklich:

    ping 8.8.8.8
    

    kommt gut zurück. Andererseits kann mir das Captive Portal natürlich alles vorspielen. Ist da wirklich ein DNS-Server?

    Das Tool der Wahl zum Spielen mit DNS-Servern ist dig [1]. Im einfachsten Fall bekommt dig einen Namen als Parameter, das wird hier zu nichts führen, denn noch hat mein Rechner ja kein DNS. Eine Stufe komplizierter übergibt mensch noch eine Nameserver-Adresse hinter einem @, also:

    dig blog.tfiu.de @8.8.8.8
    

    Und das kommt zurück! Mit der richtigen Information, nicht irgendeinem Mist, den sich das Captive Portal ausdenkt. Damit kann ich für meine temporäre Netzverbindung mein /etc/resolv.conf ändern zu:

    nameserver 8.8.8.8 …
  • Ach, Bahn, Teil 1: Captchas und Bodensee

    Alte Waggons und eine Dampflok

    Einen Vorteil hat die dysfunktionale Bahn: Mensch sieht etwas von der Welt, für mich und heute etwa dieses Stück Bahnromantik am Bahnhof von Rottweil.

    Ja, klar, es ist wohlfeil, über die Bahn zu ranten. Andererseits ist es auch unmöglich, mit der Bahn zu reisen und es nicht zu tun. Drum genehmige ich mir das gleich mal in mehreren Teilen. Wobei: Ich bin die Segnungen der Privatisierung nach meinen coronabedingten Zugpausen auch einfach nicht mehr gewöhnt. Vielleicht gibt es gar nicht mehr so viele weitere Teile von „Ach, Bahn“, wenn ich mich erstmal wieder in die Realitäten privatisierter Infrastruktur gefunden habe (vgl. auch Post-Wettbewerb).

    Sprinter und Antisprinter

    Ich fahre gerade von Heidelberg auf die Insel Reichenau. Das sind so etwa 200 Kilometer. Weil ich um 12 Uhr angekommen sein soll, musste ich in Heidelberg um 7:02 losfahren, fünf Stunden vorher. Ok, vielleicht sollen ja Leute eh nicht so viel durch die Gegend fahren, aber wenn ich gestern bei heise lese, die Bahn wolle „mit Inlandsflügen konkurrieren“ und hole künftig zwischen Berlin und Köln eine halbe Stunde raus: Nun, so sehr Flugzeuge viel Dreck und großflächig Lärm machen, das weit größere Problem sind immer noch Autos. In Konkurrenz zu denen werden netto fünf Stunden für 200 km, zumindest solange es Autobahnen gibt, nicht viele Leute auf die Schiene ziehen.

    Oder, in den Worten der taz zu den neuen Sprintern aus dem Heise-Artikel: „Dreimal täglich je Richtung fährt dann zum Beispiel ein Zug ohne Unterbrechung direkt von Berlin nach Köln. Pech gehabt, wenn man in einen Ort dazwischen will.“

    Ja, klar, die komplizierte und langsame Verbindung für mich und heute liegt bestimmt auch daran, dass derzeit die Schwarzwaldbahn nicht fährt. Oh Verzeihung, dass da Schienenersatzverkehr ist. Tja. Ich würde, dies bedenkend, als ein Infrastrukturziel vor dem Ausbau auf 350 km/h-Strecken vorschlagen: Möglichst viele Strecken so ausbauen, dass weitere Bauarbeiten ohne Schienenersatzverkehr und Zugverlegungen durchgeführt werden können. Das würde mir gerade als wichtiger Punkt erscheinen, um die Bahn als Autoalternative glaubhaft zu machen. Zugegeben, vielleicht erscheint mir dieser Punkt wichtiger als er ist, weil ich öfters in der weiteren Umgebung der Stuttgart 21-Katastrophe unterwegs bin. Dort nämlich litt tatsächlich die Mehrheit meiner Zugfahrten in den letzten 10 Jahre darunter, dass Züge, die meine Verbindung viel angenehmer gemacht hätten, baustellenbedingt nicht fuhren.

    Erlaubt mir kurz einen Extra-Nostalgie-Jammer bezüglich der speziellen Heidelberg-Bodensee-Relation: Ich bin alt genug, um mich an den Interregio zu erinnern, der einstmals direkt von Heidelberg nach Konstanz fuhr; ich weiß zwar nicht mehr, wie lang der wirklich brauchte, aber es wäre ja schon mal großartig, wenn ich nicht alle halbe Stunde wieder alles zusammenpacken und umsteigen müsste.

    Ach, Bahn. Sollten die Leute, die damals das Einstampfen der Interregios zu verantworten hatten, schon tot sein, hat der Teufel hoffentlich noch ein paar Grad draufgelegt in dem Teil der Hölle, in den sie gefahren sind.

    Von einem, der mit der Bahn-Webseite interagierte

    Ähnliche Wünsche hege ich im Hinblick auf die Leute, die derzeit an der Bahn-Webseite schrauben. Beim Buchen gestern: Ich logge mich auf bahn.de ein, gebe meine richtigen Credentials ein. Ein Captcha poppt auf. Ich soll nacheinander Fahrräder und Boote markieren. Ich überlege schon, einfach zu Hause zu bleiben, tue der Bahn aber trotzdem den Gefallen. Ich klicke mich zum Bezahlen durch, lasse dort meine gewohnte SEPA-Lastschrift angeklickt.

    Doch irgendwie mag die Bahn das nach nochmaligem Überlegen nicht mehr und schreibt auf der nächsten Seite in Rot: „Die folgenden Zahlungsmöglichkeiten bestehen für diese Reise“ (oder so ähnlich). Lastschrift ist jetzt ohne weitere Erklärung verschwunden. Nach einem tiefen Durchatmen wähle ich Kreditkarte. Ein paar Felder poppen auf, doch kann ich dort nichts eingeben (und, wohlgemerkt, das ist ein hundsordinärer Firefox, nicht mein üblicher Luakit; ich erwarte von der Bahn ja schon gar nicht mehr Browserunabhängigkeit). In einem Versuch, dem Bahn-Code eine zweite Chance zu geben, mache einen Reload. Eine kurze Fehlermeldung, und dann loggt mich der Bahn-Kram aus.

    Ich brülle laut und fluche, knirsche mit den Zähnen und fantasiere von Teufeln an großen Schaltpulten, die die Temperatureinstellung von „fies“ auf „jenseits der Spezifikation“ drehen. Ich wechsele auf einen fast unkonfigurierten, erweiterungslosen Chromium. N-n-n-n-och ein Captcha! Lokomotiven und Lkws dieses Mal. Ich bin jetzt noch heiser von der Fluchkaskade, die sich an dem Punkt meiner Kehle entrang. Immerhin ging vom Chromium aus die SEPA-Lastschrift. Warum auch immer.

    Captchas! C-a-p-t-c-h-a-s!

    For the record: Wenn du wem was verkaufen willst, dann verschwende nicht seine/ihre Zeit mit Captchas. Das ist wirklich ein No-no. Niemand will Objekt verhaltenspsychologischer Experimente sein, und auch nicht von Dingen, die so aussehen. Vielleicht kannst du deine NutzerInnen dazu bringen, da mitzumachen, wenn du so tust, als würdest du ihnen was schenken. Aber wenn sie dir Geld geben, dann musst du im Zweifelsfall Leute bezahlen, um Robots rauszufiltern (wenn es das schon brauchen sollte, was ich in den meisten Fällen bestreiten würde); zur allergrößten Not ist vielleicht noch eine knappe Texteingabe zur Robot-Abwehr („Textcha“) statthaft.

    Völlig absurd ist es natürlich, ein Captcha bei korrekt eingegebenen Credentials zu verlangen. Woher bitte sollten Robots die haben? Was denken sich diese Leute? Wenn das eine Abwehr von Clients sein sollte, die die (eingestanderenmaßen etwas mühsame) Interaktion mit der bahn.de-Webseite automatisieren: Öhm… Was genau wäre das Problem mit denen?

    Oh: Und wenn dich jemand auf so einen solchen Fehler hinweist (das habe ich in diesem Fall schon vor zwei Wochen per Mail an die Bahn-Kontaktadressee gemacht): Reagiere irgendwie. Ein „nur ein wenig Geduld, wir arbeiten an einer Fehlerlösung“ wäre zwar nicht optimal, ist aber immerhin besser als gar nichts. Überflüssig zu erwähnen, dass die Bahn für „gar nichts“ optiert hat.

    Auf der positiven Seite: Die Strecke zwischen Stuttgart und Singen ist hübsch, gerade hier in der Gegend von Horb. Ohne die Schließung der Schwarzwaldbahn hätte ich das wahrscheinlich nie gesehen.

« Seite 2 / 2

Letzte Ergänzungen