| UI or UX | UI + UX - User-configurable dashboard canvas with persisted widget composition | UI + UX - Page-level arrangement of coordinated status, metric, and analysis widgets | UI + UX - Persisted named presentation state for a data workspace | UI + UX - Persistent hub for communication, consent, topic, privacy, language, and personalization choices |
| UI guidance | Expose a customization mode that separates normal dashboard reading from editing, with visible controls for adding widgets, removing widgets, moving widgets, resizing tiles, previewing responsive order, saving changes, canceling edits, and resetting to a default layout. | Arrange dashboard widgets into a purposeful page hierarchy with a named dashboard, scope, freshness, global filters, primary KPIs, secondary analysis, exceptions, and supporting tables or links placed according to monitoring priority. | Render saved views as named, selectable workspace presentations with visible owner or visibility, active state, saved layout mode, columns or fields, grouping, sort, filters, and last-updated metadata. | Render a preference center as a returnable hub with categories for communications, channels, topics or interests, notification delivery, privacy and data sharing, cookie or tracking consent, personalization, language or locale, required messages, managed values, source-of-truth status, and save feedback. |
| UX guidance | Use custom dashboard when users need to compose a personal or role-specific dashboard from multiple widgets, data sources, saved views, filters, or shortcuts, then return to that arrangement across sessions. | Use dashboard layout when users need one page to monitor several related signals, compare current state against targets, spot exceptions, and decide which detailed view or workflow to open next. | Use saved view when users need to return to a complete operational presentation of a changing dataset rather than rebuilding columns, layout, grouping, filters, and sort every session. | Use a preference center when users need durable control over what they receive, which channels may be used, which topics they want, which consent purposes are active, how personalization uses their data, and which choices cannot be disabled. |
| Good UI | A team lead opens Customize, sees selected widgets, available widgets, size controls, keyboard move buttons, unsaved changes, and a preview of how the dashboard will stack on mobile. | An operations dashboard opens with date range, region filter, last updated time, four KPI cards, an exception panel, a trend chart, and a priority table in a stable grid. | A support queue has saved views named My urgent tickets, Team backlog, and SLA breach risk, each showing columns, sort, filters, owner, and private or team visibility before users apply it. | A customer account preference center shows Email, SMS, Push, Topics, Cookies, Data sharing, Language, and Required service messages, each with current status, scope, and last saved time. |
| Bad UI | Dashboard widgets can be dragged around, but there is no edit mode, no saved state, and no indication whether the new order is personal or shared. | A dashboard is a wall of same-sized charts with no primary metric, no filter scope, no freshness, and no explanation of which tile matters first. | A tab labelled Saved view applies hidden filters, changes columns, and switches layout with no preview or active-state summary. | A single Receive updates switch hides whether it controls marketing email, SMS, push, product notices, analytics consent, or service messages. |
| Good UX | A manager adds the Escalations widget, moves it above the revenue chart, previews mobile order, saves as My support dashboard, and can reset to the team default later. | A manager changes Region to West, sees every tile show the same filtered scope and updated timestamp, then opens the exception table from the SLA breach card. | A manager opens SLA breach risk, sees the board layout, grouped Status lanes, five saved columns, and current result count, then changes density and saves a private copy instead of overwriting the team view. | A user turns off promotional email, keeps outage SMS and account security email, changes language to Spanish, withdraws ad personalization, and sees which transactional messages remain required. |
| Bad UX | A user rearranges a shared operations dashboard and accidentally overwrites the layout for the whole team. | A user sees revenue down on one tile but cannot tell whether it is filtered, stale, a pinned snapshot, or live data. | A user changes one column while reviewing a team queue and accidentally updates the shared default for everyone. | A user declines analytics in a cookie banner but later cannot find the preference center needed to withdraw personalization consent after signing in. |
| Best fit | Users have different monitoring priorities and need a persistent personal or role-based dashboard arrangement. | Users need to monitor several related metrics, exceptions, and analyses together. | Users repeatedly return to a specific presentation of a changing data set. | Users need to revisit and change communication, consent, topic, personalization, privacy, channel, language, or data-sharing choices. |
| Avoid when | The dashboard must remain identical for everyone because it encodes a regulated process, operational standard, or safety-critical alert order. | Only one chart, table, status message, or record list is needed. | Only one current-session filter or sort choice needs to be changed. | The product only needs a small app setting unrelated to communications, consent, or personalization. |
| Required state | Read-only dashboard state with current layout name, owner or scope, active widgets, freshness, and customize entry point. | Default dashboard with name, purpose, global scope, active filters, freshness, KPI tier, sections, and widget grid. | No saved view selected with current display settings visible and saveable. | Overview with preference categories and current effective status |
| Accessibility burden | Expose customization mode, unsaved changes, dashboard scope, widget title, widget position, widget size, and permission state in text. | Give the dashboard a heading, purpose, filter summary, refresh status, and section headings that screen-reader users can navigate. | Expose active saved-view name, visibility, default status, and modified state in text, not only selected tab styling. | Group categories with headings, fieldsets, legends, and persistent labels that name the affected channel, purpose, topic, source, and scope. |
| Common misuse | Treating a fixed dashboard with filters as a custom dashboard even though users cannot choose widgets, order, or size. | Filling a page with charts before defining dashboard purpose, audience, hierarchy, and decisions. | Saving current rows instead of presentation settings and dynamic criteria. | Using one master preference switch for communication, privacy, cookies, topics, and required messages. |