
Document User Validation Stage in BID Framework
bid_validate.Rd
This function documents the validation stage, where the user tests and refines the dashboard. It represents stage 5 in the BID framework.
Arguments
- previous_stage
A tibble or list output from an earlier BID stage function.
- summary_panel
A character string describing the final summary panel or key insight presentation.
- collaboration
A character string describing how the dashboard enables collaboration and sharing.
- next_steps
A character vector or string describing recommended next steps for implementation and iteration.
Examples
structure_input <- bid_notice(
problem = "Issue with dropdown menus",
evidence = "User testing indicated delays"
) |>
bid_interpret(
central_question = "How can we improve selection efficiency?",
data_story = list(
hook = "Too many options",
context = "Excessive choices",
tension = "User frustration",
resolution= "Simplify menu"
)
)
#> Auto-suggested theory: Hick's Law (confidence: 90%)
#> Stage 1 (Notice) completed. (20% complete)
#> - Problem: Issue with dropdown menus
#> - Theory: Hick's Law (auto-suggested)
#> - Evidence: User testing indicated delays
#> - Theory confidence: 90%
#> - Next: Use bid_interpret() for Stage 2
#> Stage 2 (Interpret) completed.
#> - Central question: How can we improve selection efficiency?
#> - Your data story has all key elements. Focus on making each component compelling and relevant.
#> - Your central question is appropriately scoped.
#> - No user personas defined
structure_result <- bid_structure(
previous_stage = structure_input,
layout = "dual_process",
concepts = c("Principle of Proximity", "Default Effect")
)
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Returning all 41 concepts
#>
#> ── Implementation tips for selected concepts:
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> • Principle of Proximity: Place related controls and visualizations in
#> proximity to each other.
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> • Default Effect: Pre-select the most useful timeframe or metrics for initial
#> view.
#> Stage 3 (Structure) completed.
#> - Layout: dual_process
#> - Concepts: Principle of Proximity, Default Effect
#> - No accessibility considerations specified
anticipate <- bid_anticipate(
previous_stage = structure_result,
bias_mitigations = list(
anchoring = "Provide reference points",
framing = "Use gain-framed messaging"
)
)
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found 7 concept(s) matching 'bias|anchor|fram|confirm'
#> Automatically suggested interaction principles: progressive_disclosure, hover_effects.
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found partial match: Anchoring Effect
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found partial match: Framing & Loss Aversion
#> Stage 4 (Anticipate) completed.
#> - Bias mitigations: 2 defined
#> - Interaction principles: 2 defined
#> - Key suggestions: anchoring mitigation: Always show reference points like previous period, budget, or industry average., framing mitigation: Toggle between progress (65% complete) and gap (35% remaining) framing., Consider also addressing these common biases: confirmation
bid_validate(
previous_stage = anticipate,
summary_panel = "Clear summary of key insights with action items",
collaboration = "Team annotation and sharing features",
next_steps = c(
"Conduct user testing with target audience",
"Implement accessibility improvements",
"Add mobile responsiveness"
)
)
#> Stage 5 (Validate) completed.
#> - Summary panel: Clear summary of key insights with action items
#> - Collaboration: Team annotation and sharing features
#> - Next steps: 3 items defined
#> - Validation stage is well-defined. Focus on implementation and user testing.
#> # A tibble: 1 × 14
#> stage summary_panel collaboration next_steps previous_bias
#> <chr> <chr> <chr> <chr> <chr>
#> 1 Validate Clear summary of key insights… Team annotat… Conduct u… anchoring: P…
#> # ℹ 9 more variables: previous_interaction <json>, previous_layout <chr>,
#> # previous_concepts <chr>, previous_accessibility <chr>,
#> # previous_central_question <chr>, previous_problem <chr>,
#> # previous_theory <chr>, suggestions <chr>, timestamp <dttm>