Description
This task focuses on engineering groundwork required to support adoption of Apple’s Liquid Glass design language in the Wikipedia iOS app. The work here is intentionally design-agnostic and prepares the codebase, asset pipeline, and system abstractions so Liquid Glass updates can be integrated incrementally once designs are finalized.
Scope intentionally excludes visual decisions, final asset values, and design validation at this stage. Design input will be included Feb 2.
User Story
As an iOS engineer, I want a flexible, well-documented asset and design system pipeline that supports Liquid Glass materials, translucency, motion, and OS-based fallbacks, so that new designs can be integrated incrementally without large refactors or regressions across supported iOS versions.
As a Wikipedia reader using the iOS app, I experience a more modern, platform-native interface that adapts gracefully to my device, OS version, and accessibility settings.
Must Haves
Design system infrastructure
- Establish or extend a centralized design system layer to support:
- Semantic color roles
- Typography tokens
- Motion tokens (durations, curves)
- Ensure tokens can be resolved dynamically based on:
- OS version
- Accessibility settings (Dark Mode, Increase Contrast, Reduce Transparency, Reduce Motion)
OS version gating & fallbacks
- Implement availability-based abstractions (e.g., ''if #available'') for:
- Materials / blur styles
- Translucency behaviors
- Define clear fallback paths for older OS versions (values may be placeholders until you receive design file).
Asset pipeline readiness
- Define and document:
- Asset catalog structure and naming conventions
- Strategy for template (tintable) vs. non-template assets
- Support for Light/Dark and accessibility variants
- Audit existing assets to identify:
- Candidates for templating
- Assets requiring multiple appearance variants
Material & blur plumbing
- Create reusable wrappers or helpers for:
- System materials (UIKit / SwiftUI)
- Visual effect views or material backgrounds
- Ensure reuse and performance safety (avoid per-cell instantiation in scroll-heavy views).
Motion & interaction foundations
- Centralize animation timing and curves into reusable tokens
- Wire Reduce Motion fallbacks into the animation layer
Nice to Haves
- Initial performance profiling for blur-heavy or translucent surfaces in scrollable contexts
- Snapshot or visual regression testing scaffolding for:
- Light / Dark Mode
- Dynamic Type sizes
- Reduce Transparency / Increase Contrast
F[] eature flags or build-time switches to support incremental rollout
Out of Scope for this task
- Final visual styling (colors, typography, motion values)
- Design validation or “on-style” reviews
- Feature-specific UI redesigns
Deliverables
- Engineering documentation describing:
- Design system abstractions
- Asset pipeline conventions
- OS gating and fallback strategy
- Code scaffolding that enables Liquid Glass integration without major refactors
- Identified risks or technical constraints to share with Design and Product
Due by Feb 2