
Document User Notice Stage in BID Framework
bid_notice.Rd
This function documents the initial observation and problem identification stage. It represents stage 1 in the BID framework and now returns a structured bid_stage object with enhanced metadata and external mapping support.
Arguments
- problem
A character string describing the observed user problem.
- theory
A character string describing the behavioral theory that might explain the problem. If NULL, will be auto-suggested using external theory mappings.
- evidence
A character string describing evidence supporting the problem.
- target_audience
Optional character string describing the target audience.
Value
A bid_stage object containing the documented information for the "Notice" stage with enhanced metadata and validation.
Examples
# Basic usage with auto-suggested theory
notice_result <- bid_notice(
problem = "Users struggling with complex dropdowns and too many options",
evidence = "User testing shows 65% abandonment rate on filter selection"
)
#> Auto-suggested theory: Hick's Law (confidence: 90%)
#> Stage 1 (Notice) completed. (20% complete)
#> - Problem: Users struggling with complex dropdowns and too many options
#> - Theory: Hick's Law (auto-suggested)
#> - Evidence: User testing shows 65% abandonment rate on filter selection
#> - Theory confidence: 90%
#> - Next: Use bid_interpret() for Stage 2
# Print shows human-friendly summary
print(notice_result)
#> BID Framework - Notice Stage
#> Generated: 2025-08-05 18:03:50
#> Progress: 20 % (1/5)
#>
#> Problem: Users struggling with complex dropdowns and too many options
#> Theory: Hick's Law (auto-suggested)
#> Evidence: User testing shows 65% abandonment rate on filter selection
#>
#> Suggestions: Define specific target audience to better focus design solutions. Consider progressive disclosure or categorization to reduce choice complexity.
#>
#> Use summary() for detailed information
# Access underlying data
summary(notice_result)
#> === BID Framework: Notice Stage Summary ===
#>
#> Metadata:
#> stage_number : 1
#> total_stages : 5
#> validation_status : completed
#> auto_suggested_theory : Yes
#> theory_confidence : 90%
#> problem_length : 60
#> evidence_length : 59
#> has_target_audience : No
#> custom_mappings_used : No
#>
#> Stage Data:
#> stage : Notice
#> problem : Users struggling with complex dropdowns and too many options
#> theory : Hick's Law
#> evidence : User testing shows 65% abandonment rate on filter selection
#> suggestions : Define specific target audience to better focus design solutions. Consider pr...
#>
#> Generated: 2025-08-05 18:03:50
# Check stage and metadata
get_stage(notice_result)
#> [1] "Notice"
get_metadata(notice_result)
#> $stage_number
#> [1] 1
#>
#> $total_stages
#> [1] 5
#>
#> $validation_status
#> [1] "completed"
#>
#> $auto_suggested_theory
#> [1] TRUE
#>
#> $theory_confidence
#> [1] 0.9
#>
#> $problem_length
#> [1] 60
#>
#> $evidence_length
#> [1] 59
#>
#> $has_target_audience
#> [1] FALSE
#>
#> $custom_mappings_used
#> [1] FALSE
#>
# With explicit theory
notice_explicit <- bid_notice(
problem = "Mobile interface is difficult to navigate",
theory = "Fitts's Law",
evidence = "Mobile users report frustration with small touch targets",
target_audience = "Mobile users with varying technical expertise"
)
#> Stage 1 (Notice) completed. (20% complete)
#> - Problem: Mobile interface is difficult to navigate
#> - Theory: Fitts's Law
#> - Evidence: Mobile users report frustration with small touch targets
#> - Next: Use bid_interpret() for Stage 2