E6.13.2result-object couplingdesign

Inline presentation keeps the result tied to the object

Aliases: decoupled receipt · global vs object · mismatched result

What it is

A global “Deleted” does not say which row; whether the object is still in the list or already gone, the user has to supply the subject. Decoupling is that supply failing: message and object are no longer taken as one event. Inline presentation pins the subject on the object and skips the repair. The opponent here is the global receipt, not “should the result sit near the trigger” as such—nearness is placement; decoupling is identity failing to match.

Why it happens

A global receipt’s default subject is “this whole place.” What people are looking at is a particular row in a table. When two subjects compete, the global sentence is used to summarize the whole table: one failure becomes “saving is broken,” one success becomes “everything can go.” The list may also reorder or filter while the receipt is up, so the row that was acted on has left its old coordinates and the global message has nothing to hook. Inline does not ask the user to hook; the object carries its ending—if the row is filtered away, the failure mark goes with it; if the row stays, the success state stays on that row. The cost of decoupling is not a missed compliment. It is a result whose scope was wrongly widened or narrowed.

Where it stops holding

If the object is unmounted before the result arrives (a successful delete, the row already gone), inline has no mount point and needs a brief row-ghost or a note on a neighbor; otherwise it falls back to a receipt that can still name the object. For a cross-view action (confirm in a dialog, result in the list behind) inline is visible only after close; if the list is never seen, decoupling remains, so finish saying the ending before close, then reveal the inline state on the list. An app-wide situation (account read-only) is not an object ending; forcing it inline on a row creates reverse decoupling—the environment written as that row’s failure.

Applying it

  • Keep object-level results out of the global slot; that slot is for environment that stays true across pages.
  • Express a successful delete as “row gone + undo,” not as a top-bar “Deleted” while the row remains or vanishes without a trace.
  • Store result state on the data, not on screen coordinates, so the hook travels when the list reorders.
  • Verify by acting on two non-adjacent rows and looking only at the global slot. If the two endings cannot be named, decoupling has happened; then check whether each row carries its own mark.

Related

  • Within the group: E6.13.1 Inline feedback puts the result next to the trigger · E6.13.3 Inline feedback must look unlike ordinary content · E6.13.4 Bulk inline feedback must split successes from failures
  • Adjacent: E6.04 Global status messages · E6.01 Toasts · E4.02 List items
  • Search terms: result-object coupling · global receipt · attribution

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/E6.13.2