Journal

iOS Dynamic Island Interaction Design (Live Activities)

The design job is fitting real status into very little space, clearly.

iOS Dynamic Island Interaction Design (Live Activities): the App Store logo as a glossy glass icon on a purple and blue gradient with floating bubbles

TL;DR

The Dynamic Island and Live Activities surface live, glanceable status (timers, ETAs, scores) without opening the app. Design the compact, minimal, and expanded presentations plus the Lock Screen widget, show one key value each, and implement with ActivityKit within its size and update rules. Use a free VP0 reference; it is for live activity, not marketing.

The Dynamic Island turns the front-camera cutout into a live, interactive surface: timers, live scores, navigation, and now-playing all surface there without opening the app. Paired with Live Activities, it is one of the highest-value places to show real-time, glanceable status. The short answer is, design the compact, expanded, and minimal presentations for your activity, keep them genuinely glanceable, and implement them with ActivityKit. Design the states from a free VP0 reference, but build them with the system framework, because the Island has strict rules about size, content, and update frequency.

What the Dynamic Island is for

The Island is not a place for ads or marketing; it is for live, ongoing activity the user cares about right now, a running timer, a ride arriving, a game score, a delivery. Apple’s Live Activities (via ActivityKit) drive both the Island and the Lock Screen widget, and they come with constraints: limited size, specific layouts (compact leading/trailing, minimal, expanded), and update budgets, so you cannot spam it. Used well, it keeps your app present and glanceable during a task, which supports engagement and retention (around 25% day one). The design job is fitting real status into very little space, clearly.

How to build Dynamic Island interactions

VP0 is a free iOS design library for AI builders, useful as a reference for the look. Design the three presentations for your activity, compact (the small leading/trailing content beside the cutout), minimal (when another activity shares the Island), and expanded (when long-pressed), then implement them with ActivityKit in SwiftUI. Show only the most important live value in each state (time remaining, ETA, score), make tap targets open the right screen, and update within the budget rather than constantly. Always provide the Lock Screen Live Activity too, since they share the model. Keep it honest, live status only. For pairing with a glassy aesthetic, see Glassmorphism iOS 18 UI kit free.

Dynamic Island presentations

Here is what each state should show.

StateWhat to show
CompactOne key value beside the cutout
MinimalA glyph or tiny indicator
ExpandedFuller status on long-press
Lock ScreenThe Live Activity widget
TapOpens the relevant screen

A worked example

Say you build a workout app. During a session, a Live Activity shows the elapsed time in the compact Island (leading: a glyph, trailing: the timer), a fuller view (heart rate, time, distance) when expanded, and a matching Lock Screen widget. Tapping opens the live session screen. You update at sensible intervals within the budget, not every second of churn, and end the activity when the workout finishes, never leaving a stale activity running after it is done. Design the states from a VP0 reference and implement with ActivityKit. For a glanceable companion on the wrist, see watchOS health ring UI clone; for the camera-driven app side, BeReal-style dual-camera UI template.

Common mistakes

The most common mistake is using the Island for marketing or non-live content; it is for ongoing activity the user cares about now. The second is cramming too much into the compact state instead of one key value. The third is updating too frequently and blowing the budget. The fourth is forgetting the Lock Screen Live Activity, which shares the model. The fifth is no tap action, so the Island does not lead back into the app.

Key takeaways

  • The Dynamic Island is for live, glanceable activity (timers, ETAs, scores), not marketing.
  • Design three presentations (compact, minimal, expanded) plus the Lock Screen Live Activity.
  • Implement with ActivityKit and respect its size and update-frequency rules.
  • Show one key value per state, make tap open the right screen, and build from a free VP0 reference (retention is around 25%).

Frequently asked questions

How do I design a Dynamic Island interaction? Design the compact, minimal, and expanded presentations (plus the matching Lock Screen Live Activity) showing only the key live value in each, and implement them with ActivityKit. Use a free VP0 reference for the look and respect the size and update rules.

What is the Dynamic Island for? Live, ongoing activity the user cares about right now, a timer, a ride ETA, a game score, a delivery, surfaced glanceably without opening the app. It is not for ads or marketing content.

How do Live Activities relate to the Island? They are the same system (ActivityKit): a Live Activity drives both the Dynamic Island presentations and the Lock Screen widget, so you design and update them together.

Why is my Dynamic Island content rejected or limited? Usually because it breaks the rules, too much content in the compact state, non-live or promotional content, or updating too frequently. Show one key live value and update within the budget.

Frequently asked questions

How do I design a Dynamic Island interaction?

Design the compact, minimal, and expanded presentations (plus the matching Lock Screen Live Activity) showing only the key live value in each, and implement them with ActivityKit. Use a free VP0 reference for the look and respect the size and update rules.

What is the Dynamic Island for?

Live, ongoing activity the user cares about right now, a timer, a ride ETA, a game score, a delivery, surfaced glanceably without opening the app. It is not for ads or marketing content.

How do Live Activities relate to the Island?

They are the same system (ActivityKit): a Live Activity drives both the Dynamic Island presentations and the Lock Screen widget, so you design and update them together.

Why is my Dynamic Island content rejected or limited?

Usually because it breaks the rules, too much content in the compact state, non-live or promotional content, or updating too frequently. Show one key live value and update within the budget.

Part of the Native Apple & SwiftUI: The iOS Ecosystem hub. Browse all VP0 topics →

Keep reading

Live Activities for Sports Scores: Glanceable, Live: a glass photo icon surrounded by chat, music, heart, camera and shopping app icons on a pastel gradient
Guides 4 min read

Live Activities for Sports Scores: Glanceable, Live

Live Activities put a live score on the Lock Screen and Dynamic Island. Build a glanceable sports activity from a free VP0 design with ActivityKit.

Lawrence Arya · May 31, 2026
How to Design an iOS App Before You Build It With AI: a glass iPhone UI wireframe icon on a holographic purple gradient
Guides 4 min read

How to Design an iOS App Before You Build It With AI

AI builders match references, not vague goals. Deciding your core screen, flow, data, and feel first is the cheapest hour in the whole project.

Lawrence Arya · May 25, 2026
Glassmorphism iOS UI Kit Free (Beautiful, Accessible): a glass photo icon surrounded by chat, music, heart, camera and shopping app icons on a pastel gradient
Guides 4 min read

Glassmorphism iOS UI Kit Free (Beautiful, Accessible)

Glassmorphism adds depth in moderation, hurts readability in excess. Use system materials, keep text legible, and respect Reduce Transparency.

Lawrence Arya · May 30, 2026
User Profile Screen UI Design (Free, Done Right): a glowing iPhone home-screen icon on a purple and blue gradient
Guides 4 min read

User Profile Screen UI Design (Free, Done Right)

A profile screen is a hub, not a junk drawer. Build one from a free VP0 design: a clear identity header, a few top actions, and a path to settings.

Lawrence Arya · May 30, 2026
Airbnb-Style Bottom Sheet in React Native: Map Meets List: a glass iPhone UI wireframe icon on a holographic purple gradient
Guides 4 min read

Airbnb-Style Bottom Sheet in React Native: Map Meets List

Airbnb's map-plus-draggable-sheet is a gold-standard pattern. Build a smooth bottom sheet over a map from a free VP0 design in React Native, with the right detents.

Lawrence Arya · May 31, 2026
Sign in with Apple UI Guidelines, Built in Figma: a glass iPhone app-grid icon on a mint and teal gradient
Guides 4 min read

Sign in with Apple UI Guidelines, Built in Figma

Sign in with Apple has strict button and flow rules. Build a compliant sign-in from a free VP0 design, follow guideline 4.8, and cut account-creation friction.

Lawrence Arya · May 31, 2026