watchOS Group Lab
Join us online for a deep dive into WWDC26 with Apple engineers and designers to ask questions, get advice, and follow the discussion about the week's biggest watchOS announcements. Conducted in English.
Transcript
Engineers from the watchOS team introduce themselves and set up a session covering Foundation Models on Apple Watch, watchOS background and architectural constraints, on-device debugging, Liquid Glass on watchOS, 3D graphics, widgets/complications, and standalone-app data sync.
Foundation Models are available on watchOS 27 and don't require a connection to your iPhone, but they do require a network connection — there's no model running locally on the watch or the paired phone. You can use Private Cloud Compute, or any provider conforming to the LanguageModel protocol (official Claude and Gemini support is coming from those vendors, and you can conform your own). Two things to plan for: using PCC requires an entitlement (noted in the reference session), and every call is a network hop — so check model availability before calling, watch your quota and token usage, and design graceful fallbacks (for example when a watch has no cellular). A great watch use case is summarizing dense text to fit the display.
It does not use the iPhone's on-device model. Foundation Models on the watch always route to Private Cloud Compute over the network — it won't borrow the paired iPhone's local model even when both are on the same network.
Respect the watch's tighter runtime and background budget — you don't get iOS-style long-running background execution. Do heavy work like CloudKit sync in the appropriate background sessions/tasks the watch provides, keep it off the main thread, and design for being suspended: make sync resumable and incremental rather than assuming sustained execution. Don't port iOS background assumptions directly.
The initial system-symbol sync is a one-time step, and the Xcode team put significant work into this over the last couple of releases — so install Xcode 27, keep your OS up to date, and file feedback with logs if you still hit delays (there's now a lot of built-in diagnostics). The bigger speedup is Device Hub (watchOS 26 and 27): Xcode now connects directly from your Mac to the watch instead of proxying through the phone, substantially improving reliability and throughput. For that to work, be on a network that allows peer-to-peer device communication — corporate networks often block it — and note that recent Apple Watch hardware has a 5 GHz Wi-Fi chip that helps. Keep the watch nearby, charged, and paired, and use Device Hub to test across the range of Apple Watch hardware your users actually have.
A round of favorites: the new workout insights and Workout Buddy; the Foundation Models framework on watchOS; being able to update widgets over Watch Connectivity (a long-requested addition); performance and reliability improvements to widgets plus new Smart Stack suggestions, including delightful ones on holidays and significant events; the upcoming Siri AI and intelligence features (not in beta 1); and the new HealthKit APIs — heart-rate zones, cycling power zones, and the perimenopause and menopause API.
SceneKit is deprecated but not gone, so you can keep using it for now. The recommended path forward on watchOS is SwiftUI — specifically SwiftUI Canvas, which has been around a couple of years, is GPU-backed and very fast, and is a well-featured drawing system suited to the watch. It isn't SceneKit, so if there's something you can't work out how to do (or that can't be done), reach out to DTS, post in the forums, and file feedback so the platform can improve.
A tennis game using the watch as a racket is actually possible now — you can use the watch as a peripheral for a visionOS app, and Core Motion sensor data lets you track the device's motion, from a tennis swing to how steady your hand is throwing pottery. Beyond raw sensors, some of the best watch experiences are ones proactively brought to the user: Live Activities, Smart Stack suggestions, and relevant widgets. Make a widget relevant to the user's real-world context — a location, a time, or a semantic place like home or work — so it surfaces at the right moment, and be judicious about occupying the top Smart Stack spot. For Live Activities, alert only on genuinely signal-worthy updates (the Sports app, for instance, alerts on different events per sport) rather than every change.
watchOS 26 brought Liquid Glass to the Apple Watch design language, and this year adds substantial refinement in how the material renders and adapts on the watch's small, bright display. Adopt the standard SwiftUI controls and materials to pick up the updated look, and review how your custom UI reads against the refined glass treatment.
Two under-appreciated gems. The workout zones API had been requested for years; shipping it took time because the goal was something flexible and easy to use — refined by using it internally first — and it supports rich heart-rate and cycling-power zone experiences, both during a workout and afterward (like how long you spent in a high zone across the week). The other is the new Reorderable API from this year's SwiftUI (mentioned in the State of the Union): it lets users drag to reorder collections, it's available on watchOS, and Apple used it to build Control Center — the first time developers can reorder containers on watchOS.
There's no major new guidance for watchOS 27 — the widget budget is optimized per platform and by how often people engage with your widget. Practically, expect roughly a 15-to-20-minute refresh cadence for an actively-used widget, with an important distinction: a widget on the watch face is viewed all day and sits at the top tier of the budget (more guaranteed refreshes), whereas one in the Smart Stack refreshes closer to how often the user actually looks at it — possibly once a day. Drive updates by invalidating from your app when you have new information, or via a timeline reload policy (more deterministic). Match the tool to the need: timeline widgets for data that changes through the day (weather, calendar), relevant configuration for moment-specific relevance, Live Activities for sessions with a clear beginning and end, and controls for quick actions. For pushing updates, watchOS 26 added APNs-based refreshes and this year adds Watch Connectivity-based refreshes. See the Keeping Your Widget Up to Date article and the WidgetKit Foundations session.
Fetch only what you need for the first meaningful screen and defer the rest — prioritize a minimal initial payload over a full sync. Work with the watch's networking scheduler rather than against it: batch requests, make the sync resumable and incremental, and progressively load remaining assets after launch so the radio constraints don't block the initial experience.