Skip to content

bidux 0.1.0

Choose a tag to compare

@jrwinget jrwinget released this 16 Jun 17:09
· 35 commits to main since this release

bidux 0.1.0 - Initial CRAN Release 🎉

We're excited to announce the first official release of bidux, a comprehensive toolkit for integrating behavioral science into Shiny UI/UX design using the Behavior Insight Design (BID) framework.

What is bidux?

The {bidux} package guides Shiny developers through a structured 5-stage process:

  1. Notice the Problem - Identify friction points using cognitive load principles
  2. Interpret the User's Need - Create compelling data stories and user personas
  3. Structure the Dashboard - Apply layout patterns and accessibility considerations
  4. Anticipate User Behavior - Mitigate cognitive biases and design effective interactions
  5. Validate & Empower the User - Provide summary insights and collaboration features

Key Features

🧠 Comprehensive Concept Dictionary

  • 41+ behavioral science concepts with implementation guidance
  • Searchable database: bid_concepts("cognitive")
  • Detailed concept information: bid_concept("anchoring effect")

🛠️ Stage-by-Stage Documentation Functions

# Complete BID workflow
notice_result <- bid_notice(
  problem = "Users can't find important metrics",
  evidence = "70% of users spend >30s searching"
)

interpret_result <- bid_interpret(
  previous_stage = notice_result,
  central_question = "How are sales trending against targets?",
  data_story = list(
    hook = "Sales trending below target",
    context = "Previous quarters exceeded targets",
    tension = "What's causing the decline?",
    resolution = "Identify underperforming categories"
  )
)

# Continue through all 5 stages...

🎨 UI Component Suggestions

Get concrete implementation ideas for popular R packages:

# Get bslib suggestions
bid_suggest_components(structure_result, package = "bslib")

# Get suggestions across all supported packages
bid_suggest_components(validate_result)

Currently supports: {shiny}, {bslib}, {DT}, {plotly}, {reactable}, and {htmlwidgets}

📋 Comprehensive Reporting

Generate documentation in multiple formats:

# Generate reports
text_report <- bid_report(validate_result)
html_report <- bid_report(validate_result, format = "html") 
md_report <- bid_report(validate_result, format = "markdown")

Installation

From CRAN (Recommended)

install.packages("bidux")

Development Version

# install.packages("pak")
pak::pak("jrwinget/bidux")

Getting Started

library(bidux)

# Quick start - pipeline approach
my_dashboard <- bid_notice(
  problem = "Users overwhelmed by complex interface",
  evidence = "User testing shows high bounce rates"
) |>
  bid_interpret(
    central_question = "How can we simplify the user experience?",
    data_story = list(
      hook = "Interface complexity is blocking user success",
      resolution = "Apply progressive disclosure principles"
    )
  ) |>
  bid_structure(layout = "dual_process") |>
  bid_anticipate(
    bias_mitigations = list(
      anchoring = "Provide multiple reference points",
      framing = "Use positive progress indicators"
    )
  ) |>
  bid_validate(
    summary_panel = "Clear action items with next steps",
    collaboration = "Team sharing and annotation features"
  )

# Get implementation suggestions
suggestions <- bid_suggest_components(my_dashboard, "bslib")

# Generate comprehensive report
report <- bid_report(my_dashboard, format = "html")

Documentation & Learning

What's New in v0.1.0

Core Framework

  • ✅ Complete 5-stage BID framework implementation
  • ✅ Intelligent theory auto-suggestion system
  • ✅ Comprehensive concept dictionary with 41+ psychology principles
  • ✅ Advanced concept matching with fuzzy search

User Experience

  • ✅ Informative console messages with progress tracking
  • ✅ Auto-suggestion for missing parameters
  • ✅ Comprehensive validation and error handling
  • ✅ Stage-aware recommendations

Component Integration

  • ✅ UI component suggestions for 6 major R packages
  • ✅ Relevance scoring based on BID analysis
  • ✅ Context-aware recommendations

Reporting & Documentation

  • ✅ Multi-format report generation (text, HTML, markdown)
  • ✅ Complete implementation recommendations
  • ✅ Learning resource integration

Developer Experience

  • ✅ Comprehensive test suite (95%+ coverage)
  • ✅ Extensive documentation with examples
  • ✅ Three detailed vignettes
  • ✅ Tidyverse-style API design

Technical Details

  • R Version: Requires R >= 4.1.0
  • Dependencies: Carefully curated with minimal footprint
  • Testing: Comprehensive test suite across multiple R versions
  • CI/CD: GitHub Actions for automated testing and documentation

Breaking Changes

None - this is the initial release.

Bug Reports & Feature Requests

Found an issue or have ideas for improvement?

Citation

If you use {bidux} in your research or work, please cite:

citation("bidux")

Acknowledgments

Special thanks to the R community, Shiny developers, and behavioral science researchers who inspired this framework.


Happy designing! 🎨📊


Full Changelog

Added

  • Complete BID framework implementation with 5 sequential stages
  • Comprehensive concept dictionary with 41+ behavioral psychology principles
  • Intelligent theory auto-suggestion system
  • UI component suggestions for {shiny}, {bslib}, {DT}, {plotly}, {reactable}, {htmlwidgets}
  • Multi-format reporting (text, HTML, markdown)
  • Test suite with ~60% code coverage
  • Three detailed vignettes with practical examples
  • Advanced concept matching with fuzzy search
  • Stage-aware progress tracking and recommendations
  • Extensive validation and error handling
  • CRAN-ready package with clean R CMD check results

Documentation

  • Complete function documentation with examples
  • Introduction to BID vignette
  • Concepts Reference vignette
  • Getting Started vignette
  • README with comprehensive examples

Infrastructure

  • GitHub Actions CI/CD pipeline
  • Automated testing across multiple R versions and platforms
  • Code coverage reporting
  • Automated documentation deployment