Attribute visibility

Added

The actor is scanning a compressed rendering — rows in a table, cards in a grid, pins on a map — and the question they brought concerns an attribute the rendering doesn’t carry. The data has it; the detail view shows it; but the subset chosen for the compressed form was someone else’s guess at what everyone compares.

Forces

  • Ceiling vs. clutter — every attribute a view carries is scan cost paid on every item, and every attribute it omits is a comparison nobody can make; there is no subset that resolves this for all actors at once
  • One default vs. divergent criteria — given the same task and the same starting view, actors immediately diverge in what they surface; a fixed middle serves the average actor, who does not exist

Solution

Make each view’s attribute set a live control: the actor surfaces attributes into the compressed rendering and hides them from it, per view, with the entity staying recognisable throughout.

Resources & references

Consequences

  • each view's attribute set is the actor's decision
  • the curation moves to the actor — surfaced sets drift and diverge, so the designed defaults still matter, now as a starting point rather than a ceiling
  • surfaced attributes become operable, changing what a view shows changes what the actor can do with it

Related patterns

Enables

  • Data view — attribute visibility is the representation leg of the framing — the query picks the items, the arrangement orders them, the attribute set decides what each item shows
  • Overview and detail — overview-detail's content dimension — which attributes live in which view — is attribute visibility applied per view; surfacing is what lifts the overview's ceiling
  • Semantic zoom

Enacts

  • Malleability — the attribute set is the smallest piece of a view an actor can own; products that hand over nothing else can hand over this

Complements

  • Sorting — surface then operate: an attribute made visible becomes a key to sort by
  • Filtering — surface then operate: an attribute made visible becomes a predicate to filter by

Enabled by

  • Drag and drop — the strongest surfacing control is a drag — grab the attribute in one item's detail and drop it into the overview