GH GambleHub

Einheitliche Schnittstellensprache

1) Was ist eine einheitliche Schnittstellensprache und warum wird sie benötigt?

Die Unified Interface Language (YEI) ist ein gemeinsames System von Konzepten, visuellen Regeln und Interaktionen, das von Designern, Ingenieuren, Analysten und Inhaltsautoren geteilt wird.

Die Ziele sind:
  • Konsistenz: Gleiche Komponenten und Begriffe in verschiedenen Produkten und Teams.
  • Geschwindigkeit: Schnelle Montage, weniger Holyvars, schnelleres Onboarding.
  • Qualität: UX konsistente Muster, Verfügbarkeit „Standard“.
  • Skalierbarkeit: Sichere Evolution ohne Trennung zum „UI Zoo“.

2) Schichten einer einzigen Sprache

1. Tokens (Farbe, Typografie, Größen, Schatten, Einzüge, Radien, Animationen).
2. Komponenten (Schaltflächen, Eingabefelder, Tabellen, Grafiken, Modals, Toasts, Tabs).
3. Muster (Formulare, Validierung, Schritt-für-Schritt-Assistenten, Listen/Tabellen, Benachrichtigungen).
4. Inhalte (Microcopywriting, Terminologie, Fehlermeldungen).
5. Ikonographie und Illustrationen (Familie, Stil, Größen und Linien).
6. Verfügbarkeit und i18n/RTL (A11y, Übersetzbarkeit, Lokalität).
7. Prozesse (Versionen, Haidrails, Revuen, Linters, Vitrinen und Beispiele).

3) Design-Token (Grundlage der Ausdruckskraft)

Token sind benannte Werte, die in allen Produkten wieder verwendet werden.

3. 1 Aufbau der Token (Beispiel)

json
{
"color": {
"bg": { "base": "#FFFFFF", "subtle": "#F7F8FA" },
"fg": { "primary": "#11131A", "muted": "#656D76" },
"accent": { "primary": "#2F6BFF", "warning": "#FF9F1A", "critical": "#E53935", "success": "#2EAE60" }
},
"space": { "xs": 4, "sm": 8, "md": 12, "lg": 16, "xl": 24, "2xl": 32 },
"radius": { "sm": 8, "md": 12, "lg": 16, "pill": 1000 },
"shadow": { "sm": "0 1px 2px rgba(0,0,0,.08)", "md": "0 4px 12px rgba(0,0,0,.10)" },
"font": { "family": "Inter, system-ui", "size": { "sm": 12, "md": 14, "lg": 16, "xl": 20 } },
"motion": { "duration": { "fast": 120, "base": 200, "slow": 320 }, "curve": { "inout": "ease-in-out" } }
}

3. 2 Token-Namensgebung

Vom Allgemeinen zum Privaten: 'color. accent. primary`, не `primaryBlue`.
Ohne Markenbezug in der Namensgebung (Marke ist ein Thema, nicht der Name des Tokens).
Abstufungen: 'fg. muted`, `fg. primary`, `fg. inverse`. Codieren Sie die Helligkeit im Namen ('blue500') nicht ohne System.

3. 3 Token-Themen

Hell, dunkel, kontrastreich: Werte ändern, keine Namen.
Themen sind die Override-Ebene, die Benutzeroberfläche bleibt konsistent.

4) Komponenten: Vertrag, Zustände, Verfügbarkeit

Komponente = visuell + Verhalten + Vertrag Props + A11y.

4. 1 Beispiel für einen Button-Vertrag

ts type ButtonProps = {
kind: "primary"      "secondary"      "tertiary"      "danger";
size: "sm"      "md"      "lg";
icon?: "plus"      "download"      "trash";
disabled?: boolean;
loading?: boolean;
ariaLabel?: string;
onClick?: (e: MouseEvent) => void;
};

Zustände: 'default/hover/active/focus/disabled/loading'.
Verfügbarkeit: Fokusring, Zielgrößen ≥ 40-48 px, 'aria-pressed' für Toggle.

4. 2 Komponentengarantien

Stabile Abmessungen (Linienhöhe, Paddings).
Verfügbarkeit aus der Box (Rolei/Aria, Tastatur, Kontrast).
Invarianten: Fehler im Feld immer von unten und mit 'aria-describedby'.

5) UX-Muster (wiederholbare Logik)

Formulare: Label links/oben, Platzhalter ≠ Label, Fehler nebeneinander + in der Zusammenfassung, Eingabemasken und Hinweise.
Modalki: ein Haupt-CTA, 'Esc' schließt, Fokusfalle, Fokusrückkehr.
Tabellen/Listen: Sortierung, Sticky-Header, seitenweise, Export.
Filter: explizite Schaltfläche „Anwenden“, Zurücksetzen, gespeicherte Presets.
Benachrichtigungen: Toast ≤ 3-5 s, Pause beim Fokus, 'role = „status/alert“.
Dashboards: Top Insights → Kontext → Grafiken → CTAs.

6) Einheitliche Terminologie und Microcopywriting

6. 1 Glossar

Führen Sie ein einheitliches Glossar von Geschäfts- und UX-Begriffen. Jeder Schnittstellenartikel verweist darauf.
Für Dubletten - wählen Sie ein Wort („Wallet“ vs „Balance“), das zweite - als Synonym bei der Suche.

6. 2 Regeln des Textes

Kurz und bündig; Vermeiden Sie Jargon.
Fehler - erklären, was zu tun ist: „Geben Sie das Datum im Format JJJJ-MM-TT an“.
Überschriften sind Substantive; Schaltflächen - Verben (Speichern, Rückgängig).
Konsistente Einheiten: Datum/Uhrzeit in UTC oder locale, Währungen mit Code (EUR, USD).

7) Ikonographie und Illustrationen

Die Familie ist isomorph: Einzelwinkel, Linienstärke, Raster 24 × 24.
Status und Semantik: Farbe - sekundär; Form/Icon + Text - primär.
Skalierung: Piktogramme „schweben“ nicht in verschiedenen Dichten (1 ×/2 ×/3 ×).

8) Verfügbarkeit (A11y) und Lokalisierung (i18n/RTL)

Die Komponenten durchlaufen WCAG AA: Kontrast, Tastaturnavigation, Fokus, 'prefers-reduced-motion'.
Die zu übersetzenden Zeichenfolgen befinden sich in Ressourcen, nicht im Code. Platzhalter und Zahlen-/Datumsformat sind lokalisierbar.
RTL: Icon-Spiegelung, korrekte Tab-Reihenfolge, DnD-Logik von der Tastatur.

9) Zahlen, Daten, Währungen und Formate

Datum/Uhrzeit: ISO-8601, wahrer Zeitpunkt - UTC; Der Benutzer ist lokal.
Währung: minor units/dezimal strings; immer den Code angeben (z.B. "€12,34" oder "12. 34 EUR" - nach Standort).
Prozentsätze: '12,3%' und Punkte'+ 1,2 pp 'deutlich zu unterscheiden.
Rundung: bis zu signifikanten Entladungen; „k/m“ für große Zahlen.

10) Governans: Rollen, Artefakte, Kanäle

Design Language Council (DLC): Inhaber von Token/Komponenten, nach RFC.

Artefakte:
  • Komponentenbibliothek (Figma/Code) + Live-Katalog mit Beispielen.
  • Dokumentation: Gaidrails, Muster, A11y, Content-Hyde.
  • Tschejndschlog mit den Daten, den Niveaus (added/changed/deprecated/removed/fixed).
  • Kanäle: wöchentliche Design-Sync, Slack-Kanal, Showcases von Implementierungen.

11) Versionierung und Evolution

SemVer für das Komponentenpaket: 'MAJOR. MINOR. PATCH`.
MINOR - additiv: neue Token, Props mit Defaults, neue Komponenten.
MAJOR - Breaking: Entfernen von Props, Änderung der Semantik → Migrationshydes.
Deprections: Warnungen, Fenster ≥ 90 Tage, Kompatibilitätsflags.

12) Linters und automatische Kontrollen

UI-Linter: Verbotene Farben außerhalb von Token, Anti-Muster (Div-Taste, Outline deaktiviert).
A11y-Checks: Kontrast, Rollen/Aria, Fokus, Tastatur.
i18n-linter: „harte“ Zeilen im Code, falsche Platzhalter.
Screenshot-Tests: Visuelle Regressionen der Komponenten.
Visualisierungs-API-Verträge (falls vorhanden): Datentypen, Bereiche, Signaturen.

13) Komponentenvitrine (Storybook/Sandbox)

Live-Beispiele mit Props-Kontrollen, Code, Staaten, A11y-Checker.
„Rezepte“: Anmeldeformular, Master 3 Schritte, Tabelle + Filter, Modalka + Toast.
„Sandbox locales“: Umschalten von Sprache/Formaten/RTL.

14) Namens- und Strukturmuster

14. 1 Komponenten (EMV/Semantik, Beispiel CSS)


.btn/basic/
.btn--primary/view/
.btn--danger
.btn--lg/size/
.btn __ icon/part/

Der Code enthält monotone Props-Namen: 'size', 'kind', 'disabled', 'onClick'.

14. 2 Dateistruktur der Bibliothek


/tokens
/components
/button
/input
/modal
/patterns
/docs
/changelog

15) Anti-Muster

„Freie“ Farben/Einzüge außerhalb der Token.
Komponenten-Dubletten: „ButtonV2“, „PrimaryButtonNew“.
Platzhalter als einzige Feldmarke.
Deaktivierung der Outline und des „Div-Buttons“.
Unvorhersehbare Hover/aktiv/deaktiviert.
Transliterierte Begriffe statt normaler Übersetzung.
Fehlende Migrationswege bei Updates.

16) Qualitätsmetriken einer einzelnen Sprache

Coverage: Anteil der Bildschirme, die die Komponentenbibliothek verwenden.
Consistency Index: Wiederverwendung von Token gegen „manuelle“ Stile.
A11y Pass Rate: Prozentsatz der Komponenten, die WCAG AA passieren.
Defect Escape: UI/Content Defects in Prod auf 1k Commits.
Time-to-Ship: Zeit für die Implementierung eines typisierten Bildschirms vor/nach DLS.
Adoption: DAU Vitrinen, Anzahl PR mit Komponenten/Mustern.

17) Bildschirm-Checkliste

  • Token (Farbe/Einzüge/Radien) werden verwendet, keine „harten“ Werte.
  • Komponenten aus der Bibliothek; Nur mit RFC.
  • Verfügbarkeit: Tastatur/Fokus/Kontrast/Rolei/aria.
  • Einheiten: Datums-/Währungs-/Prozentangaben - auf Basis der Hyde-Formate.
  • Mikrokopie: Buttons = Verben, Fehler = Aktion zur Korrektur.
  • Locals/RTL machen das Layout nicht kaputt.
  • Zustände: loading/empty/error sind vorgesehen.
  • Visuelle Regressionstests aktualisiert.

18) Implementierungsplan (3 Iterationen)

Iteration 1 - Fundament (2-3 Wochen)

Tokens (Farbe/Typografie/Spacing/Motion), Basiskomponenten (Button, Input, Select, Tooltip, Modal), Content-Hyde (Ton, Labels, Bugs).
Schaufenster (Storybook) und A11y-Checker, Token-Linter.

Iteration 2 - Muster und Lokalisierung (3-4 Wochen)

Formular-/Tabellen-/Filtermuster, Iconpack 24 × 24, RTL/i18n-Sandbox, Zahlen-/Datums-/Währungsregeln.
SemVer, Changelog, RFC/Migrationsprozess, Autotests (visuell + A11y).

Iteration 3 - Skalierung und Evolution (kontinuierlich)

Kompositionskomponenten (Wizard, DataGrid, Chart primitives), Temmatisierung (hell/dunkel/kontrastierend), Qualitätsmetrikberichte, regelmäßige UX-Audits.

19) Mini-FAQ

Brauchen Sie sofort „alles auf einmal“?
Nein. Beginnen Sie mit Token und Basiskomponenten und fügen Sie dann Muster und Prozesse hinzu.

Wie kann ich Teams davon überzeugen, EYI zu verwenden?
Zeigen Sie Gewinne: Geschwindigkeit, weniger Defekte, fertige Bildschirmrezepte und A11y „out of the box“.

Was tun mit Legacy-Bildschirmen?
Migrationsplan, Brückenstile durch Token, Prioritätsbildschirme sind die ersten.

Summe

Eine einheitliche Schnittstellensprache ist nicht nur eine Bibliothek von Komponenten. Es ist ein System von Regeln und Prozessen, bei denen Token Expressivität, Komponenten - Verhalten und Verfügbarkeit, Muster - Wiederholbarkeit von Entscheidungen und Governance und Metriken - nachhaltige Evolution bestimmen. Machen Sie Ihre Sprache klar, überprüfbar und erweiterbar - und Ihre Produkte werden einheitlich, schnell und zuverlässig aussehen und funktionieren.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Telegram
@Gamble_GC
Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.