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 struggle with complex dropdown menus containing 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 struggle with complex dropdown menus containing too...
#>   - 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-06-21 00:15:31 
#> Progress: 20 % (1/5) 
#> 
#> Problem: Users struggle with complex dropdown menus containing too many options 
#> Theory: Hick's Law (auto-suggested) 
#> Evidence: User testing shows 65% abandonment rate on filter selection 
#> 
#>  Suggestions: Measure decision time and number of choices to validate Hick's Law application Define specific target audience to better focus design solutions Consider conducting task analysis to understand specific struggle points and failure modes 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:
#>    auto_suggested_theory : Yes 
#>    theory_confidence : 90% 
#>    problem_length : 70 
#>    evidence_length : 59 
#>    has_target_audience : No 
#>    validation_status : completed 
#>    stage_number : 1 
#>    total_stages : 5 
#>    custom_mappings_used : No 
#> 
#> Stage Data:
#>    stage : Notice 
#>    problem : Users struggle with complex dropdown menus containing too many options 
#>    theory : Hick's Law 
#>    evidence : User testing shows 65% abandonment rate on filter selection 
#>    suggestions : Measure decision time and number of choices to validate Hick's Law applicatio... 
#> 
#> Generated: 2025-06-21 00:15:31 

# Check stage and metadata
get_stage(notice_result)
#> [1] "Notice"
get_metadata(notice_result)
#> $auto_suggested_theory
#> [1] TRUE
#> 
#> $theory_confidence
#> [1] 0.9
#> 
#> $problem_length
#> [1] 70
#> 
#> $evidence_length
#> [1] 59
#> 
#> $has_target_audience
#> [1] FALSE
#> 
#> $validation_status
#> [1] "completed"
#> 
#> $stage_number
#> [1] 1
#> 
#> $total_stages
#> [1] 5
#> 
#> $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