Signal lookup
Describe something you saw an app do. The lookup returns the designs that produce that behavior, how sure you can be, and the chapter that explains it.
Content appears on a cold start in airplane mode
InferredLocal store or cache on the device
Chapter 3. The universal app modelThe app works fully offline and never asks you to sign in
SpeculativeNo backend for user data. Third parties may still be present
Chapter 3. The universal app modelSearch over old content works offline
InferredA local store the client can query
Chapter 3. The universal app modelA change on one screen shows on another screen with no reload
InferredA shared data layer that screens observe
Chapter 3. The universal app modelA list shows the old value until you refresh it
InferredEach screen fetches and holds its own data
Chapter 3. The universal app modelTotals, validation or filters work with no network
InferredDomain logic on the client
Chapter 3. The universal app modelA rule or a price changes with no app update
InferredDomain logic in backend services
Chapter 3. The universal app modelA half-typed form is still there after a long time in the background
InferredScreen state saved to durable storage
Chapter 3. The universal app modelOffline changes send while you are on a different screen
InferredApp-level sync engine
Chapter 3. The universal app modelAn upload finishes after you leave the app
InferredBackground worker
Chapter 3. The universal app modelContent is already current when you open the app offline after a notification
InferredPush plus a background worker that fetches and stores
Chapter 3. The universal app modelEvery screen shows the same sign-in or update prompt at the same moment
SpeculativeA gateway in front of all services, and one network client
Chapter 3. The universal app modelOne tab fails while the others keep working
SpeculativeSeparate backend services per feature
Chapter 3. The universal app modelData returns after a reinstall and sign-in
InferredBackend store is the source of truth
Chapter 3. The universal app modelA deletion on one device removes the item on another
SpeculativeChange log or equivalent that carries deletions
Chapter 3. The universal app modelA notification arrives while the app is closed
ObservedAsync delivery through the platform's push service
Chapter 3. The universal app modelText loads first and images fill in afterwards
InferredMedia delivery separate from data services
Chapter 3. The universal app modelA payment sheet or sign-in screen carries another company's name
ObservedThird party in the flow
Chapter 3. The universal app modelDevice settings list a permission for the app
ObservedThe app uses that platform service
Chapter 3. The universal app modelStored data far exceeds the size of the app itself
SpeculativeContent is kept on the device as a cache, a local replica or downloads
Chapter 4. ProbesStored data shrinks on its own when the device runs low on storage
InferredA cache that the app or the operating system may discard
Chapter 4. ProbesMobile data used is high for the time you spend in the app
SpeculativeMedia, prefetching or background workers
Chapter 4. ProbesBattery is used on days you did not open the app
InferredBackground workers or continued use of platform services
Chapter 4. ProbesA notification arrives after a force-quit
InferredAsync delivery through the platform's push channel
Chapter 4. ProbesThe start screen fills at once in airplane mode
InferredThe UI reads from a cache or a local store
Chapter 4. ProbesA typed draft survives a force-quit
InferredDrafts are written to the local store as you type
Chapter 4. ProbesThe app returns to its start screen after a long time in the background
InferredScreen state is not restored after process death
Chapter 4. ProbesA second device updates while you watch it
InferredA real-time delivery path to clients in the foreground
Chapter 4. ProbesContent appears on a new device after sign-in
InferredThe backend store is the source of truth
Chapter 4. ProbesSigning in on a second device signs the first one out
ObservedOne session per account
Chapter 4. ProbesBehavior changes between two launches with no update installed
SpeculativeRemote config or server-driven UI
Chapter 4. ProbesA splash appears on launch
ObservedCold start. No process existed
Chapter 7. Launch and startupThe splash lasts longer on a slow connection
InferredA startup step blocks on a response
Chapter 7. Launch and startupThe splash has the same maximum length on any bad connection
SpeculativeBlocking fetch with a timeout and a fallback to stored values
Chapter 7. Launch and startupThe layout appears with gray placeholders that fill in
ObservedSkeleton placeholders with fetch after first frame
Chapter 7. Launch and startupContent appears at once and changes a moment later
InferredCached content first with a background refresh
Chapter 7. Launch and startupThe app opens on the screen you left after a force-quit
InferredLast screen persisted by the app itself
Chapter 7. Launch and startupThe last screen returns after a short absence, home after a long one
InferredPersisted last screen with a time limit
Chapter 7. Launch and startupA cold start in airplane mode shows the normal first screen
InferredSession, config and content are read from the device
Chapter 7. Launch and startupA cold start in airplane mode shows the sign-in screen
InferredSession validated against the backend before the first screen
Chapter 7. Launch and startupThe sign-in screen flashes before the home screen
InferredFirst frame drawn before the session read completes
Chapter 7. Launch and startupThe home screen flashes before a notification's target
ObservedRouting runs after a normal startup instead of inside it
Chapter 7. Launch and startupThe first scroll after launch stutters and later scrolls are smooth
SpeculativeDeferred initialization running on the drawing thread
Chapter 7. Launch and startupA feature is slow to open the first time after each force-quit, and fast after that
InferredLazy initialization of that feature
Chapter 7. Launch and startupA tab or section appears on the second launch after install
InferredRemote config cached and applied on the next launch
Chapter 7. Launch and startupA section appears or vanishes seconds after launch
InferredRemote config applied live
Chapter 7. Launch and startupAn update screen appears in the middle of use
InferredVersion rule checked on responses and not only at startup
Chapter 7. Launch and startupA message about updating or optimizing on the first launch after an update
InferredLocal store migrated in place
Chapter 7. Launch and startupThe app closes at every launch after an update until reinstalled
SpeculativeFailed migration of the local store
Chapter 7. Launch and startupA tab keeps its screen and scroll position while you use another tab
InferredIndependent stack per tab
Chapter 8. Navigation, deep links and screen stateAfter a splash, the app returns to the screen you left
InferredNavigation state restored after process death
Chapter 8. Navigation, deep links and screen stateAfter a splash, the right screen appears and then reloads
InferredRoute restored with IDs. The data is loaded again
Chapter 8. Navigation, deep links and screen stateAfter a splash, the right screen is blank or the app closes
InferredRoute restored without its data. The screen depended on an object passed in memory
Chapter 8. Navigation, deep links and screen stateThe screen you left returns after a force-quit
InferredNavigation state persisted by the app in its local store
Chapter 8. Navigation, deep links and screen stateTyped text is there after leaving and re-entering a screen
InferredDraft stored apart from the screen
Chapter 8. Navigation, deep links and screen stateUnfinished input or a cart appears on a second device
ObservedDraft or flow state held on the backend
Chapter 8. Navigation, deep links and screen stateBack after a link from a cold start shows a parent screen
InferredSynthesized back stack
Chapter 8. Navigation, deep links and screen stateBack after a link from a cold start leaves the app
ObservedSingle-screen stack with no synthesis
Chapter 8. Navigation, deep links and screen stateA link opens the app on its home screen
SpeculativeNo route for the link in this version, and no fallback
Chapter 8. Navigation, deep links and screen stateA link opens a web page inside the app
SpeculativeRouter falls back to a web view for routes it does not know
Chapter 8. Navigation, deep links and screen stateAfter sign-in the app continues to the linked item
InferredPending link held through the sign-in flow
Chapter 8. Navigation, deep links and screen stateThe app opens on a shared item right after a fresh install
InferredDeferred deep link
Chapter 8. Navigation, deep links and screen stateThe system reports a paste from the browser on first launch
InferredDeferred deep link carried by the clipboard
Chapter 8. Navigation, deep links and screen stateAn invitation appears only after signing in on a fresh install
InferredPending invitation stored on the backend by account. Nothing crossed the installation
Chapter 8. Navigation, deep links and screen stateA short spinner between tapping a banner and an otherwise instant screen
SpeculativeLink resolved by the backend at tap time
Chapter 8. Navigation, deep links and screen stateBack after a completed flow shows the flow's last form
InferredFlow pushed on the ordinary stack and not removed on completion
Chapter 8. Navigation, deep links and screen stateA countdown is still correct after a force-quit and matches on a second device
InferredDeadline set by the backend
Chapter 8. Navigation, deep links and screen stateA change made on a detail screen is already in the list when you go back
InferredOne shared copy, or change events inside the client
Chapter 9. State and UI data flowThe list shows the old value for a moment on return and then changes
InferredScreen-owned copy with refetch on appear
Chapter 9. State and UI data flowThe list shows the old value until you refresh it
ObservedScreen-owned copies with nothing linking them
Chapter 9. State and UI data flowNearby screens show a change and distant ones do not
InferredChange events with missing listeners
Chapter 9. State and UI data flowA surface stays stale after a refresh
InferredA separate backend source for that surface, such as a search index
Chapter 9. State and UI data flowA badge changes in the same instant as the content it counts
InferredCount derived on the client from the same data
Chapter 9. State and UI data flowA badge shows a count with no matching content
ObservedCount held as a separate value from another source
Chapter 9. State and UI data flowThe icon badge and the badge inside the app disagree
ObservedTwo sources. The icon badge is set by a notification or by the backend
Chapter 9. State and UI data flowA tapped control changes and the count beside it does not
InferredOptimistic update held in the control
Chapter 9. State and UI data flowA tapped control flickers to the old value and back
SpeculativeA response fetched before the tap overwrote the optimistic value
Chapter 9. State and UI data flowA toggle bounces back a moment after the tap
InferredRollback after a rejected or failed mutation
Chapter 9. State and UI data flowA failed refresh leaves the content in place
InferredContent read from a store with the request held as separate activity
Chapter 9. State and UI data flowA failed refresh replaces the content with an error
ObservedScreen state with one status at a time
Chapter 9. State and UI data flowAn empty state flashes before content appears
InferredLoading and empty are the same value in the screen state
Chapter 9. State and UI data flowTyped text is lost on rotation
ObservedInput held in the control and not in screen state
Chapter 9. State and UI data flowContent is present at once after the process was ended in the background
InferredUI reads from a local store
Chapter 9. State and UI data flowAn open screen changes when a second device changes the data
InferredRemote changes delivered into a store the screen observes
Chapter 9. State and UI data flowA list jumps to the top when one item changes
SpeculativeThe list is replaced as a whole. Items have no stable identity in the UI
Chapter 9. State and UI data flowA header appears first and dependent sections follow
InferredClient composes the screen from requests in sequence
Chapter 10. API shapeSections arrive seconds apart on a weak connection
InferredOne request per section
Chapter 10. API shapeThe whole screen arrives at once even on a weak connection
InferredOne round trip per screen. Screen-shaped response, query or batch
Chapter 10. API shapeThe whole screen arrives at once on a fast connection
SpeculativeNo evidence. Separate requests can land within one frame
Chapter 10. API shapeText in list rows fills in row by row
InferredOne request per row after an under-fetching list response
Chapter 10. API shapeOne section shows its own error and retry
InferredSections fetched separately or a response with partial results
Chapter 10. API shapeA section is absent on some visits with no error
InferredBackend composition layer that drops a section it cannot fill
Chapter 10. API shapeDetail screen opens complete with no loading state
SpeculativeList response over-fetches, or the detail was prefetched
Chapter 10. API shapeList and detail disagree after both are refreshed
InferredTwo endpoints served from different backend sources
Chapter 10. API shapeSections appear or reorder with no app update
SpeculativeBackend decides the screen's structure. Screen-describing response or remote config
Chapter 10. API shapeButton text or eligibility changes with no app update
SpeculativeBackend sends finished text and decisions
Chapter 10. API shapeAn old version shows a placeholder for new content
InferredAdditive interface with a client fallback for unknown types
Chapter 10. API shapeA prompt blocks an old version until it is updated
ObservedBackend enforces a minimum client version
Chapter 10. API shapeA total updates with the network off
InferredRule computed on the client
Chapter 10. API shapeA total is corrected when the network returns
InferredClient estimate with the backend as source of truth
Chapter 10. API shapeLoaded text stays in the old language after a language change
InferredBackend sends finished strings
Chapter 10. API shapeAn action updates every affected part of the screen together
InferredMutation response returns the new state of everything it touched
Chapter 10. API shapeA button is shown and the backend refuses the action
InferredRule held on both client and backend with the two out of step
Chapter 10. API shapeA revisited screen appears with no loading state
InferredThe screen reads a cache or local store before the network
Chapter 11. Local storage, caching and prefetchingA loading state on every visit to a screen
InferredNetwork only or network first read policy
Chapter 11. Local storage, caching and prefetchingContent appears at once and then changes a moment later
ObservedStale-while-revalidate
Chapter 11. Local storage, caching and prefetchingContent changed elsewhere stays old for a fixed period
InferredCache then network with a time limit
Chapter 11. Local storage, caching and prefetchingOffline content survives a force-quit
InferredDisk cache or local store
Chapter 11. Local storage, caching and prefetchingOffline content is lost after a force-quit
InferredMemory cache only
Chapter 11. Local storage, caching and prefetchingYour own change shows on every screen without a refresh
InferredEntity cache, one record per item observed by all screens
Chapter 11. Local storage, caching and prefetchingTwo screens show different values for the same item
InferredResponse cache with incomplete invalidation on write
Chapter 11. Local storage, caching and prefetchingFrequent refreshes with low mobile data use
SpeculativeValidators, so unchanged data is confirmed without a body
Chapter 11. Local storage, caching and prefetchingThe app's storage figure levels off during long browsing
InferredDisk cache with a size bound and eviction
Chapter 11. Local storage, caching and prefetchingCached content is gone after the device ran low on space while settings remain
InferredCached data kept in the area the operating system may clear
Chapter 11. Local storage, caching and prefetchingA never-opened detail screen shows only the fields its list row had
InferredSeeding from the list item
Chapter 11. Local storage, caching and prefetchingA never-opened detail screen is complete while offline
InferredPrefetched detail or a list response that carries full items
Chapter 11. Local storage, caching and prefetchingScrolling at normal speed never reaches a loading indicator
InferredNext page prefetched before the end of the list
Chapter 11. Local storage, caching and prefetchingThe next video is ready on an unmetered network and buffers on cellular
InferredPrefetching conditioned on network type
Chapter 11. Local storage, caching and prefetchingFresh content is present at launch in airplane mode
InferredFetch ahead of opening by a background task or push hint
Chapter 11. Local storage, caching and prefetchingThe previous account's data shows briefly after a new sign in
InferredSign out leaves a store or memory cache uncleared
Chapter 11. Local storage, caching and prefetchingThe app signs you in by itself after a reinstall
SpeculativeSession token in secure storage that outlives the app's data
Chapter 11. Local storage, caching and prefetchingScreens respond at the same speed online and offline
InferredUI reads from a local store
Chapter 12. Offline and syncPending indicator on an item
ObservedOptimistic update with a tracked mutation
Chapter 12. Offline and syncOffline changes survive a force-quit
InferredDurable outbox
Chapter 12. Offline and syncOffline changes vanish after a force-quit
InferredIn-memory optimistic state only
Chapter 12. Offline and syncItem order or timestamp shifts slightly after sending
InferredReconcile replaces local values with backend values
Chapter 12. Offline and syncItem disappears after reconnect with no message
InferredRollback after rejection, with no rejection UI
Chapter 12. Offline and syncChanges send while the app is on another screen
InferredApp-level sync engine
Chapter 12. Offline and syncThe device that reconnects last always wins
InferredLast write wins by arrival
Chapter 12. Offline and syncThe device with a fast clock always wins
InferredLast write wins by client time
Chapter 12. Offline and syncEdits to different fields of one item both survive
InferredField-level conflict unit
Chapter 12. Offline and syncA conflicted copy or duplicate appears after a conflict
ObservedKeep-both resolution
Chapter 12. Offline and syncConcurrent text edits interleave
SpeculativeFine-grained merge. The algorithm family cannot be determined from outside
Chapter 12. Offline and syncFull reload after a long absence only
InferredChange log with limited tombstone retention
Chapter 12. Offline and syncFull reload after an app update
SpeculativeLocal store rebuilt from the backend instead of migrated. The local store is treated as disposable
Chapter 12. Offline and syncDuplicate items after a weak connection
InferredRetries without idempotency
Chapter 12. Offline and syncOne failed action stops later actions from sending
InferredGlobally ordered outbox with no handling for a permanently failing entry
Chapter 12. Offline and syncA deleted item reappears later
SpeculativeMissing or expired tombstone on some replica
Chapter 12. Offline and syncContent stays visible offline after access was removed
InferredAccess changes are not delivered through the change log
Chapter 12. Offline and syncA counter jumps after reconnecting
InferredOptimistic increments replaced by the backend total
Chapter 12. Offline and syncAn offline message within a second or two of losing the network
InferredClient consults connectivity from platform services
Chapter 13. Network transport and resilienceA loading state of many seconds in airplane mode
InferredClient waits out a default timeout without checking connectivity
Chapter 13. Network transport and resilienceA loading state that never ends
ObservedNo failure state in the screen or no total timeout
Chapter 13. Network transport and resilienceErrors on a slow network where other apps succeed
InferredTimeouts too short for slow links
Chapter 13. Network transport and resilienceContent arrives after a stall with no tap
InferredAutomatic retry with backoff
Chapter 13. Network transport and resilienceA failed screen loads by itself when the network returns
InferredListener for connectivity changes that reruns failed requests
Chapter 13. Network transport and resilienceA failed write shows a retry control and is never resent by itself
SpeculativeWrites are not retried automatically, likely for lack of idempotency
Chapter 13. Network transport and resilienceDuplicates after a weak connection
InferredWrites retried without an idempotency key
Chapter 13. Network transport and resilienceA new screen loads promptly during a heavy upload
InferredRequest queue with priorities
Chapter 13. Network transport and resilienceScreens get slower after tapping through several quickly
InferredNo cancellation of requests for screens the user left
Chapter 13. Network transport and resilienceThe first action after a pause is slow and the next ones are fast
SpeculativeConnections closed when idle and reopened on demand
Chapter 13. Network transport and resilienceA transfer continues unbroken across a move from wireless to cellular
SpeculativeA transport that survives a network switch, or a silent resume. Cannot be determined from outside
Chapter 13. Network transport and resilienceA transfer restarts from zero after a network switch
InferredAutomatic retry without resumable transfer
Chapter 13. Network transport and resilienceSofter images or lower video quality on a weak network
InferredVariant selection by network quality
Chapter 13. Network transport and resilienceAutoplay and prefetching stop under the device's data-saver mode
ObservedClient reads the low-data setting and defers optional requests
Chapter 13. Network transport and resilienceText loads and images do not
InferredMedia delivery is a separate system from the gateway
Chapter 13. Network transport and resilienceThe app fails for you and works for someone in another region
SpeculativeRegional failure, with slow or absent failover
Chapter 13. Network transport and resilienceA banner that says reconnecting
InferredApp-level tracking of a persistent connection
Chapter 13. Network transport and resilienceContent changes only after a refresh or after reopening the screen
ObservedFetch on open or on gesture
Chapter 14. Real-time deliveryChanges appear untouched with delays spread evenly up to a fixed maximum
InferredPolling on a timer with that maximum as the interval
Chapter 14. Real-time deliveryChanges appear untouched within about a second every time
InferredA held connection. Which kind cannot be determined from outside
Chapter 14. Real-time deliveryUpdates get faster while something is in progress and slower when idle
SpeculativeAdaptive polling
Chapter 14. Real-time deliveryA typing indicator or live cursor that responds within a second
InferredPersistent connection in the foreground with ephemeral signals
Chapter 14. Real-time deliveryBadges and previews on other screens change at the same moment as the open screen
InferredApp-level connection that writes to shared state
Chapter 14. Real-time deliveryA notification arrives and the item still shows a loading state on opening
InferredPush carries display content and the data is pulled on open
Chapter 14. Real-time deliveryThe full item is readable offline right after its notification
InferredPush hint that wakes the app to pull into the local store
Chapter 14. Real-time deliveryNotifications stop after a force-quit
InferredNotifications built by app code after a silent push
Chapter 14. Real-time deliveryIn-app updates continue with notification permission off
SpeculativeThe app's own connection or polling carries foreground updates
Chapter 14. Real-time deliveryA notification for the screen you are looking at
InferredDelivery on both paths, with no suppression on the client
Chapter 14. Real-time deliveryMissed items arrive in order with no gesture after reconnecting
InferredCatch-up by cursor or refetch on reconnect
Chapter 14. Real-time deliveryItems are missing after a network drop until a refresh
InferredConnection with no catch-up
Chapter 14. Real-time deliveryThe same item appears twice until refresh
InferredAt-least-once delivery with no check for repeats on the client
Chapter 14. Real-time deliverySeparate marks for sent, delivered and read
ObservedAcknowledgments at three levels delivered back to the sender
Chapter 14. Real-time deliveryA typing indicator that stays after the other person lost the network
InferredNo expiry on the receiver
Chapter 14. Real-time deliveryA notification disappears from one device after the item is read on another
InferredRead state fanned out by push to the user's other devices
Chapter 14. Real-time deliveryLive indicators are missing or become counts in very large groups
SpeculativeFan-out limit for per-recipient features
Chapter 14. Real-time deliveryA loading indicator at regular intervals of items
InferredFixed page size with the next page requested at the end
Chapter 15. Lists, feeds and paginationNo indicator at reading speed and one during a fast fling
InferredNext page requested ahead of the end
Chapter 15. Lists, feeds and paginationPage numbers or a jump to any page
SpeculativeOffset paging
Chapter 15. Lists, feeds and paginationAn item repeats a page later after others were added
InferredOffset paging with no check for repeats on the client
Chapter 15. Lists, feeds and paginationAn item that exists elsewhere never appears while scrolling after others were removed
InferredOffset paging
Chapter 15. Lists, feeds and paginationNo repeats and no skips while the list changes
InferredCursor paging or keyset paging. The two cannot be told apart from outside
Chapter 15. Lists, feeds and paginationA whole batch appears twice after a fast scroll
InferredPaging state with no guard against a second request
Chapter 15. Lists, feeds and paginationMostly different items after each refresh
InferredRanked feed that excludes items already shown
Chapter 15. Lists, feeds and paginationA ranked feed shows the same items after the app was restarted
InferredLoaded items stored on the device
Chapter 15. Lists, feeds and paginationA control announcing new items
ObservedNew-items control fed by a count poll or a held connection
Chapter 15. Lists, feeds and paginationContent shifts down while being read
ObservedSilent merge with no correction of the scroll offset
Chapter 15. Lists, feeds and paginationA gap row or loading row in the middle of a list
ObservedStored runs with a recorded gap filled on demand
Chapter 15. Lists, feeds and paginationThe list is at the top with fresh content after a long absence only
SpeculativeFreshness time limit or process death with no restore
Chapter 15. Lists, feeds and paginationAn old item opens inside its list and both directions load
InferredPaging in both directions around an anchor
Chapter 15. Lists, feeds and paginationPlaceholders through the whole list and a scroll indicator of constant size
InferredTotal count or full list of IDs delivered up front
Chapter 15. Lists, feeds and paginationScrolling far back shows loading states for content seen earlier
InferredDistant pages dropped from memory
Chapter 15. Lists, feeds and paginationA row is stale after its detail screen changed the item
InferredSeparate copies for list and detail
Chapter 15. Lists, feeds and paginationThe list ends and a refresh reveals more
SpeculativeA short filtered page read as the end of the list
Chapter 15. Lists, feeds and paginationImage areas show a different tint each before the image arrives
InferredDominant color carried in the item data
Chapter 16. ImagesA blurred version of an unseen image shows while offline
InferredBlurred preview embedded in the item data
Chapter 16. ImagesRows hold still while images of varying shape arrive
InferredImage dimensions or aspect ratio carried in the item data
Chapter 16. ImagesContent jumps when an image lands
InferredNo image dimensions in the item data
Chapter 16. ImagesAn image sharpens in several small steps on a weak connection
InferredProgressive image in a single file
Chapter 16. ImagesA full-screen image is soft and then sharp in one jump
InferredThumbnail seeded from the memory cache and a larger variant swapped in
Chapter 16. ImagesZooming in never gets sharper
InferredOne variant per image, enlarged on the device
Chapter 16. ImagesSmall thumbnails load as slowly as full images
SpeculativeOne stored size served to every view
Chapter 16. ImagesA revisited screen shows images in the same frame with no stand-in
InferredDecoded images held in a memory cache
Chapter 16. ImagesImages appear offline after a force-quit
InferredEncoded files held in a disk cache
Chapter 16. ImagesImages appear offline and the text around them does not
InferredImage disk cache kept apart from the response cache
Chapter 16. ImagesAfter a fast scroll the rows you stop on fill first
InferredCancellation or priority for visible rows in the request queue
Chapter 16. ImagesAn image flashes in the wrong row during a fast scroll
InferredView recycling with no cancellation and no check on arrival
Chapter 16. ImagesScrolling stutters only while images are arriving
SpeculativeDecoding or resizing on the thread that draws the UI
Chapter 16. ImagesThe app is ended while browsing image-heavy screens
SpeculativeImages decoded at file size instead of view size, or a memory cache with no bound
Chapter 16. ImagesImages keep loading while other screens show backend errors
InferredMedia delivery runs apart from the gateway and services
Chapter 16. ImagesAn avatar stays old on some screens after it was changed
InferredImage address reused for new content
Chapter 16. ImagesA photo you sent has smaller dimensions and no location when saved from the app
ObservedResize and metadata removal before or after upload
Chapter 16. ImagesThe picture softens and sharpens within one item
InferredAdaptive streaming with several quality levels
Chapter 17. Audio and video playbackThe first seconds of every video are soft
InferredPlayback starts at a low quality level to shorten the start delay
Chapter 17. Audio and video playbackPlayback stops repeatedly at the same sharpness on a weak connection
InferredA single quality level
Chapter 17. Audio and video playbackA progress indicator must complete before playback
ObservedWhole file download
Chapter 17. Audio and video playbackThe next item starts with no wait
InferredStart of the next item preloaded during the current one
Chapter 17. Audio and video playbackA still frame shows before the video starts to move
InferredPoster image fetched as an image and drawn as a stand-in
Chapter 17. Audio and video playbackSmall preview frames appear while dragging the seek bar
InferredA separate set of thumbnail images produced by the encoding pipeline
Chapter 17. Audio and video playbackThe picture stays soft for a while after the network improves
InferredA long buffer of segments fetched at a low quality level
Chapter 17. Audio and video playbackVideo is always softer on cellular data than on an unmetered network of similar speed
SpeculativeA quality cap on metered networks
Chapter 17. Audio and video playbackTitle and artwork with working controls on the lock screen
ObservedPlayer reports to the system media controls
Chapter 17. Audio and video playbackSound pauses when a headset is unplugged and for a phone call
ObservedPlayer follows the operating system's messages about the audio output
Chapter 17. Audio and video playbackA small floating video window stays over other apps
ObservedPicture-in-picture through a platform service
Chapter 17. Audio and video playbackAn item continues from the same point on another device
InferredPlayback position synced through the backend
Chapter 17. Audio and video playbackA second device is exact after a pause and behind after a force-quit
InferredPosition reports sent on pause and at intervals during playback
Chapter 17. Audio and video playbackA download states an expiry or asks to be renewed online
InferredProtected content with a license that carries a time limit
Chapter 17. Audio and video playbackThe app switcher preview is black where the video is
SpeculativeProtected content decoded where the app and the system cannot capture it
Chapter 17. Audio and video playbackCaption language changes at once with no stop
InferredCaptions delivered as a separate text track and drawn by the client
Chapter 17. Audio and video playbackPlayback continues while other screens show backend errors
InferredSegments served by media delivery apart from the gateway and services
Chapter 17. Audio and video playbackProgress returns to zero after a brief loss of signal
InferredSingle request with nothing kept on the backend
Chapter 18. File transfer: uploads and downloadsProgress continues from where it stopped after an interruption
InferredResumable transfer with an upload session on the backend
Chapter 18. File transfer: uploads and downloadsProgress steps back a little after an interruption and then continues
InferredResumable transfer that lost the part in flight
Chapter 18. File transfer: uploads and downloadsAn interrupted upload continues after minutes and restarts after days
InferredUpload sessions that expire on the backend
Chapter 18. File transfer: uploads and downloadsA label such as preparing before progress moves and longer for longer videos
InferredTranscode on the device before upload
Chapter 18. File transfer: uploads and downloadsThe app used far less data than the size of the original file
InferredResize or transcode on the device before upload
Chapter 18. File transfer: uploads and downloadsA file arrives on another device while the sending app is closed
InferredTransfer handed to the operating system
Chapter 18. File transfer: uploads and downloadsA persistent notification with progress for the length of the transfer
InferredApp process kept alive by a visible task
Chapter 18. File transfer: uploads and downloadsAn upload stops when you switch apps and continues on return
InferredTransfer owned by the app process
Chapter 18. File transfer: uploads and downloadsProgress jumps forward the moment you reopen the app
InferredOperating system kept transferring and the app reads its count on return
Chapter 18. File transfer: uploads and downloadsA pending item survives a force-quit
InferredDurable outbox and transfer queue
Chapter 18. File transfer: uploads and downloadsAn item reaches other users only when its media is complete
InferredUpload then attach
Chapter 18. File transfer: uploads and downloadsAn item reaches other users with a placeholder that fills in later
ObservedItem first then media
Chapter 18. File transfer: uploads and downloadsSend completes faster than the file size allows
InferredEarly upload that began when the file was chosen
Chapter 18. File transfer: uploads and downloadsA text sent after a video arrives before it
InferredOutbox that lets small items overtake one blocked on an upload
Chapter 18. File transfer: uploads and downloadsA message that the transfer is waiting for a wireless network
ObservedTransfer queue with an unmetered-network condition
Chapter 18. File transfer: uploads and downloadsProgress sits at the end for a while before the item is done
InferredProgress counts bytes only and the backend is still processing
Chapter 18. File transfer: uploads and downloadsApp storage stays higher after a cancelled download
InferredPartial files with no cleanup
Chapter 18. File transfer: uploads and downloadsMovement appears on the other device in under half a second
InferredMedia path with a deadline-oriented transport
Chapter 19. Live calls and live streamingThe call timer runs and nobody hears anything
InferredSignaling path separate from a media path that failed to open
Chapter 19. Live calls and live streamingA setting that hides your network address during calls
InferredBoth direct and relayed media exist and the setting forces the relay
Chapter 19. Live calls and live streamingA brief freeze when a third person joins a call
InferredMove from direct media to a media server
Chapter 19. Live calls and live streamingAn enlarged tile is soft for a moment and then sharpens
InferredForwarding server with quality layers
Chapter 19. Live calls and live streamingOne fixed layout that is the same for every participant
InferredMixing server
Chapter 19. Live calls and live streamingBlank tiles that fill in when you scroll a large call
InferredClient subscribes to video for visible participants only
Chapter 19. Live calls and live streamingPicture gets blurry or stops while the voice stays clear
InferredAdaptation that gives up video to protect audio
Chapter 19. Live calls and live streamingA robotic voice on a weak network
InferredLoss concealment in the media engine
Chapter 19. Live calls and live streamingA few seconds of freeze after a network switch and then the call continues
InferredNew route agreed through signaling while the backend holds the call
Chapter 19. Live calls and live streamingA full incoming-call screen on a locked device whose app was force-quit
InferredCall push with the platform calling integration
Chapter 19. Live calls and live streamingA device keeps ringing after the call was answered on another device
InferredFan-out of the stop message failed for that device
Chapter 19. Live calls and live streamingYou hear your own voice a moment late
ObservedEcho cancellation failing on the other device
Chapter 19. Live calls and live streamingA live stream runs ten seconds or more behind a real clock
InferredSegmented delivery
Chapter 19. Live calls and live streamingA live stream runs under a second behind a real clock
InferredCall-style low-latency delivery
Chapter 19. Live calls and live streamingChat reacts to an event before the picture shows it
InferredChat on real-time delivery beside segmented video
Chapter 19. Live calls and live streamingA viewer invited as a guest sees the player reload and the delay vanish
InferredHosts in a call and the audience on segmented delivery
Chapter 19. Live calls and live streamingSpeech sounds slightly hurried after a stall in a live stream
InferredPlayer speeds up to return to the live edge
Chapter 19. Live calls and live streamingSign-in opens a sheet that belongs to another party
InferredIdentity provider. The app's backend checks a signed statement and issues its own session
Chapter 20. Identity and sessionsSign-in asks for a system unlock and nothing typed
InferredDevice-bound credential held in secure hardware-backed storage
Chapter 20. Identity and sessionsA code field with a resend control and no password
ObservedOne-time code. Every sign-in proves control of a channel
Chapter 20. Identity and sessionsThe app opens as signed in with no network
InferredStored session trusted locally and verified later
Chapter 20. Identity and sessionsThe app shows the sign-in screen when offline and is signed in again when online
InferredAn unreachable backend is treated as a refusal
Chapter 20. Identity and sessionsSigned out with a message that names the cause
InferredThe backend's refusal carries a reason and the network client passes it to the UI
Chapter 20. Identity and sessionsEvery action fails until the app is restarted
InferredRenewal was refused and the UI was not told
Chapter 20. Identity and sessionsSigned out at random and more often on a weak network
SpeculativeRotation of the renewal credential without protection against concurrent or lost renewals
Chapter 20. Identity and sessionsA revoked device signs out within seconds while idle
InferredRevocation pushed through async delivery
Chapter 20. Identity and sessionsA revoked device fails on its next request
InferredSession record checked at the gateway on every request
Chapter 20. Identity and sessionsA revoked device keeps working for minutes
InferredSelf-contained access credential checked only at renewal
Chapter 20. Identity and sessionsThe device list shows last-active times to the minute
SpeculativeSession record written on every request
Chapter 20. Identity and sessionsA new sign-in signs out an older device
ObservedLimit on concurrent sessions per account
Chapter 20. Identity and sessionsA biometric unlock succeeds in airplane mode
InferredLocal gate. The backend is not involved
Chapter 20. Identity and sessionsThe app asks for a full sign-in after the device's enrolled fingerprints or faces change
InferredKey in secure hardware that is invalidated when biometrics change
Chapter 20. Identity and sessionsSigned in immediately after a reinstall
InferredCredential kept in storage that survives an uninstall
Chapter 20. Identity and sessionsA guest receives a notification about saved items
InferredGuest session on the backend with a push registration
Chapter 20. Identity and sessionsAccount switching works offline and at once
InferredSession and local store partitioned per account
Chapter 20. Identity and sessionsActions with value are disabled or refused offline
InferredThe backend decides prices and entitlements and limits
Chapter 21. Security and trustA paid feature keeps working offline for days
InferredEntitlement cached on the client with a time limit
Chapter 21. Security and trustA total changes at the confirmation step
InferredDisplay total computed on the client and charged total computed on the backend
Chapter 21. Security and trustA validation message appears instantly and in airplane mode
InferredClient check
Chapter 21. Security and trustA validation message appears only after a round trip
InferredBackend check for a rule that needs backend data
Chapter 21. Security and trustThe same rule differs between the app and the web version
SpeculativeRule implemented once per client. What the backend enforces is unknown
Chapter 21. Security and trustScreenshots of some screens come out blank
ObservedCapture protection applied per screen
Chapter 21. Security and trustThe app's card in the app switcher is a logo or a blur
ObservedContent covered when the app leaves the foreground
Chapter 21. Security and trustThe other party is told about a screenshot
InferredCapture detection reported to the backend
Chapter 21. Security and trustA second proof passes in airplane mode
InferredLocal gate that the backend does not verify
Chapter 21. Security and trustA second proof appears for a new payee or new device only
InferredAdaptive posture with risk scoring
Chapter 21. Security and trustA resend countdown that grows with each request
InferredRate limit with increasing delay on the send endpoint
Chapter 21. Security and trustA message that names a lockout period
ObservedHard rate limit with a penalty window at the backend
Chapter 21. Security and trustA new sign-in produces an email or a notice on other devices
InferredDevice history per account and an out-of-session notification channel
Chapter 21. Security and trustAccount content visible after sign out
ObservedA store or surface that sign out does not clear
Chapter 21. Security and trustThe session is absent after a restore to a new device
InferredCredentials kept in secure hardware-backed storage that does not travel between devices
Chapter 21. Security and trustAn old version stops connecting on every network on one day
SpeculativeExpired certificate restriction list, or a forced-update gate that failed to draw
Chapter 21. Security and trustThe maker states the app does not run on modified devices
SpeculativeIntegrity check, local or verified by the backend
Chapter 21. Security and trustSeveral system prompts before the first screen
ObservedRequests made at launch from startup code
Chapter 22. Privacy, permissions and consentThe app's own screen with a not-now option before a system prompt
InferredExplanation screen that protects the single system prompt
Chapter 22. Privacy, permissions and consentNo prompt when attaching a photo
InferredSystem picker with no library access
Chapter 22. Privacy, permissions and consentA typed address works where location was refused
InferredFallback with a place-lookup service on the backend
Chapter 22. Privacy, permissions and consentA feature does nothing after a refusal
InferredNo branch for the denied state
Chapter 22. Privacy, permissions and consentA link to device settings after a refusal
InferredThe app reads the denied state and knows the prompt is spent
Chapter 22. Privacy, permissions and consentA map keeps a frozen position after revocation
InferredPermission state read once and cached
Chapter 22. Privacy, permissions and consentThe app restarts at its first screen after a settings change
InferredProcess ended by the operating system and no state restoration
Chapter 22. Privacy, permissions and consentLocation features work on approximate location
InferredBackend queries that accept a region
Chapter 22. Privacy, permissions and consentThe app suggests people you know after a contacts grant
InferredAddress book uploaded and matched on the backend
Chapter 22. Privacy, permissions and consentThe consent screen returns after a reinstall
InferredConsent stored on the device only
Chapter 22. Privacy, permissions and consentConsent choices appear already set on a second device
InferredConsent record on the backend tied to the account
Chapter 22. Privacy, permissions and consentEveryone is asked to consent again after a policy change
InferredConsent record that carries a version of the text
Chapter 22. Privacy, permissions and consentA consent screen appears in one region and not in another
SpeculativeRules chosen per region. How the region is determined cannot be told from outside
Chapter 22. Privacy, permissions and consentDeletion states a waiting period
InferredSoft deletion with a scheduled erasure job
Chapter 22. Privacy, permissions and consentAn export arrives hours later by link
InferredAsynchronous job that gathers data across services
Chapter 22. Privacy, permissions and consentA feature such as text recognition works in airplane mode
InferredProcessing on the device
Chapter 22. Privacy, permissions and consentThe store listing declares data the app never asked for
SpeculativeCollection that needs no permission
Chapter 22. Privacy, permissions and consentA persistent indicator or lock-screen controls while the app is in the background
ObservedUser-visible work declared to the operating system
Chapter 23. Background work and notificationsSeveral named notification categories in the system settings
ObservedEvent types declared to the platform and muted on the device
Chapter 23. Background work and notificationsA notification preference changed in the app also applies on a second device
InferredPreferences stored on the backend and applied before sending
Chapter 23. Background work and notificationsThe same notification arrives after a force-quit
InferredSystem-displayed notification with text written by the backend
Chapter 23. Background work and notificationsA plainer notification after a force-quit or in low-power mode
InferredApp-built notification with fallback text in the payload
Chapter 23. Background work and notificationsNo notification after a force-quit
InferredApp-built notification that depends on a push wake
Chapter 23. Background work and notificationsA notification shows a contact name that exists only on this device
InferredApp-built notification composed from local data
Chapter 23. Background work and notificationsReadable message text in a notification from an app with end-to-end encryption
InferredContent decrypted on the device by a short-lived process before display
Chapter 23. Background work and notificationsA notification image that is missing on a weak network
InferredImage downloaded on the device under a deadline before display
Chapter 23. Background work and notificationsA reply sent from a notification without the app opening
InferredNotification action that runs a mutation in a short background window
Chapter 23. Background work and notificationsA notification disappears after the item is read on another device
InferredWithdrawal push handled by a push wake
Chapter 23. Background work and notificationsThe badge changes while the app is force-quit
InferredBadge count computed on the backend and carried in the payload
Chapter 23. Background work and notificationsThe badge disagrees with the unread count inside the app
SpeculativeTwo sources for the count, one on the backend and one on the client
Chapter 23. Background work and notificationsA notification changes its text in place instead of adding a new one
InferredReplacement key shared by successive pushes
Chapter 23. Background work and notificationsA reminder fires on time in airplane mode
InferredLocal notification scheduled on the device
Chapter 23. Background work and notificationsA reminder fires for something already completed on another device
InferredLocal notification that no wake reached to cancel
Chapter 23. Background work and notificationsOne notification after a long offline period in which several events happened
SpeculativeReplacement key, or a push service that stores only the latest message
Chapter 23. Background work and notificationsFresh content offline after days without opening the app
InferredDeferred task or push wake that refreshes the local store
Chapter 23. Background work and notificationsThe location indicator appears briefly when a screen opens
InferredOne reading on demand
Chapter 24. Location, sensors and hardwareThe location indicator is on only while one screen is open
InferredContinuous updates owned by that screen
Chapter 24. Location, sensors and hardwareThe location indicator stays on for every screen
InferredAn app-wide subscription, or one that is never stopped
Chapter 24. Location, sensors and hardwareA persistent location marker while the app is in the background
ObservedContinuous background location as user-visible work
Chapter 24. Location, sensors and hardwareBrief occasional location use while the app is unopened
SpeculativeRegion monitoring or coarse movement updates
Chapter 24. Location, sensors and hardwareA place-based reminder that fires late or a few streets away
InferredRegion monitoring from low-power sources
Chapter 24. Location, sensors and hardwareLocal content with location denied and no address asked for
InferredRegion guessed on the backend from the network address
Chapter 24. Location, sensors and hardwareA pinpoint in the wrong place when only approximate location is granted
InferredNo check of the precision received
Chapter 24. Location, sensors and hardwareA recorded route with a scribble of points where you stood still
InferredNo filter on accuracy or minimum distance
Chapter 24. Location, sensors and hardwareThe saved route follows the road where you cut a corner
InferredPoints snapped to roads on the backend after upload
Chapter 24. Location, sensors and hardwareA watched marker freezes and then jumps to a new place
InferredReadings not buffered, or only the latest position forwarded
Chapter 24. Location, sensors and hardwareA route walked offline appears in full on another device
InferredReadings buffered in the local store and uploaded in batches
Chapter 24. Location, sensors and hardwareSteps for days before the app was installed
InferredStep history read from platform services
Chapter 24. Location, sensors and hardwareA step count that differs from the device's own health screen
InferredSteps counted in the app from raw motion data
Chapter 24. Location, sensors and hardwareThe device's own capture screen appears inside the app with no camera prompt
ObservedCapture handed to the system
Chapter 24. Location, sensors and hardwareA code is recognized offline and then an error appears
InferredRecognition on the device and resolution on the backend
Chapter 24. Location, sensors and hardwareAccessory data is already present on opening the app
InferredBackground wake when the accessory is in range or has data
Chapter 24. Location, sensors and hardwareA password is required after enrolling a new fingerprint or face
InferredKey in secure hardware-backed storage bound to the enrolled set
Chapter 24. Location, sensors and hardwareA widget shows account data with the app force-quit and the device offline
InferredShared storage area read by the widget process
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget is already updated when you leave the app
InferredMain app requests a widget reload on every data change
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget follows a change from another device within a minute
InferredPush-driven widget reload
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget changes only after the app is opened
InferredWidget fed only by the main app with no requests of its own
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget countdown or agenda advances on time in airplane mode
InferredTimeline of snapshots swapped by the system
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget prints the time its data was fetched
ObservedData age shown because refreshes are budgeted
Chapter 25. Platform surfaces: widgets, wearables and extensionsA widget still shows data after sign-out
InferredStored snapshot not reloaded at sign-out
Chapter 25. Platform surfaces: widgets, wearables and extensionsA lock-screen widget is blank after a restart until the first unlock
InferredWidget data or session held in storage that is closed before first unlock
Chapter 25. Platform surfaces: widgets, wearables and extensionsA live status keeps advancing after a force-quit
InferredDedicated push per activity drawn by the system
Chapter 25. Platform surfaces: widgets, wearables and extensionsA live status remains long after the activity ended
InferredFinal update lost and removal left to the platform time limit
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe watch app asks for the phone
ObservedRemote control relayed through the phone
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe watch app shows new data with the phone switched off
InferredWatch with its own session and backend calls
Chapter 25. Platform surfaces: widgets, wearables and extensionsA shared item reaches other devices without the main app opening
InferredShare extension with its own session and upload
Chapter 25. Platform surfaces: widgets, wearables and extensionsA shared item appears only after the main app is opened
InferredOutbox in the shared storage area sent by the main app
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe share sheet vanishes when sharing a large item
InferredExtension loads content into memory and passes its limit
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe share extension asks for sign-in while the app is signed in
InferredSession not placed in shared secure storage
Chapter 25. Platform surfaces: widgets, wearables and extensionsVideo on a television continues with the phone locked
InferredTelevision fetches the stream from media delivery itself
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe account settings list the watch or television as a separate device
InferredA session or credential per surface
Chapter 25. Platform surfaces: widgets, wearables and extensionsThe paywall small print names your store account and automatic renewal
ObservedStore billing for digital goods
Chapter 26. Payments and subscriptionsA system sheet that looks the same in every app asks you to confirm
ObservedThe purchase runs in platform services and the app never sees a payment method
Chapter 26. Payments and subscriptionsCheckout opens a page in a different visual style
InferredHosted payment screen run by an external payment provider
Chapter 26. Payments and subscriptionsA saved card is shown as a brand and four digits
InferredBackend stores a payment token and display details
Chapter 26. Payments and subscriptionsThe order shows as processing for a while after you pay
InferredConfirmation arrives later from the provider to the backend, and the client shows a pending state
Chapter 26. Payments and subscriptionsThe order confirms while the app is on another screen or closed
InferredProvider callback to the backend, then a push hint or notification to the client
Chapter 26. Payments and subscriptionsYour bank's own screen or app interrupts the payment
ObservedBank challenge handled as a waiting state of the payment
Chapter 26. Payments and subscriptionsA canceled checkout leaves an unpaid order in history
InferredPayment record created on the backend before the payment surface opens
Chapter 26. Payments and subscriptionsTapping pay twice or retrying after a timeout produces one charge
SpeculativeIdempotency key on payment creation
Chapter 26. Payments and subscriptionsA purchase made on one platform unlocks the other after sign-in
InferredEntitlements stored on the backend against the app account
Chapter 26. Payments and subscriptionsA second device stays locked until restore purchases is tapped
InferredEntitlement follows the store account, and the backend learns of it from a receipt
Chapter 26. Payments and subscriptionsPaid features keep working in airplane mode
InferredCached entitlement with an expiry time
Chapter 26. Payments and subscriptionsThe app shows a renewal or expiry date that matches the store's settings
InferredBackend mirrors subscription state from the store
Chapter 26. Payments and subscriptionsA banner asks you to update your payment method while features still work
InferredGrace period after a failed renewal
Chapter 26. Payments and subscriptionsThe cancel control leaves the app for the store's settings
ObservedThe store owns the subscription lifecycle
Chapter 26. Payments and subscriptionsThe app says to manage the subscription where you bought it
InferredBackend records the originating route for each subscription
Chapter 26. Payments and subscriptionsPrices are missing on the paywall when offline
InferredPrices fetched live from the store's catalog or the backend
Chapter 26. Payments and subscriptionsA refund shows as pending for days
InferredRefund is its own state machine at the provider and the bank
Chapter 26. Payments and subscriptionsA sponsored label on some items in a feed
ObservedNative ads inserted into the list by the backend or by the client
Chapter 27. Ads, attribution and growthA full-screen ad appears with no delay at a break in the flow
InferredThe ad was loaded ahead of display
Chapter 27. Ads, attribution and growthA rewarded ad control that starts disabled and becomes ready
InferredReadiness state of a preloaded ad bound to the control
Chapter 27. Ads, attribution and growthAn ad slot that stays empty while the rest of the screen loads
InferredNo fill. Every ad source declined or timed out
Chapter 27. Ads, attribution and growthContent jumps down when an ad arrives
InferredAd slot with no reserved space
Chapter 27. Ads, attribution and growthAd load time varies widely between requests
SpeculativeSeveral ad sources asked in turn or in an auction
Chapter 27. Ads, attribution and growthAds differ in visual style and close-button behavior from one showing to the next
InferredMore than one ad source behind one ad slot
Chapter 27. Ads, attribution and growthThe same placeholder promotion for the app's own products fills gaps
InferredHouse ads as the fallback when no paid ad fills
Chapter 27. Ads, attribution and growthA full-screen ad appears every fixed number of actions
InferredCount-based frequency limit
Chapter 27. Ads, attribution and growthFewer slots are filled after you decline tracking
InferredConsent state passed to ad sources that bid less without an identity
Chapter 27. Ads, attribution and growthA consent screen appears before the first ad on a fresh install
ObservedConsent gate ahead of ad initialization
Chapter 27. Ads, attribution and growthA fresh install from an invitation opens on the inviter or the invited content
InferredDeferred deep link
Chapter 27. Ads, attribution and growthThe app asks where you heard about it during onboarding
InferredSelf-reported attribution to supplement what matching cannot see
Chapter 27. Ads, attribution and growthA referral reward arrives only after the new account completes an action
InferredReferral record with a qualifying event, checked on the backend
Chapter 27. Ads, attribution and growthPeople you know are suggested right after you grant contacts access
InferredContact matching on the backend
Chapter 27. Ads, attribution and growthThe app's own question about enjoyment comes before the system rating dialog
ObservedPre-prompt that routes unhappy users to feedback
Chapter 27. Ads, attribution and growthNotifications arrive at set intervals after you stop using the app
InferredRe-engagement schedule keyed to last use
Chapter 27. Ads, attribution and growthHome screen promotions change without an app update
InferredPromotional content from the backend or remote config
Chapter 27. Ads, attribution and growthSearch returns results in airplane mode
InferredLocal filter or on-device index
Chapter 28. Search and discoveryOffline search finds items never opened on the device
InferredOn-device index over a local replica
Chapter 28. Search and discoveryResults update on every letter with no delay on a weak connection
InferredThe matching runs on the device
Chapter 28. Search and discoveryResults arrive in a batch shortly after typing stops
InferredDebouncing in front of a backend search
Chapter 28. Search and discoverySome rows update per letter and others arrive later
InferredHybrid search that merges local and backend results
Chapter 28. Search and discoveryResults for an earlier query stay under the current text
ObservedResponses drawn in arrival order with no tag check
Chapter 28. Search and discoveryA misspelled word still finds the item
InferredA search index that tolerates small spelling differences
Chapter 28. Search and discoveryA line states that results are shown for a corrected query
ObservedQuery rewriting on the backend
Chapter 28. Search and discoveryResults share no words with the query
SpeculativeMatching by meaning on the backend. The model cannot be determined from outside
Chapter 28. Search and discoveryA new item is found only after a delay on every device
InferredBackend search index updated asynchronously
Chapter 28. Search and discoveryA new item is found at once on the creating device only
InferredThe creating device searches its own local store
Chapter 28. Search and discoveryA deleted item appears in results and fails to open
InferredThe index lags the store and results are not checked against it
Chapter 28. Search and discoveryCounts beside filter values change as other filters are applied
InferredFaceted query on the backend per filter change
Chapter 28. Search and discoveryA filter leaves a very short list with no further pages
InferredFilter applied on the client to one page of results
Chapter 28. Search and discoveryRecent searches appear on a second device
ObservedQuery history stored on the backend per account
Chapter 28. Search and discoveryTwo accounts get a different order for the same query
SpeculativePersonal ranking, or two experiment groups
Chapter 28. Search and discoverySpoken words appear as text in airplane mode
ObservedSpeech to text on the device
Chapter 28. Search and discoverySearch is incomplete shortly after sign-in or an update and complete later
InferredOn-device index being built or rebuilt
Chapter 28. Search and discoveryA smart feature works unchanged in airplane mode
ObservedOn-device model
Chapter 29. Personalization and on-device intelligenceA smart feature fails in airplane mode
InferredBackend model
Chapter 29. Personalization and on-device intelligenceA first result appears at once and is revised a moment later
InferredSplit between an on-device model and a backend model
Chapter 29. Personalization and on-device intelligenceResponse time is the same on strong and weak connections
InferredNo request on the path
Chapter 29. Personalization and on-device intelligenceStorage grows sharply after a feature is enabled
InferredModel downloaded as an asset
Chapter 29. Personalization and on-device intelligenceA feature shows a preparing state on first use
InferredModel asset fetched after install
Chapter 29. Personalization and on-device intelligenceA feature exists on one phone and not on another with the same app version
InferredFeature or model chosen by device class through remote config
Chapter 29. Personalization and on-device intelligenceA feature improves while the app version stays the same
SpeculativeA backend model, or a model asset updated without a release
Chapter 29. Personalization and on-device intelligenceA new account sees the same popular content as other new accounts
InferredDefault ranking for accounts without history
Chapter 29. Personalization and on-device intelligenceA new account fits you before you have done anything
SpeculativeContext, imported contacts or data from before sign-up
Chapter 29. Personalization and on-device intelligenceThe list adapts while you scroll with no refresh
InferredReordering on the device or recent actions sent with each page request
Chapter 29. Personalization and on-device intelligenceA refresh seconds later reflects what you just did
InferredBackend model inputs updated from a stream of events
Chapter 29. Personalization and on-device intelligenceThe surface changes only the next day
InferredBatch computation of profiles or results
Chapter 29. Personalization and on-device intelligenceWhat the app learned is present on a new device at once
InferredProfile stored on the backend
Chapter 29. Personalization and on-device intelligencePhoto search finds new photos only after hours
InferredOn-device analysis run as background work
Chapter 29. Personalization and on-device intelligenceAssistant text stalls and resumes with the network
InferredResponse streamed from a backend model
Chapter 29. Personalization and on-device intelligenceAn assistant recalls a fact from a different conversation
InferredPer-account record added to the model inputs on the backend
Chapter 29. Personalization and on-device intelligenceTurning personalization off changes the surface on the next refresh
ObservedSetting checked at request time
Chapter 29. Personalization and on-device intelligenceA control or section changes while the app is open and the version is unchanged
InferredRemote config applied live
Chapter 30. Remote config and experimentsA feature is absent on the first launch after install and present on the second
InferredConfig cached and applied on the next launch over shipped defaults
Chapter 30. Remote config and experimentsSplash length follows network speed and the first launch already has every feature
SpeculativeConfig fetched before the first screen
Chapter 30. Remote config and experimentsA screen differs after a refresh with no relaunch
SpeculativeFlag evaluated on the backend per request
Chapter 30. Remote config and experimentsA feature named in release notes arrives days later with no update
InferredCode shipped turned off and released by a feature flag in a staged rollout
Chapter 30. Remote config and experimentsTwo matched accounts show the same feature in different forms
InferredExperiment with variants assigned at random
Chapter 30. Remote config and experimentsOne of two matched accounts has a feature the other lacks
InferredFeature flag set per account in a staged rollout
Chapter 30. Remote config and experimentsTwo devices of one account differ and agree after each is relaunched
InferredCached config of different ages with assignment by account
Chapter 30. Remote config and experimentsTwo devices of one account differ after both are relaunched
InferredAssignment by installation, or targeting by device class
Chapter 30. Remote config and experimentsThe variant changes after a reinstall
InferredAssignment keyed to an installation identifier
Chapter 30. Remote config and experimentsFeatures shift a moment after sign-in
InferredConfig fetched again for the account after an anonymous fetch
Chapter 30. Remote config and experimentsScreens before sign-in vary between installs and signed-in screens do not
InferredAssignment by installation before sign-in and by account after
Chapter 30. Remote config and experimentsA fresh install opens in airplane mode with fewer or different features
InferredShipped defaults used when nothing is cached
Chapter 30. Remote config and experimentsA feature disappears for everyone at the same version and nothing else changes
SpeculativeKill switch or rollback of a staged rollout
Chapter 30. Remote config and experimentsA feature exists under one region setting and not under another
InferredFeature flag targeted by region
Chapter 30. Remote config and experimentsA button is shown and the backend answers that the feature is not available
InferredFlag evaluated on both client and backend with the two out of step
Chapter 30. Remote config and experimentsEvery version fails at the same moment and recovers with no update
SpeculativeA bad config value or a backend fault, corrected on the backend
Chapter 30. Remote config and experimentsKnown blocks reorder or come and go with no app update
InferredBackend-ordered sections or a component list
Chapter 31. Server-driven UIA new kind of block appears with no app update
SpeculativeLayout description or embedded web content
Chapter 31. Server-driven UIThe order of blocks differs between two refreshes
InferredStructure sent with the data in a screen-describing response
Chapter 31. Server-driven UIThe structure switches once and then holds for weeks
SpeculativeA feature flag between built-in layouts, or a description that is seldom edited
Chapter 31. Server-driven UIA whole new screen appears with no app update and is made of familiar blocks
InferredComponent list drawn from a catalog in the app
Chapter 31. Server-driven UIUnrelated screens share one exact visual oddity
InferredShared component catalog and one renderer
Chapter 31. Server-driven UIAn old version shows the current structure of a screen
InferredStructure decided by the backend
Chapter 31. Server-driven UIAn old version lacks a block with no gap
InferredUnknown component filtered by the backend or skipped by the client
Chapter 31. Server-driven UIAn old version shows an update card among normal cards
InferredClient fallback for an unknown component
Chapter 31. Server-driven UIAn old version shows an older layout of the whole screen
InferredFixed screen whose layout ships in the app
Chapter 31. Server-driven UIOffline the screen is a generic error with no frame of its own
SpeculativeLayout held on the backend and not cached, or embedded web content
Chapter 31. Server-driven UIOffline the screen keeps its frame and shows an error inside it
InferredLayout held in the app
Chapter 31. Server-driven UIOne position on a screen leads to different kinds of destination over time
InferredActions and navigation described by the backend
Chapter 31. Server-driven UIA control shows a loading state and its section redraws
InferredBackend re-describes the section on each interaction
Chapter 31. Server-driven UITwo platforms show the same blocks in the same order and change on the same day
InferredOne backend description drawn by each platform's catalog
Chapter 31. Server-driven UISelectable text and a thin progress bar and a whole-view reload on one screen
InferredEmbedded web content
Chapter 31. Server-driven UIA screen asks you to sign in again inside the app
InferredEmbedded web content without a shared session
Chapter 31. Server-driven UIA layout is broken for all users and fixed with no update
SpeculativeA description published and corrected on the backend
Chapter 31. Server-driven UIA long-press selects a label, heading or button caption
InferredEmbedded web content
Chapter 32. UI technology: native, cross-platform and webA long-press on a link opens a preview or a menu about the link
InferredEmbedded web content
Chapter 32. UI technology: native, cross-platform and webA thin progress bar runs under the title while the screen loads
InferredEmbedded web content loading a page
Chapter 32. UI technology: native, cross-platform and webPull to refresh blanks and reloads the whole screen
InferredEmbedded web content reloading a document
Chapter 32. UI technology: native, cross-platform and webOne screen is blank offline while the others draw their layout
InferredEmbedded web content served from the network
Chapter 32. UI technology: native, cross-platform and webA web-style screen draws fully offline
InferredWeb content bundled in the app or cached
Chapter 32. UI technology: native, cross-platform and webA sign-in form appears inside a signed-in app
InferredEmbedded web content with no session handed over the bridge
Chapter 32. UI technology: native, cross-platform and webA website header, footer or consent banner appears inside the app
ObservedThe public website shown without an in-app variant
Chapter 32. UI technology: native, cross-platform and webThe screen reader announces headings, links and landmarks
InferredEmbedded web content
Chapter 32. UI technology: native, cross-platform and webThe screen reader finds one region or nothing
InferredA game engine or a self-drawn surface with no accessibility support
Chapter 32. UI technology: native, cross-platform and webFocus outlines sit slightly off the visible controls
SpeculativeA self-drawn toolkit publishing a parallel accessibility structure
Chapter 32. UI technology: native, cross-platform and webPixel-identical screens on both platforms, including controls and typeface
InferredA self-drawn toolkit, embedded web content or a game engine
Chapter 32. UI technology: native, cross-platform and webThe same layout on both platforms with each platform's own controls
SpeculativeA mapped toolkit, or two teams on one design system
Chapter 32. UI technology: native, cross-platform and webControls keep an old look after the operating system restyles its own
SpeculativeImitated controls in a self-drawn toolkit
Chapter 32. UI technology: native, cross-platform and webSelection handles or the text menu differ from the system's
SpeculativeText handling rebuilt by a self-drawn toolkit
Chapter 32. UI technology: native, cross-platform and webSome screens follow the system text size and others do not
SpeculativeMixed families, or uneven adoption within one
Chapter 32. UI technology: native, cross-platform and webBlank rows during a hard fling on a list with system scrolling feel
SpeculativeA mapped toolkit producing rows apart from the UI
Chapter 32. UI technology: native, cross-platform and webA simple app is far larger than its peers and pauses before the first frame
SpeculativeA bundled runtime or drawing engine
Chapter 32. UI technology: native, cross-platform and webThe version history shows releases at a steady short interval
InferredRelease train on a fixed schedule
Chapter 33. Releases and compatibilityRelease notes repeat the same generic text
SpeculativeFeatures released by flags and not tied to versions
Chapter 33. Releases and compatibilityRelease notes say a feature reaches users gradually
ObservedStaged rollout of a feature by flag, as stated by the maker
Chapter 33. Releases and compatibilityTwo versions within two days and the second names only fixes
InferredBad release repaired by shipping forward
Chapter 33. Releases and compatibilityTwo of your devices are offered one update days apart
SpeculativeStaged rollout of a version by the store
Chapter 33. Releases and compatibilityA dismissible message about a newer version
ObservedSoft prompt driven by a recommended version
Chapter 33. Releases and compatibilityA screen that blocks the app until it is updated
ObservedForced-update gate below the minimum supported version
Chapter 33. Releases and compatibilityAn update downloads inside the app and then asks to restart
ObservedUpdate flow offered by the platform for a store release
Chapter 33. Releases and compatibilityAn identifier in the about screen changes between store updates
InferredNon-compiled code or content delivered outside the store
Chapter 33. Releases and compatibilityAn old version works and shows placeholders for newer content
InferredAdditive interface with a client fallback
Chapter 33. Releases and compatibilityAn old version fails everywhere with no mention of updating
InferredSupport dropped for a version that has no gate
Chapter 33. Releases and compatibilityOne feature on an old version says to update and the rest works
InferredFeature gated by version
Chapter 33. Releases and compatibilityA feature announced later works on an older version
InferredCode shipped earlier and turned on by a flag, or built by the backend from known parts
Chapter 33. Releases and compatibilityOne long launch with an updating message after an update
InferredMigration of the local store in place
Chapter 33. Releases and compatibilityContent loads from scratch after an update while the session survives
InferredLocal data discarded and rebuilt from the backend
Chapter 33. Releases and compatibilityThe app closes at every launch after an update until reinstalled
InferredFailed migration of the local store
Chapter 33. Releases and compatibilityA gate says to update and the store offers no update
InferredMinimum supported version above what the device can install
Chapter 33. Releases and compatibilityA feature vanishes for days and returns after an update
SpeculativeKill switch followed by a fixed version
Chapter 33. Releases and compatibilitySettings offer a control for usage data or diagnostics
ObservedA consent gate in front of at least one client channel
Chapter 34. ObservabilitySeparate controls for crash reports and for usage data
InferredCrash reporting and analytics are separate channels with separate consent
Chapter 34. ObservabilityThe store privacy listing declares diagnostics or usage data
ObservedThe maker states that the channel exists. A declaration, not an observation of traffic
Chapter 34. ObservabilityA usage-data setting says it applies after a restart
InferredThe recorder reads consent once at startup
Chapter 34. ObservabilityThe feedback form says it attaches logs
InferredA bounded log kept on the device and uploaded on demand
Chapter 34. ObservabilityThe feedback form lists device model and versions
ObservedContext is collected at the moment of the report
Chapter 34. ObservabilityA report prompt appears after a screenshot or a shake
ObservedA report trigger installed at app level
Chapter 34. ObservabilityA prompt to send a report on the launch after a crash
ObservedCrash file written at failure and uploaded on the next launch
Chapter 34. ObservabilityAn offer to restore your place after an unexpected close
InferredThe client detects an unclean end to the previous run
Chapter 34. ObservabilityA small amount of data used on a day the app was not opened
SpeculativeBackground upload, config check, sync or push handling. The channel cannot be identified
Chapter 34. ObservabilityData sent after reconnecting from a read-only offline session
SpeculativeA durable event queue drained in the background
Chapter 34. ObservabilityStartup hangs on a poor network and is fast in airplane mode
SpeculativeAn upload or config call on the launch path without a short timeout
Chapter 34. ObservabilityStorage grows in an app that caches little
SpeculativeAn unbounded queue or log
Chapter 34. ObservabilityA support agent asks you to reproduce a problem after enabling diagnostics
InferredPer-user detail raised by remote config
Chapter 34. ObservabilityWarmth and stutter on simple screens
SpeculativePossibly a recorder capturing frames. Many other causes fit
Chapter 34. ObservabilityThe privacy policy names analytics or crash providers
ObservedThird parties receive the data. Stated by the maker
Chapter 34. ObservabilityA feature shows a download indicator the first time it is opened
ObservedOn-demand resources left out of the install
Chapter 35. Performance and resource budgetsThe same listing shows a different size on another device
InferredThe store delivers only the resources that match each device
Chapter 35. Performance and resource budgetsThe storage figure rises for some days and then holds
InferredBounded caches with eviction
Chapter 35. Performance and resource budgetsThe storage figure rises without limit
SpeculativeA cache, log or queue with no bound
Chapter 35. Performance and resource budgetsThe app restarts on return more often than other apps on the same device
InferredHigh memory held in the background and not released on a warning
Chapter 35. Performance and resource budgetsThe app closes on a media-heavy screen
SpeculativeForeground memory limit exceeded. Full-size images or no view recycling
Chapter 35. Performance and resource budgetsFast scrolling is smooth and placeholders fill in afterwards
InferredView recycling with decoding off the main thread
Chapter 35. Performance and resource budgetsScrolling stutters as each new image arrives
InferredDecoding or parsing on the main thread
Chapter 35. Performance and resource budgetsScrolling slows deep in a long list
InferredRows or images accumulate in memory
Chapter 35. Performance and resource budgetsBackground battery use with no background feature in use
SpeculativeFrequent wake-ups from polling, location or unscheduled tasks
Chapter 35. Performance and resource budgetsData use far above what was watched or read
InferredPrefetching or autoplay not limited on a metered network
Chapter 35. Performance and resource budgetsContent is already fresh on opening and background data is notable
InferredBackground refresh that spends data and battery to save time
Chapter 35. Performance and resource budgetsAutoplay and animations stop in low-power mode
ObservedA budget policy that reads the device's power state
Chapter 35. Performance and resource budgetsQuality or frame rate steps down smoothly during long demanding use
InferredThe app responds to the thermal state
Chapter 35. Performance and resource budgetsSudden stutter and a dimmed screen after minutes of load
InferredThe operating system throttled the device and the app did not adapt
Chapter 35. Performance and resource budgetsA small install whose screens all need the network
InferredApp size saved by moving content or layout to the backend
Chapter 35. Performance and resource budgetsInstant opening with fresh content and high figures for data and battery
InferredAggressive prefetching and background refresh
Chapter 35. Performance and resource budgetsThe same maker lists a second smaller app for the same product
ObservedA separate small variant on a shared backend
Chapter 36. Constrained devices and networksOne account shows the same data in the variant and the full app
InferredOne API serving two clients
Chapter 36. Constrained devices and networksA feature works offline in the full app and needs the network in the variant
InferredThe variant moves that processing to the backend
Chapter 36. Constrained devices and networksThe variant has a lower minimum operating system version than the full app
InferredThe variant is the route for old devices
Chapter 36. Constrained devices and networksSettings offer media and download choices by network type
InferredAn adaptation policy that separates network cost from speed
Chapter 36. Constrained devices and networksA screen in the app reports data it has used
InferredThe network client meters its own traffic
Chapter 36. Constrained devices and networksMedia is reduced when the device data-saver mode is on
ObservedThe app feeds the device setting into its adaptation policy
Chapter 36. Constrained devices and networksText appears before media on a weak connection
InferredText-first ordering with media ranked lower in the request queue
Chapter 36. Constrained devices and networksImages arrive blurred and then sharpen
InferredStaged media with a tiny preview, then a rendition sized to the display
Chapter 36. Constrained devices and networksDownload controls or videos are labeled with their size
ObservedThe cost is shown before it is spent
Chapter 36. Constrained devices and networksQuality follows the network type and not its real speed
InferredNetwork class taken from type instead of measurement
Chapter 36. Constrained devices and networksQuality flips every few seconds at the edge of coverage
InferredA network estimator with no damping
Chapter 36. Constrained devices and networksEffects or features are missing on an older device with the same account
InferredDevice class with features set by class
Chapter 36. Constrained devices and networksThe app has a storage screen listing sizes by kind
ObservedThe app meters its own storage and bounds it per kind
Chapter 36. Constrained devices and networksA text message repeats a notification some time after the event
InferredFallback from platform push on a missing acknowledgment
Chapter 36. Constrained devices and networksA notification and a text message arrive together
SpeculativeBoth channels sent without checking for an acknowledgment
Chapter 36. Constrained devices and networksThe store offers an older version of the app on an old device
ObservedMinimum operating system version raised and old clients left in service
Chapter 36. Constrained devices and networksText jumps as images load on a slow connection
InferredLayout does not reserve space because responses carry no image dimensions
Chapter 36. Constrained devices and networksAn icon control is announced as button with no name
ObservedA control with no accessibility label
Chapter 37. Accessibility and global reachA list row takes several swipes to pass with the screen reader
ObservedRow contents published as separate elements with no grouping
Chapter 37. Accessibility and global reachScreen reader focus reaches the screen behind a modal
InferredA modal drawn over content that was not marked inactive
Chapter 37. Accessibility and global reachText is clipped or overlaps at large text sizes
InferredSystem text styles on fixed-height layouts
Chapter 37. Accessibility and global reachText grows a little and then stops
InferredA cap on text scaling set by the app
Chapter 37. Accessibility and global reachOne screen stays light when the device is dark
InferredA screen outside the shared color definitions. Often embedded web content or a third-party screen
Chapter 37. Accessibility and global reachThe app's theme changes only through its own setting
ObservedApp-driven appearance
Chapter 37. Accessibility and global reachCustom animations continue with reduced motion on
InferredMotion defined per screen with no central setting
Chapter 37. Accessibility and global reachLabels change language at once offline
InferredBundled text
Chapter 37. Accessibility and global reachSection titles stay in the old language after a language switch
InferredBackend text in a screen-describing response
Chapter 37. Accessibility and global reachError messages stay in the old language
InferredErrors worded by the backend
Chapter 37. Accessibility and global reachA notification arrives in the old language
InferredPush text composed on the backend from a stored account language
Chapter 37. Accessibility and global reachA single label is in a different language from the rest of the screen
InferredPer-string fallback to the team's default language
Chapter 37. Accessibility and global reachAn arrow or animation points the wrong way in a right-to-left language
ObservedA hard-coded left or right in an otherwise mirrored layout
Chapter 37. Accessibility and global reachA price ignores the device's region format
InferredPrices sent by the backend as finished strings
Chapter 37. Accessibility and global reachTimestamps do not shift when the time zone changes
SpeculativeTimes formatted on the backend or stored as local text
Chapter 37. Accessibility and global reachA date of birth or due date shows one day early
InferredA calendar date stored as an instant
Chapter 37. Accessibility and global reachSelection or typed text is lost on rotation or unfolding
InferredState held in views that are rebuilt on a size change
Chapter 37. Accessibility and global reachLook, loading, errors and offline behavior all change at the same border between two areas
InferredA boundary between two teams and their feature modules
Chapter 38. Modularity, SDKs and team scaleEvery button, row and empty state matches across dozens of screens
InferredA shared design system with a team that maintains it
Chapter 38. Modularity, SDKs and team scaleA new visual style reaches every screen in one release
InferredUI components defined once in a shared module
Chapter 38. Modularity, SDKs and team scaleA redesign spreads screen by screen over many releases
InferredNo shared component module. Each team restyles by hand
Chapter 38. Modularity, SDKs and team scaleA change made in one area is stale in another
InferredSeparate copies per feature module with no shared store across the boundary
Chapter 38. Modularity, SDKs and team scaleA download indicator on the first open of a feature only, and the app grows afterwards
SpeculativeAn on-demand module or a downloaded asset
Chapter 38. Modularity, SDKs and team scaleA feature cannot be opened for the first time offline, though it needs no data
InferredCode or assets for the feature are not in the installed package
Chapter 38. Modularity, SDKs and team scaleThe licenses screen names a library
ObservedThe maker states that the app includes it
Chapter 38. Modularity, SDKs and team scaleThe licenses screen names two libraries for the same job
SpeculativeTeams that chose dependencies separately, or a migration in progress
Chapter 38. Modularity, SDKs and team scaleThe store's privacy listing declares tracking across other companies' apps
InferredAn advertising or attribution SDK
Chapter 38. Modularity, SDKs and team scaleA payment sheet, chat or ad that does not match the app's controls
InferredA screen supplied by a third-party SDK
Chapter 38. Modularity, SDKs and team scaleOne function fails alone while the rest of the app works
InferredA dependency on a third-party backend or on one team's service
Chapter 38. Modularity, SDKs and team scaleA consent prompt before the first screen
InferredAn SDK initialized at launch
Chapter 38. Modularity, SDKs and team scaleReleases every one or two weeks with generic notes
InferredA calendar-driven release process with feature flags
Chapter 38. Modularity, SDKs and team scaleThe app is far larger than peers with similar features
SpeculativeAccumulated modules and SDKs, a bundled engine or bundled assets
Chapter 38. Modularity, SDKs and team scaleIdentical edge-case behavior and wording on both platforms
SpeculativeShared logic across platforms, or one precise specification
Chapter 38. Modularity, SDKs and team scaleA feature exists on one platform and not the other for months
InferredSeparate platform teams with separate plans
Chapter 38. Modularity, SDKs and team scaleAn area asks for a second sign-in or has its own account screen
SpeculativeA separate product and backend joined to the app, often by acquisition
Chapter 38. Modularity, SDKs and team scaleA sent message keeps its place while pending and then moves below a message that arrived meanwhile
InferredPer-conversation sequence assigned by the backend and reconciled on the client
Chapter 39. MessagingA message sent offline shows a pending mark, survives a force-quit and sends later from any screen
InferredLocal store first with a durable outbox and an app-level sync engine
Chapter 39. MessagingWeak-connection retries never produce a duplicate message
SpeculativeClient-generated message id used as the idempotency key. Weak evidence, because you cannot force a lost response
Chapter 39. MessagingThe delivered mark appears only when the recipient's device comes on
InferredDelivered is an acknowledgment from a recipient device that stored the message
Chapter 39. MessagingThe delivered mark appears while every recipient device is off
InferredDelivered means the backend accepted the message
Chapter 39. MessagingReading a conversation on one device clears its unread count on your other devices
InferredRead position is synced data per user and conversation
Chapter 39. MessagingA new device shows full history while the old device is off
InferredThe backend keeps full history
Chapter 39. MessagingA new device asks for the old device or for a backup before it shows history
InferredThe device is the main copy and the backend relays
Chapter 39. MessagingA settings screen offers a backup protected by a password or key that only you hold
InferredHistory is kept by clients and the backend cannot read it
Chapter 39. MessagingA contact screen offers a code that two people compare to verify each other
SpeculativePer-device keys and end-to-end encryption. The claim itself cannot be verified from outside
Chapter 39. MessagingA notice appears in a conversation when a contact adds a device or reinstalls
InferredMessages are encrypted to each recipient device separately
Chapter 39. MessagingSearch finds year-old messages in airplane mode
InferredOn-device index over a full replica
Chapter 39. MessagingSearch shows nothing offline and old results online
InferredBackend search over content the backend can read
Chapter 39. MessagingA blurred thumbnail shows before a photo or video has downloaded
InferredA small preview travels inside the message and the media is fetched separately
Chapter 39. MessagingA text sent after a large video arrives before the video
InferredMedia uploads run on their own queue and the message is sent when its upload completes
Chapter 39. MessagingThe web or desktop version stops working when the phone is off
InferredCompanion relays through the phone
Chapter 39. MessagingStorage used by the app grows with the age of the account and not with recent use
InferredFull replica of history and media on the device
Chapter 39. MessagingTyping and presence indicators are missing in large groups
SpeculativeEphemeral events are not fanned out above a group size. One of several reasons a product may hide them
Chapter 39. MessagingThe feed from the last visit shows the moment the app opens, and newer items arrive a second later
InferredCached first screen read from disk with a refresh behind it
Chapter 40. Social feed and storiesA pull to refresh brings mostly different items each time
InferredRanked feed that builds a new session snapshot per refresh and holds back what was shown
Chapter 40. Social feed and storiesA deep scroll in a ranked feed never repeats an item
SpeculativePaging through a session snapshot by cursor, or ranking each page with shown items excluded. The two look the same
Chapter 40. Social feed and storiesA like fills in at once in airplane mode and is still there after a force-quit
InferredOptimistic update with a durable outbox
Chapter 40. Social feed and storiesA like count moves by one on your tap and jumps to a different number on the next refresh
InferredClient estimate replaced by the fetched counter
Chapter 40. Social feed and storiesLarge counts show as rounded figures
InferredCounters aggregated asynchronously and served as approximate values
Chapter 40. Social feed and storiesThe list of people who liked a post is ahead of or behind the number
InferredThe counter and the list are stored and updated separately
Chapter 40. Social feed and storiesEach image area shows its own tint or a blurred preview before the image arrives
InferredStand-in data computed at upload and carried in the feed item
Chapter 40. Social feed and storiesA post you publish appears in your own feed at once with a progress bar
InferredOptimistic item with upload, then attach
Chapter 40. Social feed and storiesOther accounts see a new post only when its media is complete
InferredUpload, then attach. The mutation waits for the media reference
Chapter 40. Social feed and storiesStories from several accounts play in airplane mode without having been opened
InferredStory media prefetched in viewing order
Chapter 40. Social feed and storiesA story watched on one device shows as seen on another
InferredSeen-state stored on the backend per viewer and author
Chapter 40. Social feed and storiesAn expired story disappears on a device that has been offline since before the limit
InferredExpiry time carried in the item data and enforced by the client
Chapter 40. Social feed and storiesPosts from an account stay in the feed for a while after you unfollow it
InferredStored feed per user filled at write time
Chapter 40. Social feed and storiesPosts from very popular accounts arrive with the same delay as any other
SpeculativeHybrid assembly, with popular accounts merged at read time. One of several explanations
Chapter 40. Social feed and storiesA sponsored post appears in the cached feed in airplane mode
InferredNative ad inserted by the backend and returned as a feed item
Chapter 40. Social feed and storiesA sponsored post fills in a moment after its neighbors and is missing offline
InferredNative ad inserted by the client from its own ad request
Chapter 40. Social feed and storiesA comment notification opens the post with the comment in view
InferredDeep link that enters the comment list at an anchor
Chapter 40. Social feed and storiesThe first second of an item is soft and the picture sharpens a moment later
InferredAdaptive streaming that starts at a low quality level
Chapter 41. Video and short-video streamingEvery swipe to the next clip starts at once
InferredThe start of the next items is preloaded while the current one plays
Chapter 41. Video and short-video streamingSeveral clips start in airplane mode without having been reached before
InferredA preload window of several items
Chapter 41. Video and short-video streamingSkipping through clips uses more data per minute than watching them
InferredPreloaded media for clips the user swiped past. The size of the difference estimates how much of each clip is fetched
Chapter 41. Video and short-video streamingFewer clips are ready ahead on cellular data or under data-saver mode
InferredAn adaptation policy that sets the preload window by network class
Chapter 41. Video and short-video streamingA swipe back to the previous clip plays at once from where it stopped
InferredThe previous item's player and buffer are kept
Chapter 41. Video and short-video streamingThe device grows warm and the app slows after a long session of swiping
SpeculativeSeveral players and decoders held at once, with no response to the thermal state
Chapter 41. Video and short-video streamingThe list of downloads states a date after which an item will no longer play
InferredProtected content with an offline license
Chapter 41. Video and short-video streamingA download refuses to play after a long time offline and asks for a connection
InferredA license that must be renewed by the backend
Chapter 41. Video and short-video streamingA second device offers to continue an item at the point the first one reached
InferredPlayback position synced through a position store on the backend
Chapter 41. Video and short-video streamingA position reached offline shows on another device once the first is back online
InferredPosition reports queued in a durable outbox
Chapter 41. Video and short-video streamingA newly published video shows a processing state before anyone can play it
InferredBackend encoding into quality levels after upload
Chapter 41. Video and short-video streamingA newly published video plays only at low quality for its first minutes
InferredQuality levels published in stages by the encoding pipeline
Chapter 41. Video and short-video streamingThe swipe feed changes subject within a few swipes of your lingering on a topic
InferredRanking per page with recent interaction events as model inputs
Chapter 41. Video and short-video streamingA clip you watched never returns after a restart of the app
InferredThe backend records what each user was shown and holds it back
Chapter 41. Video and short-video streamingA live stream runs many seconds behind an event you can watch directly
InferredSegmented delivery through media delivery
Chapter 41. Video and short-video streamingThe picture is black in the app switcher preview or on a mirrored screen
InferredProtected content decoded in a protected part of the device
Chapter 41. Video and short-video streamingSeeking shows small preview pictures along the bar before playback moves
InferredPreview thumbnails produced by the encoding pipeline and listed with the item
Chapter 41. Video and short-video streamingTitle and controls appear on the lock screen and headset buttons work
InferredPlayer runs as user-visible work and reports to the system media controls
Chapter 42. Audio streaming and podcastsA track finishes in airplane mode, and the next one starts
InferredWhole-track buffer with the next item prepared early
Chapter 42. Audio streaming and podcastsA concert album plays with no silence between tracks
InferredNext item decoded ahead and joined in the same output with padding trimmed
Chapter 42. Audio streaming and podcastsThe app offers a crossfade setting
InferredTwo items are decoded at once so the next item is always prepared early
Chapter 42. Audio streaming and podcastsA second device shows a moving progress bar for what the first is playing
InferredSynced playback state that stores a position with the time it was taken
Chapter 42. Audio streaming and podcastsStarting playback on a second device pauses the first
InferredBackend record of one active device per account
Chapter 42. Audio streaming and podcastsA control lists your other devices as places to play
InferredPresence of devices over a persistent connection and commands pushed to the chosen device
Chapter 42. Audio streaming and podcastsSettings say the app must go online every few weeks to keep downloads
InferredLicenses with an expiry that are renewed against the entitlement
Chapter 42. Audio streaming and podcastsDownloads stop playing after a subscription ends although storage use is unchanged
InferredProtected files whose license was not renewed
Chapter 42. Audio streaming and podcastsAn account screen lists devices with a limit on how many may hold downloads
InferredBackend registry of devices and their downloads
Chapter 42. Audio streaming and podcastsA new episode is on the device in the morning without the app having been opened
InferredDeferred task or push wake that hands a transfer to the operating system
Chapter 42. Audio streaming and podcastsA notification for a new episode arrives on every device within minutes of publication
InferredThe backend reads episode feeds and sends a platform push to followers
Chapter 42. Audio streaming and podcastsThe app works with no account and new episodes appear at irregular times
InferredThe device reads episode feeds itself in deferred tasks
Chapter 42. Audio streaming and podcastsThe same episode has a different length on two devices and positions land slightly off
SpeculativeThe publisher assembles the file per request. One of several possible causes
Chapter 42. Audio streaming and podcastsStorage rises with listening and then levels off while downloads stay
InferredBounded audio cache kept apart from downloads
Chapter 42. Audio streaming and podcastsThe car screen shows the library and downloads with no network
InferredBrowse lists for the car surface come from the local store
Chapter 42. Audio streaming and podcastsA watch plays downloaded items with the phone switched off
InferredWatch app that is a companion with a cache or a client that works alone
Chapter 42. Audio streaming and podcastsThe song title on a live station changes seconds before or after the music
InferredTitle text and live audio travel on separate channels
Chapter 42. Audio streaming and podcastsHome screen sections reorder or come and go between visits with no app update
InferredBackend-ordered sections or a component list assembled by a screen composer
Chapter 43. Marketplace and e-commerceA campaign page appears overnight with a layout the app has not shown before
InferredA component list, a layout description or embedded web content. P31.7 separates the last from the rest
Chapter 43. Marketplace and e-commerceA list shows one price and the product page shows another, until the list is refreshed
InferredLists are served from a cache or a search index that lags the price service
Chapter 43. Marketplace and e-commerceAn item found by search turns out to be unavailable on its product page
InferredStock in the search index is updated asynchronously and the product page reads the current value
Chapter 43. Marketplace and e-commerceFilter counts change with every filter choice
InferredA faceted query on the backend search index
Chapter 43. Marketplace and e-commerceThe cart follows the account to a second device
InferredThe cart is stored on the backend against the account
Chapter 43. Marketplace and e-commerceItems added before sign-in are still in the cart after sign-in
InferredA guest cart joined with the account cart by a cart merge
Chapter 43. Marketplace and e-commerceThe cart reports that a price changed since the item was added
InferredThe cart stores references and the last shown price and is repriced on every read
Chapter 43. Marketplace and e-commerceThe order total waits for the network after a quantity change
InferredThe backend computes totals and the client displays them
Chapter 43. Marketplace and e-commerceCheckout returns to the same step with the same choices after a force-quit
InferredCheckout state is stored outside the flow's screens
Chapter 43. Marketplace and e-commerceThe order list shows an unpaid or awaiting-payment order after an abandoned payment
InferredThe order is created on the backend before the payment surface opens
Chapter 43. Marketplace and e-commerceAfter paying the screen says the payment is being confirmed and then changes by itself
InferredThe backend waits for the provider callback and the client learns of the result by a push hint or polling
Chapter 43. Marketplace and e-commerceAn order status changes on the open order screen with no gesture
InferredReal-time delivery of order events to the foreground app
Chapter 43. Marketplace and e-commerceA notification announces a delivery step and the order screen already shows it offline
InferredA push hint woke the client and it pulled the order into its local store
Chapter 43. Marketplace and e-commerceTwo accounts see different banners or a different checkout layout on the same version
SpeculativeAn experiment or targeting. A difference in price alone has other explanations, such as region or membership
Chapter 43. Marketplace and e-commerceEach listing names a seller and the order splits into several shipments with separate statuses
InferredA two-sided marketplace in which one payment covers several seller orders
Chapter 43. Marketplace and e-commerceA review you post is visible to you at once and to another account only later
InferredReviews pass through moderation or an asynchronous index before they are public
Chapter 43. Marketplace and e-commerceProduct photos sharpen in steps and zoom loads a larger image
InferredImage variants per size served by media delivery
Chapter 43. Marketplace and e-commerceThe trip screen reappears after a force-quit with a state that advanced while the app was closed
InferredThe backend owns the trip as a state machine and every client only displays it
Chapter 44. On-demand services: rides and deliveryA second device shows the same trip state within seconds of the first
InferredOne trip record on the backend with fan-out to every watcher
Chapter 44. On-demand services: rides and deliveryA provider is assigned while the customer's device is locked
InferredMatching and dispatch run on the backend and the client waits on the result
Chapter 44. On-demand services: rides and deliveryThe provider marker glides smoothly and now and then corrects its heading in a small step
InferredPositions arrive every few seconds and the client animates between them
Chapter 44. On-demand services: rides and deliveryThe marker follows the road even where a raw position would drift onto buildings
SpeculativePositions are snapped to roads, on the backend or on the customer's client
Chapter 44. On-demand services: rides and deliveryThe marker keeps moving while the customer's device is offline
InferredThe client predicts movement along the planned route
Chapter 44. On-demand services: rides and deliveryThe marker freezes for a while and then moves along the missed roads
SpeculativeThe provider's app buffered readings through a network gap and uploaded them as a batch
Chapter 44. On-demand services: rides and deliveryA state such as delivered appears late and carries an earlier time than the moment it appeared
InferredThe provider's app queued the state change offline with the device's time, and the backend accepted it later
Chapter 44. On-demand services: rides and deliveryThe arrival-time estimate goes up as well as down while the provider is on the way
InferredThe backend recomputes the estimate from live position and traffic and the client displays it
Chapter 44. On-demand services: rides and deliveryThe price screen shows a notice that the price was updated or has expired
InferredA quote with an identity and a time limit issued by the backend
Chapter 44. On-demand services: rides and deliveryThe final price differs from the quote and the receipt lists the reason
InferredThe backend reprices from the measured trip under stated rules
Chapter 44. On-demand services: rides and deliveryA pending bank entry at confirmation later changes to another amount
InferredA hold placed at the start and captured after completion through a payment token
Chapter 44. On-demand services: rides and deliveryThe app refuses a new request until an earlier failed charge is settled
InferredCharges are made after completion with the customer absent and failures become a debt on the account
Chapter 44. On-demand services: rides and deliveryA call to the provider goes to a number that is the same for every provider
InferredA relayed number from a telephony third party mapped to the trip
Chapter 44. On-demand services: rides and deliveryThe chat and call controls disappear soon after the trip ends
InferredContact between the parties is a resource scoped to the trip
Chapter 44. On-demand services: rides and deliveryA lock-screen status keeps advancing after the app is force-quit
InferredA live status updated by a dedicated push from the backend
Chapter 44. On-demand services: rides and deliveryTapping confirm twice on a weak connection creates one request
SpeculativeAn idempotency key on the request. Weak evidence, because the client may simply disable the button
Chapter 44. On-demand services: rides and deliveryThe customer's app shows the location indicator only while a map is on screen
ObservedContinuous location while on screen on the customer's side, with background location only on the provider's side
Chapter 44. On-demand services: rides and deliveryA countdown appears as soon as a seat or slot is selected
InferredA hold with a deadline granted by the backend at selection
Chapter 45. Booking and reservationsThe countdown shows the right remaining time after a force-quit and on a second device
InferredThe countdown is drawn from a backend deadline and not from a timer in memory
Chapter 45. Booking and reservationsA seat turns gray on an open seat map while someone else is choosing
InferredAvailability changes delivered to open screens over a held connection or a fast poll
Chapter 45. Booking and reservationsA seat shown as free is refused when tapped, with a message that it was just taken
InferredA conditional write on the backend guards each item and the availability shown is a lagging copy
Chapter 45. Booking and reservationsA held item becomes free again seconds after the other buyer backs out
InferredThe client sends an explicit release and the deadline is only the fallback
Chapter 45. Booking and reservationsThe search screen says results are out of date and reloads them
InferredSearch results carry a time limit and booking never starts from an expired price
Chapter 45. Booking and reservationsThe price on the summary differs from the price in the result list
InferredSearch reads a cached price and selection confirms it against the inventory source
Chapter 45. Booking and reservationsSelecting or paying is refused in airplane mode while past bookings still open
InferredBooking is Level 0 and the ticket is stored on the device
Chapter 45. Booking and reservationsBefore a popular sale opens the app shows a position in line or an estimated wait
InferredA waiting room that admits buyers to the booking flow at a controlled rate
Chapter 45. Booking and reservationsThe place in line is kept after the app is closed and reopened
InferredThe queue position is stored on the backend against the account or a queue token
Chapter 45. Booking and reservationsAfter paying the screen says the booking is being confirmed and then changes by itself
InferredThe backend waits for the provider callback and then converts the hold
Chapter 45. Booking and reservationsA message says the payment arrived too late and will be returned
InferredThe hold ended before the provider callback and the backend refunds instead of confirming
Chapter 45. Booking and reservationsA ticket never opened on this device shows its code in airplane mode
InferredTickets are synced to the local store ahead of need
Chapter 45. Booking and reservationsThe code on the ticket changes every few seconds and keeps changing offline
InferredA rotating code derived on the device from a stored secret and the time
Chapter 45. Booking and reservationsA pass in the device wallet shows a new time or gate without the app being opened
InferredThe backend pushes pass updates through the wallet's own update channel
Chapter 45. Booking and reservationsA notification announces a change and the booking already shows it offline
InferredA push hint woke the client and it pulled the booking into its local store
Chapter 45. Booking and reservationsA booking made on the web appears in the app after sign-in with no action
InferredBookings are stored against the account on the backend
Chapter 45. Booking and reservationsThe app says a few are left at this price
SpeculativeA count from the inventory source or a selling message. The two cannot be told apart from outside
Chapter 45. Booking and reservationsThe account screen shows an error and no balance in airplane mode
InferredBalances are read with a network only policy at offline Level 0
Chapter 46. Banking, payments and fintechA balance carries a time, such as updated two minutes ago, or turns gray when the network is lost
ObservedA cached figure shown as stale and never as current
Chapter 46. Banking, payments and fintechThe app asks for a fingerprint
InferredA local gate in front of a live session
Chapter 46. Banking, payments and fintechThe unlock prompt appears and then fails in airplane mode
SpeculativeThe unlock releases a device-bound credential that signs a backend challenge, or a local gate guards an app with nothing to show offline
Chapter 46. Banking, payments and fintechThe app asks for the password again after you add a fingerprint or a face to the device
InferredA device-bound credential that secure hardware invalidates when the enrolled biometrics change
Chapter 46. Banking, payments and fintechA countdown warns that you will be signed out after minutes without input
ObservedAn idle timeout on a short session
Chapter 46. Banking, payments and fintechA new phone must scan a code from the old one, enter a code sent by post or message, or wait before limits rise
InferredDevice binding with a proof that sign-in credentials alone cannot supply
Chapter 46. Banking, payments and fintechSigning in on a new phone signs the old phone out and the app says so
InferredOne bound device per account
Chapter 46. Banking, payments and fintechA transfer to a new payee asks for a code and a transfer to a known payee does not
InferredAdaptive step-up proof decided by risk scoring on the backend
Chapter 46. Banking, payments and fintechA transfer shows as pending, processing or scheduled before it shows as done
ObservedA transfer is a backend record that moves through states
Chapter 46. Banking, payments and fintechAvailable balance and booked balance differ
InferredThe ledger holds an amount at authorization and posts it at settlement
Chapter 46. Banking, payments and fintechA notification about a payment, a sign-in or a new payee arrives within seconds and cannot be switched off in the app
InferredNotifications used as a security channel that the backend sends on every sensitive event
Chapter 46. Banking, payments and fintechScreenshots of the account come out blank and the app switcher shows a logo
ObservedSensitive screens are excluded from capture and covered when the app leaves the foreground
Chapter 46. Banking, payments and fintechThe help pages say the app does not run on modified devices
SpeculativeA device integrity requirement. Whether the check is local or verified by the backend cannot be told from outside
Chapter 46. Banking, payments and fintechA screen with one update control replaces the app a few months after a release
InferredA forced-update gate with a high minimum supported version
Chapter 46. Banking, payments and fintechOpening an account asks for an identity document and a selfie, and the account is limited until someone has reviewed them
InferredRegulation adds an identity check run by a third party and an asynchronous review state
Chapter 46. Banking, payments and fintechA price on an instrument screen moves irregularly with no gesture and freezes with a mark when the network is lost
InferredReal-time delivery of prices over a persistent connection or a server stream
Chapter 46. Banking, payments and fintechAn order form shows a quote with a countdown and asks you to refresh it when the countdown ends
InferredThe backend prices the order and the price on screen is only a display
Chapter 46. Banking, payments and fintechStreet names stay upright while the map rotates, and the map tilts
InferredThe device draws the map from data tiles
Chapter 47. Maps and navigationThe map blurs during a zoom and then snaps sharp
InferredImage tiles with one set of pictures for each zoom level
Chapter 47. Maps and navigationThe map language or style changes at once with no reload of the picture
InferredData tiles with the style applied on the device
Chapter 47. Maps and navigationA neighborhood you looked at last week is detailed in airplane mode
InferredA disk cache of tiles filled by viewing
Chapter 47. Maps and navigationThe area along a route is detailed offline although you never panned over it
InferredPrefetching of the tiles along the route when the route is computed
Chapter 47. Maps and navigationThe download screen states a size before you confirm and warns about metered networks
InferredRegion packages built on the backend and fetched as a resumable transfer
Chapter 47. Maps and navigationA downloaded area shows an expiry date or updates itself overnight
InferredVersioned region packages replaced by a deferred task
Chapter 47. Maps and navigationA route is computed in airplane mode inside a downloaded area
InferredA road graph in the region package and a router on the device
Chapter 47. Maps and navigationAn offline route shows no traffic and a different arrival time from the online route
InferredOn-device routing without live data, and backend routing with it
Chapter 47. Maps and navigationAfter you leave the route offline, the app keeps the old line until the network returns
InferredBackend routing with the route held on the client as a fixed line
Chapter 47. Maps and navigationDuring navigation the app offers a faster route, or changes the arrival time, with no action from you
InferredTraffic and incidents reach an active route by real-time delivery and the backend recomputes
Chapter 47. Maps and navigationTraffic colors disappear or turn gray after some minutes offline
InferredTraffic delivered as a separate layer with a short time limit
Chapter 47. Maps and navigationThe location indicator stays on with a persistent marker while directions run and the screen is locked
ObservedContinuous location in the background as user-visible work
Chapter 47. Maps and navigationThe position marker keeps moving at a steady speed through a tunnel
InferredThe client predicts position along the route when readings stop
Chapter 47. Maps and navigationSpoken prompts include street names on a route computed offline
InferredSpeech produced on the device from instruction text
Chapter 47. Maps and navigationThe spoken voice becomes plainer or loses street names offline
SpeculativeSpeech fetched from the backend with a simpler voice on the device as the fallback
Chapter 47. Maps and navigationThe next turn keeps updating on the lock screen and stops after a force-quit
InferredA live status updated by the app while it runs
Chapter 47. Maps and navigationStorage used grows by the stated size of each download and otherwise levels off
InferredPermanent region packages beside a bounded tile cache
Chapter 47. Maps and navigationThe editor has no save control and typed text survives a force-quit
InferredThe local store is the place the editor writes and each edit is committed within moments
Chapter 48. Notes, documents and collaborationThe editor responds at the same speed in airplane mode as online
InferredThe UI reads and writes the local store only and a sync engine works behind it
Chapter 48. Notes, documents and collaborationA small mark in the note or the list shows synced, syncing or waiting
InferredThe outbox state is exposed to the user per note
Chapter 48. Notes, documents and collaborationEdits made offline on two devices to different paragraphs both survive
InferredThe conflict unit of the body is the block or smaller
Chapter 48. Notes, documents and collaborationEdits made offline on two devices inside one sentence both survive
InferredCharacter-level merge of operations
Chapter 48. Notes, documents and collaborationA second copy of a note appears after two devices edited it apart
InferredWhole-note or whole-file conflict unit, resolved by keep both
Chapter 48. Notes, documents and collaborationOne device's edit vanishes after both devices reconnect and nothing reports it
InferredWhole-note LWW with no conflict detection
Chapter 48. Notes, documents and collaborationAnother person's letters appear one by one while you watch
InferredOperations sent over a persistent connection to every open editor
Chapter 48. Notes, documents and collaborationA collaborator's colored cursor disappears some seconds after their device loses the network
InferredLive cursors are ephemeral signals with an expiry on the receiver
Chapter 48. Notes, documents and collaborationThe document turns read-only or shows a reconnecting notice when the network drops
InferredLevel 4 editing that is online only. Operations are not queued for later merge
Chapter 48. Notes, documents and collaborationThe version history lists entries at regular intervals or at the end of editing sessions
SpeculativeCheckpoints taken from the operation log by the backend
Chapter 48. Notes, documents and collaborationA photo added offline shows at once and reaches other devices after the text around it
InferredUpload, then attach, through a transfer queue separate from the outbox
Chapter 48. Notes, documents and collaborationSearch finds text inside notes never opened on this device while in airplane mode
InferredOn-device index over a full replica
Chapter 48. Notes, documents and collaborationSearch finds titles offline and body text only online
InferredThe device holds the list and the backend holds the search index
Chapter 48. Notes, documents and collaborationA shared document disappears from a device after its owner removes access
InferredLoss of access is delivered through the change log as a deletion
Chapter 48. Notes, documents and collaborationA document stays readable offline on a device whose access was removed
InferredAccess changes are not delivered through the change log
Chapter 48. Notes, documents and collaborationStorage used by the app is small compared with the attachments the account holds
InferredAttachments are fetched on demand and are not in the replica
Chapter 48. Notes, documents and collaborationA file edited in two places produces two files with a device name or date in the title
InferredFile-based sync with the whole file as the unit
Chapter 48. Notes, documents and collaborationA locked phone shows a full incoming-call screen seconds after the caller taps
InferredCall push with the platform's calling integration
Chapter 49. Meetings and callingA second device stops ringing the moment the first one answers
InferredRinging state fanned out to all devices with stop messages
Chapter 49. Meetings and callingA missed-call entry appears with no ring having sounded
InferredThe call push arrived after the caller gave up
Chapter 49. Meetings and callingThe call timer runs and nobody hears anything
InferredSignaling succeeded and the media path failed to open
Chapter 49. Meetings and callingA brief reconnect when a third person joins a two-person call
InferredMove from direct or relayed media to a media server
Chapter 49. Meetings and callingAn enlarged tile is soft for a moment and then sharpens
InferredForwarding server with quality layers
Chapter 49. Meetings and callingTiles are blank for a moment after you scroll to another page of the grid
InferredThe client subscribes to video only for visible participants
Chapter 49. Meetings and callingA shared screen stays readable while its scrolling stutters
InferredSeparate adaptation policy for screen sharing that keeps resolution and cuts frame rate
Chapter 49. Meetings and callingYour own picture freezes for others while your voice stays clear
ObservedAdaptation policy that pauses video to protect audio
Chapter 49. Meetings and callingA person in the lobby hears nothing of the meeting
InferredNo media credentials are issued before admission
Chapter 49. Meetings and callingA removed participant cannot enter again with the same link
InferredRemoval is recorded in call state and checked on every join request
Chapter 49. Meetings and callingThe meeting continues after the host's app is force-quit
InferredCall state and roles live on the backend
Chapter 49. Meetings and callingA recording appears in the account minutes after the meeting, on any device
InferredRecording composed on the backend by a recorder or a later job
Chapter 49. Meetings and callingEvery participant sees a notice when recording starts, including late joiners
InferredRecording is a field of call state delivered to every client
Chapter 49. Meetings and callingA late joiner sees a raised hand but not an earlier reaction
InferredThe hand is state, and the reaction is an ephemeral signal
Chapter 49. Meetings and callingViewers of a broadcast see the speaker several seconds after chat mentions what was said
InferredViewers are on a live stream and chat is on the signaling path
Chapter 49. Meetings and callingA link opened on a device without the app joins the meeting in the browser
ObservedWeb client behind a verified web link
Chapter 49. Meetings and callingEveryone in the meeting freezes and returns at the same moment
SpeculativeA media server failed or moved the call. A fault on your own network looks the same from one seat
Chapter 49. Meetings and callingText appears piece by piece, and stalls and resumes unevenly on a weak connection
InferredThe answer arrives over a server stream from a backend model
Chapter 50. AI assistantsA wait and then the whole answer at once or with a smooth animation
InferredA whole response that the client reveals. Not a stream
Chapter 50. AI assistantsA short status such as thinking or searching appears before the first words
InferredThe stream carries typed events and not only text
Chapter 50. AI assistantsA stop control replaces the send control while an answer is running
InferredThe client can cancel the request and the backend stops the model
Chapter 50. AI assistantsAn answer that was running when you left the app is complete when you return
InferredThe backend finishes and stores a response without the client, or the app held its stream open in the background
Chapter 50. AI assistantsA stopped or broken answer keeps its partial text after the app restarts
InferredPartial answers are saved to the conversation store
Chapter 50. AI assistantsA conversation started on one device is listed on another
InferredConversation history is synced data kept on the backend
Chapter 50. AI assistantsA conversation gets a title a moment after the first answer
InferredA second model call on the backend summarizes the first turn
Chapter 50. AI assistantsArrows under an answer switch between versions of it
InferredThe conversation is stored as a tree of turns
Chapter 50. AI assistantsAn attachment shows upload progress before the prompt is sent
InferredUpload, then attach
Chapter 50. AI assistantsVoice mode answers within a second, can be interrupted by speaking, and shows the system's microphone indicator
InferredA live audio path separate from the text request
Chapter 50. AI assistantsA notification says that a task is finished minutes after you left the app
InferredA long-running task on the backend that announces its result by platform push
Chapter 50. AI assistantsA message names a limit and the time at which it resets
InferredThe backend counts usage per account and refuses beyond the quota
Chapter 50. AI assistantsThe assistant answers simple requests in airplane mode and refuses others
InferredRouting between an on-device model and a backend model
Chapter 50. AI assistantsStorage used grows by hundreds of megabytes or more after a feature is first used
InferredA model asset downloaded after install for an on-device model
Chapter 50. AI assistantsThe device gets warm and the battery drops during long answers
SpeculativeThe model runs on the device. Rendering a long stream also costs power, so compare with airplane mode
Chapter 50. AI assistantsA settings switch controls whether conversations are used to improve the service
InferredA consent record per account on the backend
Chapter 50. AI assistantsThe assistant recalls a fact from a different conversation
InferredA backend profile per account that is added to the model inputs
Chapter 50. AI assistantsA persistent system indicator shows for the whole length of a workout
ObservedThe recording runs as user-visible work
Chapter 51. Health, fitness and connected devicesA workout survives a force-quit and the app offers to resume it
InferredSamples and the recording session are written durably to the local store as they arrive
Chapter 51. Health, fitness and connected devicesA workout recorded in airplane mode reaches another device later without being opened again
InferredDurable outbox drained by a deferred task
Chapter 51. Health, fitness and connected devicesThe route of a workout is drawn with long straight segments while the phone was in a pocket
InferredLocation readings were reduced or paused in the background to save battery
Chapter 51. Health, fitness and connected devicesStep history appears for days before the app was installed
InferredSteps are read from platform services or the platform health data store
Chapter 51. Health, fitness and connected devicesThe app's step count differs from the device's own health screen
InferredThe app counts in its own process or takes steps from an accessory
Chapter 51. Health, fitness and connected devicesOpening the app shows a sync indicator and then fills in the last hours
InferredThe accessory stores data and the transfer runs in the foreground only
Chapter 51. Health, fitness and connected devicesData from an accessory is on other devices before the app is opened
InferredThe operating system wakes the app when the accessory reconnects
Chapter 51. Health, fitness and connected devicesTime spent away from the phone shows totals and no detail
InferredThe accessory keeps summaries and not samples
Chapter 51. Health, fitness and connected devicesThe watch starts and records a workout with the phone switched off
InferredThe watch app has its own local store and recording session
Chapter 51. Health, fitness and connected devicesThe same walk appears twice in the workout list
ObservedRecords from two sources are imported without duplicate detection
Chapter 51. Health, fitness and connected devicesA workout recorded in the app appears in other apps on the same device with no account in common
InferredThe app writes to the platform health data store
Chapter 51. Health, fitness and connected devicesA permission screen drawn by the system lists each kind of health data, with separate switches to read and to write
ObservedAccess to the platform health data store is granted per data type and per direction
Chapter 51. Health, fitness and connected devicesThe app works fully with no account, and a new phone starts empty
InferredThe data stays on the device, or in the platform health data store, with no backend copy
Chapter 51. Health, fitness and connected devicesA settings screen offers export and deletion of health data apart from account deletion
SpeculativeSensitive data has its own consent record and its own retention path
Chapter 51. Health, fitness and connected devicesAn accessory update asks you to keep the app open and the accessory close
InferredThe firmware transfer has no background grant
Chapter 51. Health, fitness and connected devicesBattery use for the app is high on workout days and close to zero on other days
InferredSensors and location are subscribed only during a recording session
Chapter 51. Health, fitness and connected devicesLive figures such as heart rate freeze when the accessory moves out of range and recover on return
InferredA live stream over the short-range radio beside the stored batches
Chapter 51. Health, fitness and connected devicesThe screen reader finds one region or nothing on every screen including menus
InferredA game engine draws the whole app as one surface
Chapter 52. GamesThe device warms on the home screen and in menus with nothing moving
InferredThe engine redraws every frame at full rate with no reduced rate for idle screens
Chapter 52. GamesA download with a progress indicator runs at first launch and the app figure grows several times over
InferredOn-demand resources from asset delivery
Chapter 52. GamesA short download runs at launch on a day with no store update and new content follows
InferredAssets and event data delivered outside the store by version of the content
Chapter 52. GamesA connection screen blocks a game that has no multiplayer
InferredThe backend decides progress and currency and the client holds no trusted state
Chapter 52. GamesA reward counter animates at once and the final balance settles a moment later
SpeculativeOptimistic update of a balance that the backend owns
Chapter 52. GamesA purchase interrupted by a crash is granted at the next launch with no second charge
InferredReceipt verification on the backend with an idempotent grant and a pending purchase recovered at startup
Chapter 52. GamesCurrency bought on one platform is absent on the other while progress is present
SpeculativePurchased currency is kept per platform and earned progress per account. A product or store policy and not a fault
Chapter 52. GamesYour own character moves at once and sometimes snaps back on a weak connection
InferredClient prediction with correction against a backend that owns the match
Chapter 52. GamesOther players stop then jump forward while your own character stays smooth
InferredOther players are drawn slightly in the past between received states
Chapter 52. GamesA hit that looked certain on your screen does not count
InferredThe backend decided the outcome from its own state and not from what the client drew
Chapter 52. GamesYou return from another app into a match that went on without you
InferredThe match runs on the backend and the client rejoins by catch-up
Chapter 52. GamesAn event starts and ends for every player at the same moment whatever the device's time zone
InferredSchedules run on the backend's clock and the client's clock is not trusted
Chapter 52. GamesTwo accounts see different prices or offers for the same item
InferredTargeting or an experiment on the economy through remote config
Chapter 52. GamesThe rewarded ad control shows a count of views left today that survives a reinstall
InferredThe frequency limit is counted on the backend per account
Chapter 52. GamesMatchmaking waits longer at quiet hours and opponents then vary more in strength
SpeculativeA queue that widens its criteria with waiting time
Chapter 52. GamesA match is found at once at any hour in a low rank
SpeculativeComputer opponents fill empty places. A large player pool explains it equally well
Chapter 52. GamesA prompt shows two saves with their dates and levels and asks which to keep
InferredA versioned save on the backend with the conflict left to the user
Chapter 52. GamesA loading step shows a service's own name and icon the first time it opens and never again
InferredA mini-program package downloaded on first use and cached
Chapter 53. Super-apps and mini-programsThe same close and menu control floats over every service whatever the content looks like
InferredA host frame that a mini-program cannot draw over or remove
Chapter 53. Super-apps and mini-programsA host sheet asks whether to share your phone number with a named service
InferredThe host owns identity and releases a scoped identity per mini-program by consent
Chapter 53. Super-apps and mini-programsEvery service ends in the same payment sheet with the same wallet
InferredPayment is a host capability reached through the bridge
Chapter 53. Super-apps and mini-programsA second service asks for location again after the first was granted
InferredPer-mini-program permissions kept by the host above the operating system's single grant
Chapter 53. Super-apps and mini-programsA settings screen lists services with the data each has been given and a control to withdraw it
InferredA consent record per user and mini-program
Chapter 53. Super-apps and mini-programsA service appears on the home screen in one city and is absent from search in another
InferredServer-driven home screen with targeting by region
Chapter 53. Super-apps and mini-programsA new service appears in the catalog with no store update
InferredServices are data in a catalog and code in packages delivered outside the store
Chapter 53. Super-apps and mini-programsA service behaves differently from one day to the next with no store update and one brief loading step
InferredA new version of the mini-program package replaced the cached one
Chapter 53. Super-apps and mini-programsLong-press selects any text in one service and nothing in the next
InferredDifferent UI families behind one host and a seam between them
Chapter 53. Super-apps and mini-programsA control in a service does nothing on an old version of the host
InferredThe mini-program called a bridge message that this host version lacks
Chapter 53. Super-apps and mini-programsAn address saved in one service is unknown to the next
InferredData separation per mini-program with no shared profile beyond what the host releases
Chapter 53. Super-apps and mini-programsThe app figure is large although most services download on first use
SpeculativeThe host carries the runtime and every capability that any mini-program may call
Chapter 53. Super-apps and mini-programsThe first frame comes quickly and the grid of services fills in a moment later
InferredA cached home description shown first and refreshed from the backend
Chapter 53. Super-apps and mini-programsA service that sells digital goods is present on one platform and absent or changed on the other
SpeculativeStore rules on payment differ by platform and the catalog is targeted to match. A product decision explains it equally well
Chapter 53. Super-apps and mini-programsA link or a scanned code opens one screen deep inside a service that was never used before
InferredThe link resolver maps to a mini-program and a route and the host downloads the package before opening it
Chapter 53. Super-apps and mini-programsA recently used list brings back a service exactly as it was left
InferredThe host keeps several runtimes alive and limits their number
Chapter 53. Super-apps and mini-programsThe first launch opens a working screen with no sign-in, no loading state and no request for a network
SpeculativeAll domain logic and data are on the device. A local replica that syncs later is the alternative, and P54.5 separates them
Chapter 54. Apps with no backendThe app's figure on the data usage screen stays at zero for weeks
InferredNo network client and no third party that reports from the device
Chapter 54. Apps with no backendEvery feature works in airplane mode while an ad slot stays empty or shows a house ad
InferredAn ad component from a third party beside a client that has no backend of its own
Chapter 54. Apps with no backendData usage rises a little on days you did not open the app
SpeculativeA background upload by an SDK, or a config check. The figure cannot say which
Chapter 54. Apps with no backendYour data is on a second device of the same platform account, and the app has no account of its own
InferredSync through platform-provided storage
Chapter 54. Apps with no backendThe platform account's storage screen lists the app with a size
ObservedThe app keeps data in platform-provided storage
Chapter 54. Apps with no backendThe app exists on one platform only, or its sync does not cross platforms
SpeculativeSync depends on platform-provided storage and not on a backend the team runs
Chapter 54. Apps with no backendA second copy of an item appears after two devices changed it
InferredKeep-both resolution of a conflict that the platform storage reported
Chapter 54. Apps with no backendA deleted item returns after a device that was offline comes back
InferredDeletions are synced without tombstones
Chapter 54. Apps with no backendRestore purchases works with no app account and the paid feature stays unlocked offline
InferredStore billing with a receipt checked on the device and a local unlock
Chapter 54. Apps with no backendA purchase does not carry over to the app on the other platform
InferredThe purchase belongs to one store account, and no backend holds an entitlement above the stores
Chapter 54. Apps with no backendSettings offer an export to a file and an import from one
InferredThe maker treats the local store as the only copy and gives the user the backup path
Chapter 54. Apps with no backendYour data is present on a new device that was set up from a device backup, with no step inside the app
InferredThe local store sits in the storage area that the device backup includes
Chapter 54. Apps with no backendThe first launch after an update is long, once, with a message about updating data
InferredA migration of the only copy in place
Chapter 54. Apps with no backendThe capture screen has its own controls and the app holds the camera permission
ObservedAn in-app camera. Capture is the product
Chapter 54. Apps with no backendDuring long use the device warms and the preview drops in quality or frame rate, then recovers
InferredThe app reads the thermal state and lowers its own load
Chapter 54. Apps with no backendA reminder fires on time in airplane mode
InferredA local notification scheduled with the operating system
Chapter 54. Apps with no backendThe licenses screen or the privacy listing names advertising or analytics
ObservedThird-party SDKs inside an app with no backend of its own. A statement by the maker
Chapter 54. Apps with no backendA feature shows content and accepts a change in airplane mode
InferredChapter 12, offline and sync. Start with P12.1 to P12.4
Chapter 55. The app that fits no archetypeA feature shows earlier content in airplane mode and refuses a change
InferredChapter 11, local storage and caching. Start with P11.1 and P11.2
Chapter 55. The app that fits no archetypeA screen changes while you watch it and touch nothing
InferredChapter 14, real-time delivery. Start with P14.1 and P14.2
Chapter 55. The app that fits no archetypeA list loads more as you scroll and has no visible end
InferredChapter 15, lists and pagination. Start with P15.1
Chapter 55. The app that fits no archetypeA transfer shows progress and continues after you leave the screen
InferredChapter 18, file transfer, then Chapter 23 for the background work
Chapter 55. The app that fits no archetypeThe app asks for location, the camera or a short-range radio
ObservedChapter 22 for the request, then Chapter 24 for the hardware
Chapter 55. The app that fits no archetypeA physical thing responds to the phone in airplane mode
InferredChapter 24 for the direct link, and Chapter 21 for what the phone was trusted to hold
Chapter 55. The app that fits no archetypeSomething happens while the app is closed, such as a notification or a widget that changes
ObservedChapter 23, background work and notifications, and Chapter 25 for the surface
Chapter 55. The app that fits no archetypeContent is visible offline, and one action is refused with a message about the network
InferredChapter 21. The backend decides that action. Start with P21.1
Chapter 55. The app that fits no archetypeOne thing can be held by one person at a time, and shows a countdown or a held state
SpeculativeA hold that the backend grants and expires. Borrow from Booking and reservations, and use P12.5 for two people at once
Chapter 55. The app that fits no archetypeThe app asks you to prove who you are again before one action
ObservedChapter 20 for the session, and Chapter 21 for the step-up proof
Chapter 55. The app that fits no archetypeA screen shows a price or asks for money
ObservedChapter 26, payments. Start with P26.1, which needs no purchase
Chapter 55. The app that fits no archetypeA layout or a rule changes between two launches with no update installed
SpeculativeChapter 30, remote config, or Chapter 31, server-driven UI. P30.1 and P31.1 separate them
Chapter 55. The app that fits no archetypeOne area looks, scrolls or fails differently from the rest of the app
InferredChapter 32 for how the area is drawn, and Chapter 38 for who built it
Chapter 55. The app that fits no archetype
No signal matches yet. Try fewer or different words. More signals are added as chapters are written.