Eigenes Produkt, iOS
Kontrollpunkt. Drei Tipps, zwei Stunden, weg.
Eine gemeinsame Lagekarte für den HVV. Wer etwas sieht, meldet es mit drei Tipps, die Karte zeigt es allen anderen, und nach zwei Stunden ist es wieder weg. Was dabei entsteht, ist eine Zeile aus Station, Linie, Richtung und Uhrzeit. Mehr kann das Datenmodell gar nicht.
Die Karte ist offen, die iOS-Fassung steht vor der Veröffentlichung. Was du hier siehst, sind Aufnahmen aus der laufenden App, nichts davon ist gezeichnet. Die Meldungen darauf sind gesetzte Testdaten, damit die Karte nicht leer ist.
Kontrollpunkt im Einzelnen








1 von 9
Zwei Sätze vor dem Start
Bei jedem Start, nicht nur beim ersten: ich habe ein gültiges Ticket, und ich melde keine Personen. Der Knopf bleibt grau, bis beides steht. Die Bestätigung geht nirgendwohin, sie bleibt auf dem Gerät.
Das Netz auf einen Blick
U-Bahn, S-Bahn und 814 Buslinien, gezeichnet aus offenen Netzdaten. Die Kacheln liegen auf dem eigenen Server, es fragt kein Kartendienst mit, wo jemand hinsieht. Unten steht die Lage in einer Zeile, daneben der einzige Knopf, der etwas verschickt.
Wo es sich häuft
Ein zweiter Blick auf dieselben Daten: nicht Punkte, sondern Linien, eingefärbt von grün bis rot. Die Farbe altert mit der Meldung, eine Stunde später ist der Abschnitt wieder grün. Der Verlauf über der Karte ist zugleich die Legende, mehr Erklärung braucht es nicht.
Erster Tipp: die Linie
Jede Linie mit ihrer echten Farbe, dazu 814 Buslinien und 9131 Haltestellen als eigene Wege hinein. Unter den Plättchen steht, was gemeldet wird und was nicht: keine Personen, keine Beschreibungen, keine Fotos. Der Satz steht dort, weil er das Datenmodell beschreibt und nicht bloß eine Absicht.
Zweiter Tipp: die Station
Nur die Halte der gewählten Linie, in Fahrtreihenfolge, mit den Umstiegen daneben. Die Suche filtert die Liste, sie ist kein Freitextfeld: was nicht in den Netzdaten steht, lässt sich auch nicht melden.
Dritter Tipp: die Richtung
Zwei Endstationen, dazu die ehrliche dritte Möglichkeit: Richtung unbekannt. Wer sie wählt, hilft trotzdem. Eine Pflichtangabe hätte hier nur zu geratenen Angaben geführt.
Alles, was zu einer Meldung gehört
Linie, Station, Richtung, Uhrzeit. Das ist der vollständige Datensatz, hier steht er in einer Zeile. Dazu zwei Knöpfe: bestätigen, wenn es noch stimmt, oder melden, wenn es neu ist. Die Merkliste bleibt auf dem Gerät und fasst höchstens sechs Haltestellen.
Nachts
Dieselbe Karte im dunklen Modus. Beide Fassungen sind einzeln durchgesehen, nicht nur umgefärbt: die Linienfarben mussten auf dunklem Grund neu gewichtet werden, sonst verschwinden Gelb und Hellblau.
Was sich abstellen lässt
Hell, dunkel oder wie das System. Mitteilungen, und darunter der Schalter „Diskret“: kein Ton, keine Vibration, weil eine Meldung niemandem in einem vollen Wagen die Aufmerksamkeit auf das Telefon ziehen soll.
Warum so
Was nicht erfasst wird,
kann auch nicht auffliegen.
Der schwierigste Teil dieser App ist nicht die Karte, sondern die Frage, was eine Meldung überhaupt enthalten darf. Eine Zeile wie „Kontrolle an Station X um 14:32" beschreibt am Ende eine Person, die über einen Dienstplan bestimmbar ist. Das ist kein Randproblem, sondern das eigentliche Risiko des ganzen Vorhabens.
Die Antwort steckt deshalb nicht in einer Zusicherung, sondern im Datenmodell: Es gibt kein Feld für Fotos, keines für Freitext, keines für Aussehen und keines für Koordinaten. Was nicht vorgesehen ist, lässt sich auch nicht versehentlich hineinschreiben. Nach zwei Stunden verschwindet die Meldung von der Karte, nach vierundzwanzig auch aus der Zusammenfassung.
Die Oberfläche liegt zur Hälfte im Web und zur Hälfte in Swift, und das aus einem messbaren Grund: Apples Materialeffekt lässt sich in einer Webansicht nicht nachbauen. Was dort möglich ist, heißt Weichzeichnen, das Original bündelt Licht. Also zeichnet die native Schicht die Kopf- und Lagetafel, und das Wissen darüber, was dort steht, bleibt an einer Stelle im Web.
- Was es beantwortet
- Was ist gerade im Hamburger Nahverkehr los?
- Plattform
- iPhone, dazu als installierbare Web-App unter kontrollpunkt.pages.dev
- Was gemeldet wird
- Station, Linie, Richtung, Uhrzeit. Keine Personen, keine Fotos, kein Freitext, keine Koordinaten.
- Aufbewahrung
- 2 Stunden auf der Karte, 24 Stunden zusammengefasst, danach gelöscht
- Technik
- Swift mit nativem Liquid Glass, MapLibre, selbst gehostete Protomaps-Kacheln, Cloudflare Worker und D1
- Netzdaten
- OpenStreetMap und hvv-GTFS, 814 Buslinien, 9131 Haltestellen
- Geprüft durch
- 902 automatische Tests, davon 107 gegen die Schnittstelle
- Stand
- Die Karte läuft öffentlich im Browser, die iOS-Fassung steht vor der Veröffentlichung. Impressum, Datenschutz, Moderation und Missbrauchsschutz sind gebaut.