Home Screen Widgets and Live Updates in Apps
A widget puts a small piece of your app on the home screen, so people can see an order, a balance or the next appointment without opening the app. Live Activities on iPhone and Live Updates on Android go further and follow an event as it happens, such as a delivery on its way or a ride arriving. Both are small, have strict rules about how often they update, and are only worth building for the right content. This guide sets out what Apple's and Google's developer documentation says, so you can decide whether your app needs them. Checked on 5 November 2026.
The sources are Apple's WidgetKit documentation and its article on keeping a widget up to date, the ActivityKit documentation and Displaying live data with Live Activities, and the Human Interface Guidelines for widgets and Live Activities. On Android they are the app widgets overview, Create an advanced widget, Jetpack Glance, the widget quality guidelines, Create live update notifications and the Android 16 page on progress-centric notifications.
Widgets and live updates are different things
- Widgets sit on the home screen (and on iPhone also the Lock Screen) for as long as the person keeps them. They show a summary that refreshes from time to time, and tapping one opens the app.
- Live Activities (iPhone and iPad) and Live Updates (Android) track one event with a start and an end, such as a delivery, a ride, a match or a workout. They appear in prominent places like the Lock Screen, the Dynamic Island or the status bar, and they go away when the event is over.
Both platforms are clear that neither is a marketing channel. Apple's guidelines say: "Don't use a Live Activity to display ads or promotions." Google lists "Ads, promotions, chat messages, alerts, upcoming calendar events, and quick access to app features" as inappropriate uses of Live Updates.
Widgets on iPhone and iPad
Apple's widgets are built with WidgetKit and SwiftUI and appear on the Home Screen and Lock Screen of iPhone and iPad, on the Mac, on Apple Watch and on Apple Vision Pro. The design advice is to "choose simple ideas that relate to your app's main purpose" and to include "timely content and relevant functionality". Widgets can contain buttons and toggles that act without opening the app, and tapping anywhere else opens the app.
The main limit is updates. Apple's guidelines say widgets "periodically refresh their information but don't support continuous, real-time updates". The app hands WidgetKit a timeline of future entries, and WidgetKit refreshes the widget within a daily budget. Apple says that for a widget the user views often, "a daily budget typically includes from 40 to 70 refreshes", which "roughly translates to widget reloads every 15 to 60 minutes". Timeline entries should be "at least about 5 minutes apart". Reloads do not count against the budget when the app is in the foreground or when the person taps a button in the widget. The app can also ask WidgetKit to reload when its data changes, and widgets can be updated with push notifications.
A widget can still show a countdown or timer that ticks live without reloading, because the system draws dynamic dates itself. For an event that changes often over a few hours, Apple offers Live Activities, which it says deliver "frequent content and status updates over a few hours".
Live Activities on iPhone
ActivityKit describes Live Activities as a way "to keep track of an event or activity over several hours". They appear on the Lock Screen, in the Dynamic Island, in StandBy, in CarPlay, on a paired Apple Watch and on the Mac. Your app must support every presentation (compact, minimal, expanded and Lock Screen) because the system picks one for each place. The interface is built in the app's widget extension, so code can be shared with widgets, but Apple notes that Live Activities "aren't widgets": they are started and updated by the app or by ActivityKit push notifications from your server, not by a timeline.
Apple's limits are specific:
- "A Live Activity can be active for up to eight hours" unless the app or the person ends it. After that it stays on the Lock Screen for up to four more hours, "a maximum of 12 hours".
- Each update's data "can't exceed 4 KB".
- People "can choose to deactivate Live Activities for an app in the Settings app", so the app should check whether they are enabled before offering one.
- visionOS does not support Live Activities.
The design guidance is to offer them "for tasks and events that have a defined beginning and end", start them when people expect them (Apple's examples are "after a food order, making a rideshare request, or when their favorite sports team's match begins"), and "update a Live Activity only when new content is available". Because a Live Activity "could be viewed by casual observers" on the Lock Screen, Apple advises against showing sensitive information. Always end a Live Activity when the event ends, with a final update, since it can stay on the Lock Screen afterwards.
Widgets on Android
Google describes widgets as "'at-a-glance' views of an app's most important data and functionality". It groups them as information widgets (weather, scores), collection widgets (photos, articles, messages), control widgets ("remote controls for an app") and hybrids such as a music player. They can be built with the older RemoteViews APIs and XML layouts, or with Jetpack Glance, which Google describes as "a framework built on top of the Jetpack Compose runtime that lets you develop and design app widgets using Kotlin APIs". Because widgets share the home screen, "the only gestures available for widgets are touch and vertical swipe."
Android widgets also update on a schedule. Google's documentation says the built-in periodic update "doesn't support values of less than 30 minutes". If people need a different frequency, the app can use WorkManager instead, and it can update the widget straight away after the person does something in the app or the widget.
Google's widget quality guidelines set three tiers. A widget is "low quality" if, among other things, it has no preview image, its "content is consistently stale or untimely", or it "doesn't update after user completes an action from the widget" or from within the app. Those are useful acceptance criteria to put in a project brief.
Live Updates on Android
Live Updates are promoted notifications. Google says they "appear more prominently on system surfaces, including at the top of the notification drawer and the lock screen, and as a chip in the status bar." Android 16 added progress-centric notifications (ProgressStyle) for "user-initiated, start-to-end journeys" such as rideshare, delivery and navigation. To be promoted, a notification must meet a list of technical requirements, such as being ongoing, using a supported style and not using a custom layout. Google also notes that device manufacturers "can enforce additional criteria".
The usage rules matter most. Google says to "use Live Updates for activities that are ongoing, user-initiated, and time-sensitive". Its appropriate examples are "active navigation, ongoing phone calls, active rideshare tracking, and active food delivery tracking". It also says a Live Update "isn't appropriate for tracking a package as the user doesn't need to constantly monitor this". Users can dismiss or demote a Live Update, and Google warns that "posting unwanted Live Updates might cause users to revoke an app's posting permission." Live Updates are notifications, so the app also needs notification permission first; our guide to push notifications in apps covers asking for it.
Is it worth building?
A widget is worth it when people check the same thing often: a balance, today's bookings, a loyalty card, the next class. A Live Activity or Live Update is worth it when your service has real events with a clear start and end that people want to watch, such as deliveries, rides, appointments with a queue, or live scores. If your app has neither, a well-timed notification is usually enough.
Plan for these points when scoping:
- Both platforms need their own native code: WidgetKit and ActivityKit on Apple, RemoteViews or Glance and the notification APIs on Android. Even a cross-platform app needs this native part.
- Live Activities that change while the app is closed need a server that sends ActivityKit push notifications.
- Design the smallest sizes first, write a realistic preview, and test that a widget refreshes after actions in the app.
- Tell people about the widget once, at a sensible moment. Our guide to app onboarding covers the first-run moments when features like this are introduced.
Frequently asked questions
How often can an iPhone widget update?
Apple says a frequently viewed widget typically gets 40 to 70 refreshes a day, roughly every 15 to 60 minutes, with timeline entries at least about 5 minutes apart. Reloads while the app is in the foreground or when the person taps a button in the widget do not count against the budget.
How long can a Live Activity run?
Apple says a Live Activity can be active for up to eight hours, then stays on the Lock Screen for up to four more hours, a maximum of 12 hours in total.
Can I use a Live Activity or Live Update to promote offers?
No. Apple's guidelines say not to use a Live Activity to display ads or promotions, and Google lists ads and promotions among inappropriate uses of Live Updates.
What is Jetpack Glance?
Google describes Jetpack Glance as a framework built on the Jetpack Compose runtime for building Android app widgets with Kotlin APIs. Widgets can also be built with the older RemoteViews and XML layouts.
How often can an Android widget update itself?
Google says the built-in updatePeriodMillis setting does not support values of less than 30 minutes. Apps can update a widget straight away after a user action, or use WorkManager for other schedules.
Planning an app and wondering whether a widget or Live Activity is worth it? See how we approach mobile app development, see all our services, or email [email protected].