iOS 26 · macOS 26 · tvOS 26
Native widgets across every Apple surface.
Tap a widget to jump straight to the detail page and resume where you left off. Use the transport buttons on the Lock Screen without unlocking. Glance at the Dynamic Island while audio plays, pin the Mac Desktop widget to your wallpaper, or let recently added titles surface on the tvOS Top Shelf. The surfaces share the same App Intents, so resume, play, pause, and next always do the same thing.
NaviFin widgets: four guardrails
App Group only
Every widget reads from a sandboxed App Group container the host app writes to. No network calls, no background fetches, no analytics SDK. The widget binary itself never opens a socket.
In-process App Intents
Tapping Resume, Play, Pause, or Next inside a widget runs inside the host app process. No re-launch, no animation jank, no surprise modal: the widget glyph just flips.
Cross-platform shared engine
iPhone, Mac, and tvOS surfaces share the same NaviFinWidgets library so the App Group layout, snapshot wire format, and intent shapes match. Behaviour you learn on iPhone holds on the Mac.
Reload budget respected
Widgets only refresh on real state changes (a new resume point or play/pause), not on every tick. That keeps you well under Apple's daily refresh budget so the widget never freezes mid-day.
Every surface
Every widget NaviFin ships.
Each surface has a single, opinionated job. None of them try to mirror the whole app: they show what you need at a glance, and they hand you back to the player the moment you want depth.
Home Screen: Continue Watching
- Small + Medium sizes
- Poster art with a resume progress bar
- Medium: up to three in-progress titles
- Tap to deep-link and resume instantly
Home Screen: Now Playing
- For music playback from your server
- Cover art ambient backdrop
- Transport row (Medium): Prev / Play-Pause / Next
- Tap to open Now Playing
Lock Screen + StandBy
- Accessory Circular: play-state + title initial
- Accessory Rectangular: glyph + title + subtitle
- Accessory Inline: single-line status row
- StandBy + Always-On render via .vibrant mode
Live Activity + Dynamic Island
- Lock Screen long-form: art + scrubber + transport
- Dynamic Island expanded (4 regions)
- Compact + minimal play-state glyph
- Auto-ends when playback stops
Mac Desktop
- Small + Medium + Large sizes
- Continue Watching with poster art
- Large: Up Next peek (next queued titles)
- Same App Intents shape as the iPhone widget
tvOS Top Shelf
- Continue Watching on the Apple TV home screen
- Recently added movies and episodes
- Wide poster artwork, focus-native
- Select a tile to jump straight into NaviFin
How widgets stay private
Sandboxed by design.
The host app writes a small JSON snapshot of "what is playing" and "what to resume" into a per-platform App Group container. The widget process reads that snapshot on every timeline regeneration. There is no IPC layer, no network call, no analytics framework. If you turn airplane mode on, the widgets keep updating on every state change.
- App Group identifiers:
group.app.navifin.NaviFinApp.iosandgroup.app.navifin.NaviFinApp.macos. Per-platform on purpose so a misconfigured iPad cannot read the Mac's container or vice versa. - Poster and cover art bytes live as JPEG files inside the container, never embedded in the snapshot JSON (the snapshot stays under a few KB so reads are quick).
- Widget reloads only fire on real state changes or play / pause flips. Tick-by-tick "elapsed seconds" updates persist to the container but do not refresh the widget UI, which keeps NaviFin well under Apple's daily reload budget.
- The Live Activity ends automatically when playback stops or the stale window expires (capped at the ActivityKit 8-hour ceiling).
One $6.99 purchase at launch. Every widget included.
NaviFin is launching as one $6.99 Universal Purchase on the App Store: Apple TV, Mac, iPad, and iPhone. Today it is free in the open beta on TestFlight. Widgets land on iPhone, Mac, and the tvOS Top Shelf as soon as you install NaviFin.