Zum Inhalt springen
aYOUne
No está en su idioma

Esta página aún no está disponible en es. Está leyendo la versión 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).

Seguir trabajando con esta página

Instrucciones listas para tu herramienta de IA. Copia, pega y empieza: la IA obtiene el contenido por sí misma mediante la dirección incluida en el texto.

Resumir los pasos para mí Lo esencial, en el orden correcto.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Resume el contenido para mí.

- Primero, en dos frases: ¿de qué trata esto?
- Después, los pasos en el orden en que debo darlos.
- Una línea por paso, en lenguaje sencillo.
- Al final: qué debería tener preparado de antemano.

No omitas nada que necesite para terminar de verdad.
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.
Explicar para qué necesito esto Para qué sirve y cuándo merece la pena.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Explícame para qué necesito esto.

1. ¿Qué problema resuelve? En una frase, desde mi punto de vista.
2. Tres situaciones típicas en las que realmente me ayuda.
3. Cuándo NO lo necesito: eso me ahorra tiempo.
4. Qué puedo hacer en su lugar si no encaja.

Cíñete a lo que dice la fuente. Donde no aporte nada, dilo abiertamente en vez
de suponer.
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.
Ayudarme con la configuración Paso a paso, preguntándome sobre la marcha.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Acompáñame paso a paso durante la configuración.

- Dime primero qué necesito tener preparado (accesos, datos, tiempo).
- Después guíame de UN paso en UN paso. Espera a que te diga "siguiente".
- En cada paso, indica cómo puedo saber que ha funcionado.
- Si algo falla, pídeme el mensaje exacto en vez de suponer.

Si las instrucciones dejan algo abierto, dímelo en lugar de inventarlo.
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.
Ayudarme con un problema Acotar la causa en vez de adivinar.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Ayúdame a acotar un problema.

- Pregúntame primero qué observo y qué esperaba en su lugar.
- A partir de ahí, deduce las causas más probables acordes con esta fuente.
- Para cada causa, dame UNA prueba que la confirme o la descarte.
- Ordénalas de modo que la prueba más barata vaya primero.

No adivines. Si la fuente no cubre el problema, dime dónde debería seguir
buscando.
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.
Explicarlo con palabras sencillas Sin tecnicismos, desde cero.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Explica el contenido de modo que lo entienda alguien sin conocimientos previos.

- Empieza por el propósito: ¿para qué existe esto?
- Explica los tecnicismos en media frase la primera vez que aparezcan.
- Una comparación cotidiana donde de verdad funcione, ninguna donde cojee.
- Al final: las tres cosas que conviene recordar.

No acortes omitiendo condiciones. Una simplificación que oculta un requisito es
una afirmación falsa.
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.
Una lista para ir marcando Para seguirla mientras lo haces.
Lee la siguiente documentación de tolinax UG y trabaja con ella.

Esta página: https://ayoune.com/es/docs/lager-produktion/scanner-app-neu-ux-konzept-informationsarchitektur-scan-leiste-lesbarkeit.md
La colección completa: https://ayoune.com/es/docs/lager-produktion.md

Conviértelo en una **lista de verificación** para la puesta en práctica.

- Exactamente una acción por punto, en imperativo.
- Ordénala de modo que ningún punto dependa de un requisito posterior.
- Requisitos y escollos como subpuntos con sangría.
- Termina con una comprobación: ¿cómo sé que todo está correcto?
Nota sobre las fuentes:
- Cada página de esta documentación está disponible como Markdown (la misma dirección con `.md`).
- Hay un resumen legible por máquina de todo el contenido público en `/llms.txt`.
- Si tienes acceso al servidor MCP de aYOUne, puedes trabajar con datos en vivo
  en lugar de esta instantánea. Si no, ignora este punto.

Was this article helpful?

👎 No (0)
Leave a comment