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()removeslayout: Layout is now auto-selected via deterministic heuristics from prior stages. Supplyinglayoutthrows a helpful error.- Field names standardized (returned objects):
previous_questionβprevious_central_questionprevious_story_hookβprevious_hookuser_personasβpersonas(inbid_interpret()output)
β³ Deprecation (warn now; remove in 0.4.0)
target_audienceinbid_notice()β move audience tobid_interpret(data_story=..., user_personas=...).interaction_principlesinbid_anticipate()β replaced byinclude_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_tabsdetected). - 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.mdfor 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
- See
NEWS.mdfor details. - Compare: https://github.com/jrwinget/bidux/compare/v0.1.0...v0.3.0
- 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:
- Notice the Problem - Identify friction points using cognitive load principles
- Interpret the User's Need - Create compelling data stories and user personas
- Structure the Dashboard - Apply layout patterns and accessibility considerations
- Anticipate User Behavior - Mitigate cognitive biases and design effective interactions
- 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
- BID Introduction:
vignette("introduction-to-bid") - Concept Reference:
vignette("concepts-reference") - Getting Started:
vignette("getting-started") - BID Framework: https://github.com/jrwinget/bid-framework
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?
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π§ Contact: contact@jrwinget.com
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