# iOS Dynamic Island Interaction Design (Live Activities)

> By Lawrence Arya, Founder & CEO of VP0. Published 2026-05-30, updated 2026-06-02. 4 min read.
> Source: https://vp0.com/blogs/ios-dynamic-island-interaction-figma

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

**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](https://developer.apple.com/documentation/activitykit) (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%](https://getstream.io/blog/app-retention-guide/) 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](https://developer.apple.com/xcode/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](/blogs/glassmorphism-ios-18-ui-kit-free/).

## Dynamic Island presentations

Here is what each state should show.

| State | What to show |
|---|---|
| Compact | One key value beside the cutout |
| Minimal | A glyph or tiny indicator |
| Expanded | Fuller status on long-press |
| Lock Screen | The Live Activity widget |
| Tap | Opens 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](/blogs/watchos-11-health-ring-ui-clone/); for the camera-driven app side, [BeReal-style dual-camera UI template](/blogs/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.

---
*Published on the [VP0 Journal](https://vp0.com/blogs). Free to read, index and cite with attribution.*
