Zum Inhalt springen
aYOUne
Non nella tua lingua

Questa pagina non è ancora disponibile in it. Stai leggendo la versione de.

Scanner-App neu — UX-Konzept (Informationsarchitektur, Scan-Leiste, Lesbarkeit)

Scanner-App neu — UX-Konzept

Stand 2026-09-03 · Programm Replikation · Meilenstein R4 · Epic „Scanner-App neu" · Task E2 (NXN7HJM)
Vorgabe für den Bau-Task 6a9932ac6edab122065e8462 (REP2). Alle Ist-Zahlen sind an der ausgebrachten
App unter scanner.ayoune.app gemessen, nicht geschätzt.


1 Befund — was heute gemessen ist

Anlass ist der CEO-Befund vom 2026-09-03: *„die Bedienung ist schwerfällig, die Oberflächen unklar
und schlecht lesbar … der Scanner-App fehlt ein Einstieg zum Verwalten von Lagern und Lagerorten."*
Die folgenden Zahlen belegen ihn.

1.1 Die Startseite bietet elf gleichrangige Wege und keinen einzigen zu den Stammdaten

scan-home.component.ts:161-201 führt elf Kacheln — Wareneingang, Einlagern, Umlagern,
Kommissionieren, Material, Nachschub, Retouren, Inventur, Korrektur, Batch-Scan, Kamera-Scan —
alle in derselben Größe, derselben Farbe, ohne Gruppierung. Dazu eine Scan-Zeile darüber und ein
Benutzer-Menü mit Verlauf/Einstellungen/Abmelden.

Kein Einstieg für Lager, Lagerorte, Produkte oder Prozess-Ketten. Wer wissen will, was in
Regal A liegt, hat von der Startseite aus keinen Weg dorthin.

Elf gleichrangige Ziele sind zugleich elf Entscheidungen bei jedem Öffnen der App. Bei 412 px
Gerätebreite misst eine Kachel 200 × 100 px, der Block 660 px über sechs Reihen — die
Startseite füllt den Bildschirm allein mit der Auswahl.

1.2 Lesbarkeit — die Grundschrift ist zu klein, die Kacheln haben keine Grenze

Gemessen an scanner.ayoune.app, 2026-09-03IstSoll (dieses Konzept)
Grundschrift (body, --mat-sys-body-medium)14 px / 20 px16 px / 24 px
Kachel-Beschriftung14 px18 px
Mengen und Zahlen14 px (keine eigene Stufe)24 px, halbfett
Touch-Ziel, Knöpfe (styles.scss:71-72)44 × 44 px48 × 48 px
Primäraktionkeine eigene Größe56 px hoch, volle Breite
Kartenfläche gegen Seitengrund, dunkel1,08 : 13 : 1 (WCAG 1.4.11)
Kartenrand gegen Seitengrund, dunkel1,08 : 13 : 1
Marken-Streifen über der Kachel, dunkel1 : 1 — unsichtbar3 : 1
Kartenfläche gegen Seitengrund, hell1,05 : 13 : 1

🔴 Der schärfste Einzelbefund ist nicht die Schriftgröße, sondern die fehlende Kachel-Grenze.
Frisch geladen, ohne jeden Eingriff, im Dunkelmodus: die Kachelfläche ist rgb(26,27,31), der
Seitengrund rgb(18,19,22)1,08 : 1. Der Rand trägt dieselbe Farbe wie die Fläche, also
ebenfalls 1,08 : 1. Und der Marken-Akzentstreifen, der die Kachel 2026-07-04 ausdrücklich
gebrandet hat, löst über --brand-primary zu exakt der Kartenfarbe auf: **1 : 1, er ist nicht
vorhanden.** Auf einem Werkstattgerät bei Streiflicht steht damit ein Raster aus Text ohne
sichtbare Behälter — genau der Eindruck „unklar", den der Befund beschreibt.

Was dagegen in Ordnung ist und nicht angefasst werden muss: Textkontraste. Kachel-Beschriftung
15,2 : 1, Eingabetext 16,1–16,5 : 1, Kopfzeile 12,95 : 1, Feld-Beschriftung 6,5 : 1 — alle über AA,
in hell wie dunkel.

Korrektur einer eigenen Zwischenmessung: ein früherer Wert von 1,6 : 1 für die
Feld-Beschriftung im Hellmodus war ein Artefakt der Messung — er entstand beim Umschalten des
Themas über das data-theme-Attribut, bevor Material seine Farbe neu berechnet hatte. Frisch
geladen misst dieselbe Stelle 6,5 : 1. Der Wert gehört nicht in die Mängelliste.

1.3 Die geteilte Scan-Eingabe hat null Nutzer

shared/components/scan-input.component.ts existiert und ist sauber gebaut — sie speist den
app-weiten Scan-Bus. Gemessen: rg -l "app-scan-input|ScanInputComponent" src/app/pages = 0.
Keine der 17 Seiten benutzt sie; die Startseite baut ihre Eingabe selbst, die Prozess-Seiten
bauen je eigene Felder. Positiv-Kontrolle: 13 der 17 Seiten importieren den ScannerService, die
Suche greift also.

Am Prozess-Bildschirm /pick heißt das konkret: vier Formularfelder, keine Scan-Leiste, und
Lagerplatz sowie Produktname sind Freitext-Eingaben — obwohl beide Werte in der Datenbank
geführt werden. Das verstößt gegen die Plattform-Regel, dass ein Feld, dessen Werte die Datenbank
kennt, ein Auswahlfeld ist und kein Textfeld.

1.4 Was bereits erledigt oder vergeben ist — und deshalb keine Lücke ist

Diese Punkte trägt das Konzept als Voraussetzung, nicht als Forderung:

BausteinStand am 2026-09-03
App-weiter Scan-Busgebaut und im Shell verdrahtet (app.ts:55, scanBus.initGlobal), 11 von 17 Seiten setzen einen eigenen Handler
Fokus-Riegel für den Handscannergebaut (scan-bus.service.ts:238, ignoreIfFocusOn)
Mehrsprachigkeit@ngx-translate/core ^15 mit config-api-Lader, Namensraum scanner.*
Ladeanzeige an jedem Knopf@tolinax/ayoune-loader in 14 Dateien, 0 mat-spinner
Verträge und Schemata@tolinax/ayoune-interfaces 2026.485.0 gepinnt
Geteilter Wedge-Erkenner@tolinax/ayoune-scan-ui 2026.1.1

🔴 Prämissen-Korrektur, gemessen: der Auftrag führte „vier scan-blinde Seiten". Das trifft für
den Handscanner nicht mehr zu — seit dem Scan-Bus im Shell erreicht ein Scan jede Route,
auch Rückmeldung, Produkt-Detail, Verlauf und Lagerort-Detail. Die verbliebene Lücke ist eine
andere und betrifft sechs Seiten: sie zeigen keine sichtbare Scan-Leiste und bieten keinen
manuellen oder Kamera-Weg. Betroffen: callback, product-detail, scan-history,
storage-area-detail, settings und — überraschend — scan-home, deren eigene Eingabe am Bus
vorbeiläuft (onScanSubmit() statt scanBus.emit).


2 Entscheidungen des CEO vom 2026-09-03

Fünf Fragen wurden vorgelegt, fünf sind beantwortet. Sie sind ab hier bindend.

#FrageEntscheidungFolge für den Bau
1Pfadschemamodulnah, wie die PWA/warehouse/…, /pim/…; ein Link ist zwischen PWA und Scanner übertragbar
2Position der Scan-Leistefest am unteren Rand (Daumenzone)eine Anordnung für alle vier Geräteklassen; die Leiste ist auf jeder Seite das unterste Element
3Verhalten nach einem Trefferje Code-Art, Vorgabe „direkt öffnen"Regel aus barcodePrefix, je Arbeitsplatz umstellbar
4Herkunft der RolleGerät entscheidet, Nutzer darf ändernKiosk/MDE aus dem Geräteprofil, Handy aus den Einstellungen; keine neue Rechte-Achse
5Grundeinstellung LesbarkeitWerkstatt-Niveau als Vorgabe16 px, Zahlen 24 px, Kontrast 7 : 1, Ziele 48 px, Primäraktion 56 px

⚠ Entscheidung 2 fiel gegen die Empfehlung dieses Konzepts (oben, unter der Kopfzeile). Die
Begründung des Entscheids trägt: die manuelle Eingabe und der Kamera-Knopf sind damit einhändig
erreichbar. Der Preis wird in Abschnitt 4.1 benannt und ist beim Bau zu beachten.


3 Informationsarchitektur

3.1 Sechs Einstiege statt elf Kacheln

Die Startseite führt genau sechs Einstiege. Jeder hat einen anderen Zweck; kein Einstieg ist eine
Teilmenge eines anderen.

EinstiegZweckWas darunter liegtZiel
Scannenein Code, ohne vorher zu wissen wozu er gehörtVollbild-Kamera, Verlauf/scan
Prozesseeine Arbeitskette abarbeitendie zehn heutigen Prozess-Seiten, gruppiert nach den Ketten der Prozess-Landkarte (Task E1)/warehouse/processes
LagerBestand und Auslastung eines LagersLager-Liste → ein Lager → seine Regale/warehouse/warehouses
Lagerorteeinen Platz finden, füllen, beschriftenSuche, Baum, Zellraster, Etikettendruck/warehouse/storageareas
Produkteeinen Artikel nachschlagen oder anlegenSuche, Detail, EAN-Anlage/pim/products
EinstellungenArbeitsplatz einrichtenRolle, Scan-Verhalten, Rückmeldung, Darstellung/settings

Warum sechs und nicht elf: die elf heutigen Kacheln sind alle Prozesse — sie gehören unter
einen Einstieg. Was fehlte, waren die drei Stammdaten-Wege (Lager, Lagerorte, Produkte), genau
die, die der CEO-Befund benennt. Elf minus zehn Prozesse plus drei Stammdaten plus Scannen plus
Einstellungen ergibt sechs.

Tiefe bis zur Aktion: höchstens zwei Schritte. Startseite → Prozess-Kette → Arbeitsschritt.
Startseite → Lagerorte → Lagerort (mit allen Aktionen). Der Lagerort-Baum hat zwar fünf Daten-Ebenen
(Lager › Regal › Fach › Box › Zelle), aber nie fünf Klick-Ebenen: ein gescanntes Zell-Etikett
springt direkt auf die Zelle, und die Liste zeigt je Ebene Zähler statt Nachladen.

3.2 Rollen ändern die Reihenfolge, nie den Umfang

RolleStartseiteReihenfolge der KachelnMenü
WerkerStartseiteScannen · Prozesse · Lagerorte · Produkte · Lager · Einstellungenvoll
LagerleiterStartseiteLager · Lagerorte · Prozesse · Produkte · Scannen · Einstellungenvoll
Produktion/warehouse/processes/materialProzesse · Scannen · Produkte · Lagerorte · Lager · Einstellungenvoll
Kiosk (Geräteprofil)je Profilwie die hinterlegte Rolleohne Benutzer-Menü, ohne Abmelden

🔴 Alle sechs Einstiege bleiben in jeder Rolle sichtbar, und Scannen funktioniert in jeder Rolle.
Eine Rolle, die einen Einstieg entfernt, wäre eine Sperre — und Sperren nach Rolle sind
ausdrücklich verboten (CEO 2026-08-30). Die Rolle darf ausschließlich Startseite, Reihenfolge und
Menü bestimmen.

3.3 Pfadschema und Migration aller 19 heutigen Routen

Schema nach Entscheidung 1: /<modul>/<entität>[/:id], wie in der Haupt-PWA. Prozesse sind
Unterseiten der Entität processes.

#heutekünftigWeiterleitung
1'' (Startseite)/bleibt
2callback/callbackbleibt (Anmelde-Rückweg)
3scan/scanbleibt
4product/:id/pim/products/:idja, dauerhaft
5storage/:id/warehouse/storageareas/:idja, dauerhaft
6batch/warehouse/processes/batchja
7receive/warehouse/processes/goods-receiptja
8putaway/warehouse/processes/putawayja
9returns/warehouse/processes/returnsja
10commission/warehouse/processes/materialja
11replenish/warehouse/processes/replenishmentja
12transfer/warehouse/processes/transferja
13pick/warehouse/processes/pickja
14count/warehouse/processes/cycle-countja
15adjust/warehouse/processes/adjustmentja
16history/scan/historyja
17settings/settingsbleibt
18wizards/ean-lookup-then-create/pim/products/newja
19****/bleibt

Neu, ohne alten Vorgänger: /warehouse/warehouses · /warehouse/warehouses/:id ·
/warehouse/storageareas (Suche) · /pim/products (Suche) · /warehouse/processes (Ketten-Übersicht).

🔴 Alle Weiterleitungen sind dauerhaft, nicht befristet. Grund: die Kiosk-Geräte tragen ihre
Startadresse im Geräteprofil, MDE-Geräte tragen sie als Verknüpfung auf dem Startbildschirm, und
beides wird nicht zentral nachgezogen. Eine entfernte Weiterleitung zeigt dort eine leere Seite,
und niemand meldet es — das Gerät läuft ja.


4 Die einheitliche Scan-Leiste

Es gibt genau eine Scan-Leiste als Bauteil, und sie steht auf jeder Seite. Sie ist die
sichtbare Seite des bereits gebauten Scan-Busses — das Konzept legt fest, was man sieht, nicht wie
der Bus arbeitet.

4.1 Position

Fest am unteren Rand, als unterstes Element jeder Seite (Entscheidung 2). Die Primäraktion
liegt direkt darüber.

Der Preis dieser Wahl, damit er beim Bau nicht überrascht: auf dem Pi-Kiosk (1920 × 1080,
Wandmontage, kein Daumen) sitzt die Leiste am unteren Bildrand und damit weit vom Blickpunkt
entfernt; auf dem MDE mit Hardware-Taste wird sie ohnehin selten berührt. Gegenmaßnahme im Bau:
der Erfolgs- und Fehlerzustand wird zusätzlich vollflächig als kurzes Overlay gezeigt
(Abschnitt 4.2), damit die Rückmeldung nicht ausschließlich am unteren Rand hängt. Ohne dieses
Overlay wäre die untere Leiste auf dem Kiosk eine Verschlechterung.

4.2 Die fünf Zustände

ZustandWas man siehtWas zusätzlich passiert
bereitruhiger Rahmen, „Code scannen oder eingeben"Handscanner lauscht im Hintergrund
lauschtRahmen in Markenfarbe, verstärktZeichen werden gepuffert, nicht je Zeichen gezeichnet
erkanntgrüner Rahmen + Codevollflächiges grünes Overlay 800 ms, Ton, Vibration
Fehlerroter Rahmen + Code bleibt stehenabweichender Ton, Vibration, nächster Schritt als Knopf
offlinegestrichelter Rahmen, Zähler wartender BuchungenBuchungen laufen in die Warteschlange

Das Overlay bei Erfolg ist bewusst vollflächig und kurz: beim Scannen ist das Gerät nicht am Auge,
die Rückmeldung muss peripher ankommen. Die Dauer von 800 ms liegt in dem Fenster, das Zebra für
seine eigene Umsetzung vorgibt (500–1500 ms, Vorgabe 1000 ms).

🔴 Der Fehlfall muss von der App hörbar gemacht werden, nicht vom Gerät. Gemessen an den
Handbüchern: bei Honeywell ist die Erfolgsmeldung ab Werk an, die Fehlermeldung ab Werk aus,
die Vibration ebenfalls aus. Auf der Handy-Kamera gibt es gar keinen Geräte-Piep. Wer sich auf das
Gerät verlässt, hat einen stummen Fehlerkanal — und ein stummer Fehlscan ist im Lager teurer als
ein stummer Erfolg.

4.3 Eingabewege und Regeln

  • Drei Wege, ein Ergebnis: Handscanner (Tastatur-Emulation), Kamera, manuelle Eingabe. Alle

drei laufen über denselben Bus, also über denselben Handler — ein getippter Code verhält sich
exakt wie ein gescannter.

  • Auf den Terminator warten (CR/LF), nicht auf eine Zeitspanne raten. Bei der Einrichtung eines

Geräts wird geprüft, ob es überhaupt einen sendet; Honeywell liefert ab Werk 9,10 und nicht
die 13, was der häufigste Grund für „der Scan kommt an, aber nichts passiert" ist.

  • Fokus-Riegel: solange ein Textfeld den Fokus hat, feuert der Handscanner nicht in die Leiste

(bereits gebaut, ignoreIfFocusOn).

  • Doppelscan-Sperre, Vorgabe 800 ms je Code. Ohne sie feuert die Kamera denselben Code

fortlaufend, solange er im Bild bleibt.

  • Kamera-Knopf nur, wo eine Kamera vorhanden ist. Auf dem MDE erscheint er nicht.

4.4 Was nach einem Treffer geschieht

Nach Entscheidung 3 hängt die Regel an der Code-Art, und die Code-Art kommt aus
modelsAndRights.barcodePrefix — sie wird nicht ein zweites Mal in der App gepflegt.

Code-ArtVorgabeumstellbar
Lagerortöffnet den Lagerortja, je Arbeitsplatz
Produktöffnet das Produktja
Auftrag, Pick-Liste, Lieferscheinfragt nach („was tun?")ja
mehrere Trefferfragt immernein
kein TrefferFehlerzustand mit zwei Knöpfennein

Läuft gerade ein Arbeitsschritt (z. B. eine Pick-Position), gilt der Handler dieses Schritts und
nicht die Vorgabe: ein Lagerort-Scan bestätigt dort den Platz, statt eine neue Seite zu öffnen.

4.5 Die sechs Seiten ohne sichtbare Leiste

Diese sechs bekommen die Leiste; keine Ausnahme, auch nicht die Einstellungen:

Seiteheutekünftig
scan-homeeigene Eingabe, am Bus vorbei (onScanSubmit())die geteilte Leiste, über den Bus
product-detailkeine sichtbare LeisteLeiste; ein Scan wechselt auf das gescannte Produkt
storage-area-detailkeine sichtbare LeisteLeiste; ein Zell-Scan springt in die Zelle
scan-historykeine sichtbare LeisteLeiste; ein Scan verlässt den Verlauf zum Treffer
settingskeine sichtbare LeisteLeiste; ein Scan verlässt die Einstellungen zum Treffer
callbackkeine sichtbare LeisteLeiste inaktiv, sichtbar als „Anmeldung läuft"

callback ist der einzige Sonderfall: die Seite lebt Sekunden und hat keine Sitzung. Die Leiste
steht dort, damit die Anordnung nicht springt, ist aber im Zustand „nicht bereit".


5 Lesbarkeit und Bedienung — die Token-Tabelle

Vorgabe ist das Werkstatt-Niveau (Entscheidung 5). Es ist die Grundeinstellung, nicht ein
Sonderweg; ein „Kompakt"-Schalter bleibt für die Büro-Nutzung.

5.1 Schrift und Abstände

GrößeSollIstBegründung
Grundschrift16 px / 24 px14 px / 20 pxArmabstand, Blendung, Handschuh
Kachel- und Zeilentitel18 px, halbfett14 pxZiel muss im Vorbeigehen lesbar sein
Seitentitel20 px, fett22 px ✅bleibt
Mengen und Zahlen24 px, halbfettkeine eigene Stufedie Zahl ist die Prüfgröße
Lagerort-Kennung im Arbeitsschritt30 px, fettsie wird im Regal gesucht
Kleinschrift (Herkunft, Zeitstempel)13 px11–13 pxnie für Handlungsrelevantes

5.2 Zielgrößen

ElementSollIst
Sekundärziel (Symbolknopf, Zeile)48 × 48 px (≈ 12,7 mm)44 × 44 px
Primäraktion56 px hoch, volle Breitekeine eigene Größe
Abstand zwischen Zielen8 px12 px bei Kacheln ✅, 0 px bei Kopfzeilen-Knöpfen
Abstand zu einem löschenden Ziel16 px

Die 48 px sind der Material-Wert und decken zugleich die aus der Forschung abgeleitete physische
Untergrenze von 10 mm für Handschuhbetrieb (48 CSS px ≈ 12,7 mm) ab. **Der Handschuh-Modus des
Geräts ist aus einer Web-Anwendung nicht setzbar** — Zebra schaltet ihn im Android-System und
liefert ab Werk „nur Finger". Die Größe ist deshalb die einzige Stellschraube, die wir haben.

5.3 Kontrast, hell und dunkel

Soll: 7 : 1 für Text (WCAG AAA — die einzige belastbare Zahl für Blendungsfestigkeit),
3 : 1 für Ränder, Symbole und Flächengrenzen (WCAG 1.4.11).

Paarhell, Istdunkel, IstSollBefund
Kachel-Beschriftung auf Kachel15,25 : 115,23 : 17 : 1
Eingabetext auf Grund16,08 : 116,45 : 17 : 1
Feld-Beschriftung auf Grund6,48 : 16,52 : 17 : 1🟡 knapp darunter
Kopfzeilen-Text auf Kopfzeile12,95 : 112,95 : 17 : 1
Kachelfläche gegen Seitengrund1,05 : 11,08 : 13 : 1🔴
Kachelrand gegen Seitengrund16,41 : 11,08 : 13 : 1🔴 nur dunkel
Marken-Streifen gegen Kachel15,57 : 11 : 13 : 1🔴 unsichtbar

Was daraus für den Bau folgt: die Textfarben sind in Ordnung und bleiben. Zu bauen sind die
Flächengrenzen — eine Kachel braucht im Dunkelmodus eine Fläche oder einen Rand mit
mindestens 3 : 1 gegen den Grund, und --brand-primary darf im Dunkelmodus nicht zur Kachelfarbe
auflösen. Die Feld-Beschriftung wird von 6,5 auf ≥ 7 : 1 gehoben, das ist eine Ton-Stufe.

5.4 Werkstatt-Bedingungen

  • Einhand-Zone: Primäraktionen liegen in den unteren 60 % des Bildschirms. Gemessen liegen

heute 7 von 11 Kacheln dort — das bleibt so und gilt künftig auch für die Aktionsknöpfe.

  • Handschuh: keine Bedienung, die nur über Wischen erreichbar ist; kein Zustand, der nur beim

Überfahren mit der Maus sichtbar wird; kein Doppeltippen als einziger Weg.

  • Blendung: 7 : 1 als Vorgabe, keine großen hellgrauen Flächen auf Weiß, keine Information

allein über Farbe (immer Farbe und Zeichen/Text).

  • Ton und Vibration: drei Kanäle (Bild, Ton, Vibration) einzeln schaltbar, mit eigener

Lautstärke. Erfolg und Fehler klingen unterschiedlich.

5.5 Ladeanzeige, Fehler- und Leerzustände

  • Jeder Klick zeigt sofort eine Ladeanzeige (@tolinax/ayoune-loader): inline im Knopf bei

einer Buchung, container beim Nachladen einer Liste, overlay nur beim Seitenwechsel mit
Datenholung. Ein stiller Klick gilt als Defekt.

  • Fehlerzustand: was passiert ist in einem Satz ohne Fehlercode · was jetzt zu tun ist als

Knopf · der gescannte Code bleibt sichtbar.

  • Leerzustand: je Bereich ein eigener Text plus genau eine angebotene Handlung.
  • Keine Hinweise auf laufende Entwicklung in der Oberfläche — kein „folgt", kein „in Arbeit",

kein interner Name.

5.6 Textschlüssel

Alle Texte liegen als Schlüssel im Namensraum scanner.* in ayoune translations (de/en/es/it).
Das Konzept liefert die Gliederung, nicht die Übersetzungen:

scanner.home.*            Kacheln, Rollenhinweis, „Zuletzt gescannt"
scanner.scanbar.*         die fünf Zustände, Eingabewege, Fokus-Hinweis
scanner.warehouse.*       Lager, Lagerort, Zelle, Raster, Etiketten
scanner.product.*         Suche, Detail, Anlage
scanner.process.<kette>.* je Kette: Titel, Schritte, Ausgänge
scanner.settings.*        die vier Gruppen aus Wireframe 7
scanner.error.*           Fehlertexte, je Fall ein Schlüssel
scanner.empty.*           Leerzustände, je Bereich ein Schlüssel

6 Geräteklassen und Referenzvergleich

6.1 Die Matrix

Handy, KameraHandy, BT/USB-ScannerPi-Kiosk, USB-ScannerMDE (Zebra/Honeywell)
Bildschirm412 × 915412 × 9151920 × 1080~480 × 800
AuslöserKamera-KnopfHandscanner-TasteHandscanner-TasteHardware-Taste
Kamera-Knopfjaja (zweiter Weg)neinnein
Kacheln je Reihe2232
SchriftstufeVorgabeVorgabeeine Stufe größerVorgabe
Benutzer-Menüjajaneinja
Abmeldenjajanein (Arbeitsplatz)ja
Rolle kommt ausEinstellungenEinstellungenGeräteprofilGeräteprofil
Scan-Leisteuntenuntenuntenunten

🔴 Was in jeder Klasse identisch ist: die sechs Einstiege, die Pfade, die Scan-Leiste mit ihren
fünf Zuständen, die Ziel- und Schriftgrößen, und dass Scannen funktioniert. Der Kiosk skaliert,
er vereinfacht nicht — eine Klasse, der eine Fähigkeit fehlt, wäre eine Sperre.

6.2 Was aus den Referenz-Geräten übernommen wird

Prämissen-Korrektur: der Auftrag nannte „Zebra Design Guidelines for Enterprise Mobile Apps"
und „Honeywell Enterprise App Design". Beide Dokumente existieren öffentlich nicht. Zebra und
Honeywell publizieren keine UX-Zahlen für Schriftgröße, Kontrast oder Zielgröße; ihre
Entwickler-Dokumentation ist Geräte- und Scan-Konfiguration. Auch „Zebra Mobility DNA" ist ein
Produkt-Portfolio, kein Regelwerk, und „Honeywell Operational Intelligence" ist Geräte-Analytik
(Batteriegesundheit, Scan-Volumen), keine Bedienrichtlinie.

Was sie sehr wohl publizieren — und was wertvoller ist — ist die Scan-Semantik. Die Zahlen für
Schrift, Kontrast und Zielgröße in Abschnitt 5 stammen deshalb aus WCAG 2.2, Material und der
Touch-Target-Forschung, nicht von den Geräteherstellern.

Zehn übernommene Muster:

  1. Ein dauerhaft fokussiertes Sammelfeld für die Handscanner-Eingabe, mit Fokus-Rückgewinnung

nach jedem Dialog — sonst gehen Scans lautlos verloren.

  1. Auf den Terminator warten (CR/LF), nicht auf eine Zeitspanne raten.
  2. Bei der Einrichtung prüfen, ob das Gerät überhaupt einen Terminator sendet — Honeywell

liefert ab Werk 9,10 ohne die 13.

  1. Zeichen puffern, nicht je Zeichen zeichnen — die Hersteller-Notlösung dafür ist eine

künstliche Verzögerung von bis zu 1000 ms je Zeichen, was pro Scan Sekunden kostet.

  1. Erfolg als kurzes, vollflächiges Overlay (Zebra: 500–1500 ms, Vorgabe 1000 ms), nicht als

Hinweis in einer Ecke — beim Scannen ist das Gerät nicht am Auge.

  1. Fehlfall anders quittieren als Erfolg — und daran denken, dass er ab Werk stumm ist.
  2. Drei Rückmeldekanäle getrennt schaltbar (Bild, Ton, Vibration), mit eigenem Lautstärkeweg.
  3. Doppelscan-Sperre je Code, Vorgabe 800 ms.
  4. Bei mehreren Codes im Bild nur den in der Mitte nehmen (Zebras „Picklist"-Prinzip), Zielhilfe

je Arbeitsschritt schaltbar.

  1. Auslöse-Verhalten am Arbeitsschritt, nicht an der App — Einzelscan beim Bestätigen,

Dauerscan beim Wareneingang.

Fünf Muster, die bewusst nicht übernommen werden:

  1. Intent-Ausgabe statt Tastatur-Emulation — eine Web-Anwendung hat keinen Empfänger dafür.

Nur eine native Hülle könnte es, und die würde die vier Klassen auseinanderreißen.

  1. DataWedge-Profile zur Laufzeit umschalten — Zebra-eigen; Handy, Kiosk und MDE anderer

Hersteller können es nicht. Als Architektur-Annahme untauglich.

  1. Zebra Enterprise Browser als Laufzeitumgebung — proprietär, zwei Codebasen, Bindung an

einen Hersteller.

  1. Sich auf das Gerätefeedback verlassen (Piep, LED, Vibration) — auf der Handy-Kamera gibt es

das nicht, am Kiosk ist es ein unkontrollierbarer Piep, eine LED ist aus dem Web nicht
ansteuerbar. Die App erzeugt ihre Rückmeldung selbst.

  1. Künstliche Zeichenverzögerung als Lösung für verlorene Zeichen — ein Notnagel, der bei einem

20-stelligen Code bis zu 20 Sekunden kostet. Robustes Puffern statt Verlangsamen.


7 Wireframes

Neun Strichzeichnungen, Maßstab 412 × 915 CSS px. Quellen als SVG unter
.claude/reports/replikation/scanner-ux-konzept/wireframes/.

7.1 Startseite, Rolle Werker

Startseite Werker

7.2 Startseite, Rolle Lagerleiter — dieselben sechs Kacheln, andere Reihenfolge

Startseite Lagerleiter

7.3 Die Scan-Leiste in ihren fünf Zuständen

Scan-Leiste

7.4 Lager — der Baum und der Sprung per Scan

Lager-Baum

7.5 Lagerort-Detail mit Zellraster

Lagerort-Detail

7.6 Prozess-Schritt Kommissionieren

Kommissionieren

7.7 Einstellungen, nach Arbeitsaufgabe gruppiert

Einstellungen

7.8 Fehlerfall und Leerzustand

Fehler und Leerzustand

7.9 Geräteklassen-Matrix

Geräteklassen


8 Bau-Schnitt für Task 6a9932ac6edab122065e8462 (REP2)

Reihenfolge nach dem Kriterium: was danach sofort besser ist, ohne auf etwas anderes zu warten.

#SchrittWarum an dieser StelleBündel
1Token-Grundlage — 16 px, 24 px für Zahlen, 48/56 px Ziele, Kachelgrenze ≥ 3 : 1, --brand-primary im Dunkelmodus richtigstellenwirkt sofort auf alle 17 Seiten, ohne dass eine Seite umgebaut wird; behebt den einzigen 🔴-KontrastbefundStile
2Scan-Leiste als Bauteil, unten, fünf Zustände, Overlay bei Erfolg/Fehler, Doppelscan-Sperredie bestehende scan-input.component.ts wird dazu ausgebaut statt neu geschrieben — sie hängt schon am BusBauteil
3Leiste auf alle Seiten, inklusive der sechs aus 4.5; scan-home von onScanSubmit() auf den Bus umstellenab hier ist Scannen überall sichtbar und einheitlichSeiten
4Neue Startseite mit sechs Einstiegen und Rollen-Reihenfolgebraucht Schritt 1 und 2; ohne sie wäre sie nur ein anderes KachelrasterSeite
5Pfad-Umstellung + 12 Weiterleitungen aus 3.3erst wenn die Startseite auf die neuen Pfade zeigtRouten
6Stammdaten-Seiten: /warehouse/warehouses, /warehouse/storageareas (Suche), /pim/products (Suche)schließt die vom CEO benannte Lücke; das Lagerort-Detail mit Raster existiert bereitsSeiten
7/warehouse/processes als Ketten-Übersicht, gruppiert nach der Prozess-Landkarte (Task E1)hängt an E1 — die Gruppierung kommt von dort, sie wird hier nicht erfundenSeite
8Freitext ersetzen durch atomare Auswahlfelder (Lagerort, Produkt, Arbeitsplatz) auf allen Prozess-Seiteneigener Schnitt, weil es jede Prozess-Seite berührtSeiten

8.1 Bundle-Grenze — ausdrücklich benannt

Die App liegt an einer harten Grenze von 900 kB für das Startpaket (Warnung ab 800 kB), mit
zurzeit rund 37 kB Puffer. Der Scan-Bus hat seinen Standard-Handler genau deshalb ins
Nachladen verschoben (dokumentiert mit +22 kB).

Dieses Konzept zieht keine neue Bibliothek. Alles Nötige ist vorhanden:
@tolinax/ayoune-scan-ui (Wedge-Erkenner), @tolinax/ayoune-loader (Ladeanzeige),
@ngx-translate/core (Texte), Angular Material (Bauteile). Die Token-Änderung ist reines CSS.
Die Scan-Leiste ist eine bestehende Komponente, die ausgebaut wird.

Wer beim Bau doch eine Bibliothek erwägt (etwa für ein Raster oder ein Diagramm), muss den
Puffer vorher messen und im Handoff nennen. 37 kB sind vier Prozent — ein mittelgroßes Paket
sprengt sie.

8.2 Was dieses Konzept ausdrücklich nicht entscheidet

  • Die Gruppierung der Prozess-Ketten — sie kommt aus Task E1 (Prozess-Landkarte), der parallel

läuft. Hier steht nur, dass es einen Einstieg „Prozesse" gibt und dass die Ketten die Gliederung
liefern.

  • Der Träger der Verhaltens-Einstellungen — Rolle, Eingabe-Modus, Verhalten nach Scan,

Doppelscan-Sperre, Werkstatt-Modus gehören nach UserSettings; das Feld-Add ist Task
6a9932b76edab122065e8580. Dieses Konzept benennt die Fläche und die Vorgabewerte, nicht das
Schema.

  • Die Verdrahtung des Scan-Busses — sie ist gebaut (Brief scanner-scan-bus-und-hardware-matrix,

Task 6a9932a16edab122065e8293). Hier steht, was man davon sieht.

  • Der Dunkelmodus-Fehler der Material-Token als Ganzes — der eigene Brief dazu läuft; dieses

Konzept nennt nur die drei Flächen-Kontraste, die die Kachel betreffen.


9 Herkunft der Zahlen

ZahlQuelle
11 Kacheln, 19 Routen, 17 Seitenscan-home.component.ts:161-201, app.routes.ts, ls src/app/pages
14 px, 44 pxsrc/styles.scss:61, :71-72
0 Nutzer der geteilten Scan-Eingaberg --no-ignore -l "app-scan-input|ScanInputComponent" src/app/pages = 0, Positiv-Kontrolle: Datei existiert, 13 Seiten nutzen ScannerService
alle Kontrastwerteam laufenden Programm unter scanner.ayoune.app gemessen (2026-09-03), hell und dunkel, frisch geladen
200 × 100 px Kachel bei 412 pxim Browser gemessen, Seitenhülle auf 412 px gezwungen
Scan-Bus gebaut, 11 Seiten am Busapp.ts:55, rg --no-ignore -l "ScanBusService" src/app/pages
900 kB / 800 kB Grenzeclients/scanner/angular.json, budgets
500–1500 ms Erfolgs-Overlay, Terminator-Vorgaben, Doppelscan-SperreZebra DataWedge-Dokumentation, Honeywell CK65-Handbuch
48 px / 10 mm / 7 : 1 / 3 : 1WCAG 2.2 (1.4.3, 1.4.6, 1.4.11, 2.5.5), Material, Touch-Target-Forschung

Nicht als Quelle verfügbar: publizierte UX-Richtlinien von Zebra oder Honeywell — sie
existieren nicht (Abschnitt 6.2).

Continuare a lavorare con questa pagina

Istruzioni pronte per il tuo strumento di IA. Copia, incolla e inizia: l’IA recupera il contenuto da sola tramite l’indirizzo indicato nel testo.

Riassumere i passaggi per me L’essenziale, nell’ordine giusto.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Riassumi il contenuto per me.

- Prima, in due frasi: di cosa si tratta?
- Poi i passaggi nell’ordine in cui devo affrontarli.
- Una riga per passaggio, in linguaggio semplice.
- Alla fine: che cosa dovrei avere pronto in anticipo.

Non tralasciare nulla che mi serva per arrivare davvero in fondo.
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.
Spiegare a cosa mi serve A cosa serve e quando conviene.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Spiegami a cosa mi serve.

1. Quale problema risolve? In una frase, dal mio punto di vista.
2. Tre situazioni tipiche in cui mi aiuta davvero.
3. Quando NON mi serve: così risparmio tempo.
4. Che cosa posso fare invece, se non fa al caso mio.

Attieniti a quanto dice la fonte. Dove non dice nulla, dillo apertamente invece
di tirare a indovinare.
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.
Aiutarmi con la configurazione Passo dopo passo, chiedendomi man mano.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Accompagnami passo dopo passo nella configurazione.

- Dimmi prima che cosa devo avere pronto (accessi, dati, tempo).
- Poi guidami UN passaggio alla volta. Aspetta il mio "avanti".
- Per ogni passaggio, indica come capisco che ha funzionato.
- Se qualcosa va storto, chiedimi il messaggio esatto invece di indovinare.

Se le istruzioni lasciano un punto aperto, dimmelo invece di inventarlo.
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.
Aiutarmi con un problema Circoscrivere la causa invece di indovinare.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Aiutami a circoscrivere un problema.

- Chiedimi prima che cosa osservo e che cosa mi aspettavo.
- Da lì ricava le cause più probabili coerenti con questa fonte.
- Per ogni causa dammi UNA verifica che la confermi o la escluda.
- Ordinale in modo che la verifica più economica venga per prima.

Non tirare a indovinare. Se la fonte non copre il problema, dimmi dove dovrei
cercare ancora.
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.
Spiegarlo con parole semplici Senza termini tecnici, da zero.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Spiega il contenuto in modo che lo capisca chi non ha conoscenze pregresse.

- Parti dallo scopo: perché esiste tutto questo?
- Spiega i termini tecnici in mezza frase alla prima occorrenza.
- Un paragone quotidiano dove regge davvero, nessuno dove zoppica.
- Alla fine: le tre cose da ricordare.

Non accorciare omettendo condizioni. Una semplificazione che nasconde un
prerequisito è un’affermazione falsa.
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.
Una lista da spuntare Da seguire mentre procedi.
Leggi la seguente documentazione di tolinax UG e lavoraci.

Questa pagina: https://ayoune.com/it/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La raccolta completa: https://ayoune.com/it/docs/lager-produktion.md

Trasformalo in una **lista di controllo** da spuntare per la pratica.

- Esattamente un’azione per punto, all’imperativo.
- Ordinala in modo che nessun punto dipenda da un prerequisito successivo.
- Prerequisiti e insidie come sotto-punti rientrati.
- Chiudi con una verifica finale: come faccio a sapere che è tutto corretto?
Nota sulle fonti:
- Ogni pagina di questa documentazione è disponibile come Markdown (lo stesso indirizzo con `.md`).
- Una panoramica leggibile da macchina di tutti i contenuti pubblici è su `/llms.txt`.
- Se hai accesso al server MCP di aYOUne, puoi lavorare su dati in tempo reale
  invece che su questa istantanea. Altrimenti ignora questo punto.

Was this article helpful?

👎 No (0)
Leave a comment