A water temperature is a good candidate for a glance. If the useful answer is one number with a little context, opening a full phone app can feel like more ceremony than the task needs. Bringing AquaDegrees to Apple Watch was a natural extension of the small utility.
The June work included a Watch app, widgets and then WidgetKit complications. It also included fixes around shared-container synchronization, delayed updates and refresh timing. Those fixes are part of the feature. A complication that shows an old value beautifully is only doing half its job.
There are at least three different moments involved: when the source data was produced, when the app obtained it and when the watch face displayed it. They can all differ. If I collapse them into a single vague idea of "updated," the interface can imply a level of freshness the system has not actually delivered.
The complication is not a tiny running app
A watch-face complication has a different lifecycle from an application on screen. WidgetKit asks for content and renders it under system control. The extension is not continuously active just because its output remains visible.
Apple's timeline documentation explains the model: provide entries for relevant times, and request a timeline reload when the underlying information changes. The system manages resources and scheduling. Requesting an update is not a promise that arbitrary code will run at an exact second.
For a utility like AquaDegrees, this encourages a data-first design. The visible view should be a presentation of an identifiable state. That state needs enough context to distinguish a valid value from an unavailable or old one, even if the complication itself can display only a compact subset.
The phone app, Watch app and widget extension also do not share one continuously running instance of memory. Getting a value into one part of the product does not automatically make it visible everywhere else. Synchronization and persistence have to connect the pieces.
That is the kind of bug that can be difficult to notice during a quick demonstration. Open the app, let it fetch data, and the screen looks correct. Leave it alone, glance at the watch later, and a different path determines what appears. The second path is the actual product for someone using a complication.
Follow a value through the system
A useful investigation starts with one value and traces it. When was it fetched? Where was it stored? Which part of the application read it? Was the timeline rebuilt from the new state or from a cached copy? These questions are more productive than simply asking the widget to refresh more often.
I also want the empty states to remain meaningful. A new installation may have no stored result. A temporary connection problem may leave an older result available. Those cases should not be forced into the same display if they imply different things to the user.
Space is limited, so every extra label competes with the temperature. That does not mean context can be discarded. It means some information may belong in the Watch app opened from the complication, while the watch face communicates the essentials clearly. The tap should lead somewhere consistent with the value the person just saw.
There is a similar issue with units and location. A number without its unit is ambiguous. A number from an unintended location can be worse than no number. A compact display should reduce reading effort while preserving the identity of the answer.
I would evaluate this feature across interruptions: after the phone has been away, after a new value arrives, after permissions change and after the app has not been opened for a while. The point is to observe the states the system actually reaches, rather than only the route that makes a screenshot look good.
The public AquaDegrees listing records the Watch and complication updates in June. I like this kind of extension because it keeps the application's purpose intact. It brings the same small answer closer to where it is useful. The engineering effort is in making that shorter glance deserve the user's confidence.