Skip to contents

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.

Usage

bid_notice(problem, theory = NULL, evidence = NULL, target_audience = NULL)

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