Predictive UI
The best interface is one that's already prepared for what you need. Ferni anticipates, not just reacts.
Preloading Patterns
Skeleton Loading
- Shimmer speed: 1.5s
- Shimmer angle: -20deg
- Pulse opacity: 0.04 → 0.08
- Pulse duration: 2s
Ghost Content
Placeholder shapes that hint at incoming content structure.
height: 1em, width: 60-90%
40px circle
16:9 aspect ratio
120px × 44px pill
Progressive Reveal
Content appears in priority order with staggered timing.
Stagger delay: 50ms per item · Animation: fadeSlideIn 300ms ease-out
Anticipation
UI prepares for likely next actions.
Hover Intent
Detect hover trajectory to preload content
- Detection radius: 100px
- Velocity threshold: 50px/s
- Preload delay: 100ms
- Visual hint: opacity 0.02, scale 1.005
Scroll Anticipation
Preload content in scroll direction
- Look ahead: 2 viewports
- Velocity multiplier: 1.5×
- Preload threshold: 0.5 viewports
Time-Based Preload
Load content based on typical usage patterns
Contextual Preload
Load based on detected intent
Proactive Suggestions
Suggestion Bubble
- Max width: 280px
- Padding: 12px 16px
- Border radius: 16px
- Background: glass-regular
- Entry: bubbleIn 400ms spring
Nudge
- Arrow size: 8px
- Animation: nudgePulse 2s infinite
- Max occurrences: 3
- Cooldown: 1 hour
Spotlight
- Glow radius: 20px
- Glow opacity: 0.15
- Animation: spotlightPulse 3s infinite
- Dim background: 0.4 opacity
UI Adaptation
UI adapts to user patterns over time.
Frequency Boost
Frequently used features become more prominent
- Threshold: 5 uses / week
- Position: elevated
- Size: 1.1×
- Show shortcut: true
Time Optimization
Features optimize for when they're most used
- Track usage time
- Show at optimal time
- Hide when irrelevant
Sequence Detection
Detect common action sequences
- Min length: 2 actions
- Confidence: 0.7
- Suggest next: true
- Create shortcut: after 10 occurrences
Loading Stages
Loading states that feel alive, not stuck.
Too fast to show anything
Brief acknowledgment
Standard loading
Show we're working
Intelligence Personalization
UI adapts to individual preferences over time.