Recent Releases of bidux

bidux - bidux 0.3.0 - Workflow refresh, auto-layout, and smarter suggestions ✨

This release reorders the BID workflow, introduces automatic layout selection, and adds accessibility- and telemetry-aware suggestions across the pipeline. It supersedes the unaccepted 0.2.0 submission; the previous public release was 0.1.0.

🚨 Breaking changes

  • Stage order updated: Interpret β†’ Notice β†’ Anticipate β†’ Structure β†’ Validate (more natural flow; still supports iteration).
  • bid_structure() removes layout: Layout is now auto-selected via deterministic heuristics from prior stages. Supplying layout throws a helpful error.
  • Field names standardized (returned objects):
    • previous_question β†’ previous_central_question
    • previous_story_hook β†’ previous_hook
    • user_personas β†’ personas (in bid_interpret() output)

⏳ Deprecation (warn now; remove in 0.4.0)

  • target_audience in bid_notice() β†’ move audience to bid_interpret(data_story=..., user_personas=...).
  • interaction_principles in bid_anticipate() β†’ replaced by include_accessibility.

✨ New & improved

  • Auto layout inference in bid_structure() with ranked, concept-grouped suggestions (rationales + relevance scores).
  • Accessibility-focused mitigations in bid_anticipate(include_accessibility = TRUE).
  • Validation flags in bid_validate(): include_exp_design, include_telemetry, include_empower_tools.
  • Telemetry-aware scoring that can avoid problematic patterns (e.g., tabs when nav_dropoff_tabs detected).
  • Improved context propagation across stages + clearer CLI messages.
  • Comprehensive tests for heuristics, deprecation(s), telemetry integration, and errors.

🧭 Migration guide (quick)

Before (≀0.2.x): ```r notice <- bidnotice( problem = "Users confused", evidence = "High error rate", targetaudience = "Analysts" )

anticipate <- bidanticipate( previousstage = structureresult, interactionprinciples = list(hover = "Show details") ) ````

After (0.3.0): ```r notice <- bid_notice( problem = "Users confused", evidence = "High error rate" )

interpret <- bidinterpret( previousstage = notice, data_story = list(audience = "Analysts") )

anticipate <- bidanticipate( previousstage = structureresult, includeaccessibility = TRUE )

Field access updates:

previouscentralquestion (was previous_question)

previoushook (was previousstory_hook)

```

See the full β€œMIGRATION GUIDE” section in NEWS.md for more examples.

πŸ§ͺ QA notes

  • R CMD check: 0 errors | 0 warnings | 0 notes
  • Examples/vignettes run quickly; no long-running examples.

πŸ“¦ Install

  • CRAN:

r install.packages("bidux") * Development:

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

πŸ™Œ Acknowledgments

Thanks to the community and reviewers whose feedback informed this release.

πŸ“œ Full changelog

- R
Published by jrwinget 10 months ago

bidux - bidux 0.1.0

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

noticeresult <- bidnotice( problem = "Users can't find important metrics", evidence = "70% of users spend >30s searching" )

interpretresult <- bidinterpret( previousstage = noticeresult, centralquestion = "How are sales trending against targets?", datastory = 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

bidsuggestcomponents(structure_result, package = "bslib")

Get suggestions across all supported packages

bidsuggestcomponents(validate_result) ```

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

πŸ“‹ Comprehensive Reporting

Generate documentation in multiple formats:

```

Generate reports

textreport <- bidreport(validateresult) htmlreport <- bidreport(validateresult, format = "html") mdreport <- bidreport(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

mydashboard <- bidnotice( problem = "Users overwhelmed by complex interface", evidence = "User testing shows high bounce rates" ) |> bidinterpret( centralquestion = "How can we simplify the user experience?", datastory = list( hook = "Interface complexity is blocking user success", resolution = "Apply progressive disclosure principles" ) ) |> bidstructure(layout = "dualprocess") |> bidanticipate( biasmitigations = list( anchoring = "Provide multiple reference points", framing = "Use positive progress indicators" ) ) |> bidvalidate( summary_panel = "Clear action items with next steps", collaboration = "Team sharing and annotation features" )

Get implementation suggestions

suggestions <- bidsuggestcomponents(my_dashboard, "bslib")

Generate comprehensive report

report <- bidreport(mydashboard, 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

- R
Published by jrwinget about 1 year ago