Design the thread as a control plane
A messaging agent should not be a smaller desktop copilot. The thread is where a person delegates, decides, receives meaningful state, and asks for depth. Durable work belongs in artifacts.
The important distinction is not thumbs versus keyboard. A user on iPhone, iPad, or Mac still benefits when the immediate answer is easy to scan and the deeper explanation is one natural request away.
Five big takeaways
1. Optimize interruption, not just length
Apple’s guidance treats urgency as a trust contract: notifications should accurately represent urgency, and time-sensitive delivery is for information that matters in the moment.[2] For an agent, unsolicited updates should be rare: a real completion, meaningful change, blocker, decision, or user-configured watch.
2. Give the result first; disclose depth progressively
People + AI guidance centers trust calibration, clear capability limits, and explanations of the data behind an output.[1] In practice: result and state in the message; “why,” sources, assumptions, and detail behind a request; a durable artifact for substantial work.
3. Make work visible — but never chatty
A 2025 CUI study found that unexplained delay degraded experience and that feedback improved perceived waiting during longer delays. Its exact timing result came from VR, so it is directional rather than a messaging threshold.[3] The transfer: use truthful active-work signals and material state changes, not fake thought narration or timer-driven updates.
4. Proactivity must be legible and reversible
An agent-initiated message should explain what it watches and why this update crossed the threshold. It should be easy to say “quiet this,” “only alert on change,” “digest weekly,” or “stop.” Surprise use of personal context undermines trust.[1]
5. Use native signals as meaning, not decoration
Photon/Spectrum’s underlying platform supports communication primitives including reactions and replies.[5] The point is not more ornament: a reaction can acknowledge; typing can show genuine work; a rich link can carry one destination; an attachment can be the durable deliverable. Each must earn its place.
Photon quick wins now
ACTIVETask rhythm
For non-trivial work: meaningful acknowledgement/status → only material progress changes → verified completion. Do not manufacture “still working” messages.
ACTIVEResult-first replies
Lead with the outcome and current state. Offer why, sources, or details when there is useful depth.
ACTIVEQuiet-by-default proactivity
Routine monitoring belongs in a digest or changes-only mode. Immediate messages require a clear user benefit.
ACTIVEConversation + workspace
Keep the chat as the control plane. Save substantial research, plans, source ledgers, and generated work as artifacts, then give the thread a concise conclusion and a clear pointer.
Implementation ladder
P0 — Establish the interaction contract
- Define six response shapes: quick answer, acknowledgement, progress/change, completion, blocker/decision, and research delivery.
- Require every completion message to distinguish verified outcome from remaining asynchronous work.
- Classify agent-initiated messages as silent/passive, active, or time-sensitive; default to silence unless monitoring was requested.
- Adopt explicit depth affordances:
why,sources,details, and a saved artifact.
P1 — Let the user tune the calmness
- Add topic-level alert preferences: immediate, changes only, digest, and off.
- Make every alert say what it watched and why it fired now.
- Keep one shared thread state across Apple devices; never duplicate status merely because the user is active elsewhere.
P2 — Use rich capability safely
- Maintain a live capability matrix for the installed Photon adapter; do not assume that every upstream SDK feature is exposed.
- Make attachments first-class deliverables with a short standalone caption.
- Keep a sparse, cooldown-protected GIF/effect policy: emotional thought, not task-state substitute.
Measure the experience, not the decoration
Run the P0 interaction contract for four weeks and record a small, privacy-respecting row for every non-trivial task: request type, initial response shape, number of progress updates, completion state, artifact produced, clarification/correction, and whether a proactive alert was welcomed, ignored, or muted.
Did the first message make the next step clear?
Did any agent-initiated message fail to justify the interruption?
That experiment improves behavior on every Apple device and produces evidence for what to build next; a broad UI overhaul does not.