Package: bidux 0.4.0

bidux: Behavioral Insight Design: A Toolkit for Integrating Behavioral Science in UI/UX Design

Provides a framework and toolkit to guide R dashboard developers in implementing the Behavioral Insight Design (BID) framework. The package offers functions for documenting each of the five stages (Interpret, Notice, Anticipate, Structure, and Validate), along with a comprehensive concept dictionary. Works with both 'shiny' applications and 'Quarto' dashboards.

Authors:Jeremy Winget [aut, cre]

bidux_0.4.0.tar.gz
bidux_0.4.0.zip(r-4.7)bidux_0.4.0.zip(r-4.6)bidux_0.4.0.zip(r-4.5)
bidux_0.4.0.tgz(r-4.6-any)bidux_0.4.0.tgz(r-4.5-any)
bidux_0.4.0.tar.gz(r-4.7-any)bidux_0.4.0.tar.gz(r-4.6-any)
bidux_0.4.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
bidux/json (API)

# Install 'bidux' in R:
install.packages('bidux', repos = c('https://jrwinget.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/jrwinget/bidux/issues

Pkgdown/docs site:https://jrwinget.github.io

On CRAN:

Conda:

7.65 score 17 stars 40 scripts 241 downloads 37 exports 42 dependencies

Last updated from:8e7d1b6b97. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK221
source / vignettesOK251
linux-release-x86_64OK202
macos-release-arm64OK158
macos-oldrel-arm64OK165
windows-develOK157
windows-releaseOK178
windows-oldrelOK323
wasm-releaseOK156

Exports:bid_addressbid_anticipatebid_conceptbid_conceptsbid_flagsbid_get_quietbid_ingest_telemetrybid_interpretbid_noticebid_notice_issuebid_noticesbid_pipelinebid_quick_suggestbid_reportbid_resultbid_set_quietbid_stagebid_structurebid_suggest_analyticsbid_suggest_componentsbid_telemetrybid_telemetry_presetsbid_validatebid_with_quietconvert_otel_spans_to_eventsextract_stageget_accessibility_recommendationsget_concept_bias_mappingsget_layout_conceptsget_metadataget_stageis_bid_stageis_completenew_bias_mitigationsnew_data_storynew_user_personassuggest_theory_from_mappings

Dependencies:bitbit64blobcachemclicliprcpp11crayonDBIdplyrfastmapgenericsgluehmsjanitorjsonlitelifecyclelubridatemagrittrmemoisepillarpkgconfigprettyunitsprogresspurrrR6readrrlangRSQLitesnakecasestringdiststringistringrtibbletidyrtidyselecttimechangetzdbutf8vctrsvroomwithr

bidux API Modernization Features
Introduction | What's New in 0.4.0 | Migration from 0.3.x to 0.4.0 | Enhanced Data Story Creation | Flat API (Required in 0.4.0+) | Legacy Nested Format (Removed in 0.4.0) | Migration from Nested to Flat Format | Modern BID Framework Interpretation | Structured Dashboard Layout with bid_structure | Complete Workflow Example | Error Handling and Validation | Removed Features | Telemetry Sensitivity Presets (New in 0.3.2) | Available Presets | Using Presets with Telemetry Analysis | Threshold Comparison | Tibble Integration | API Consistency Features | Breaking Changes in 0.4.0 | What Was Removed | Required Migration Steps | Backward Compatibility for Other Features | Summary | Core Features | Best Practices for 0.4.0+ | Migration from 0.3.x

Last update: 2026-02-27
Started: 2025-10-09

Getting Started with bidux
Introduction | The BID Framework: A Data-Driven Approach to UX | Exploring the Concept Dictionary | Documenting a Dashboard Project with BID | Stage 1: Interpret the User's Need | Stage 2: Notice the Problem | Stage 3: Anticipate User Behavior | Stage 4: Structure the Dashboard | Working with Suggestions: Nested vs Flattened Format | Stage 5: Validate & Empower the User | Generating Implementation Suggestions | Creating a Complete BID Report | Using BID in Your Shiny Development Workflow | Conclusion | Integrating Telemetry Data | Understanding the Two Telemetry Functions | Using Sensitivity Presets (New in 0.3.2) | Comparing Preset Sensitivities | Modern Telemetry Workflow with bid_telemetry() | Legacy Workflow with bid_ingest_telemetry() | Complete Telemetry-Informed BID Example | When to Use Which Function

Last update: 2026-02-27
Started: 2025-04-04

Practical Examples: Before and After Dashboard Transformations
Introduction: Real Dashboard Problems, Real Solutions | Example 1: The "Everything Dashboard" Problem | The Scenario | Before: Technical Excellence, User Confusion | The Problem: Cognitive Overload | BID Framework Solution | After: Cognitively Optimized Dashboard | Example 2: The "Data Dump" Report Problem | Before: All Data, No Insights | The Problem: Analysis Paralysis | BID Solution: User-Centric Design | After: Insight-Driven Sales Dashboard | Example 3: The "Technical Metrics" Challenge | BID Solution: Audience-Aware Design | After: Multi-Audience Technical Dashboard | Example 4: The Telemetry-Driven Improvement | Discovering Problems with Data | BID Framework with Data-Driven Insights | After: Data-Driven Date Filter Redesign | Best Practices Summary | 1. Start with User Intent, Not Data Structure | 2. Progressive Disclosure Over Information Density | 3. Context Over Raw Numbers | Next Steps

Last update: 2026-02-27
Started: 2025-09-06

Advanced BID Workflows: Power User Techniques
Introduction: Beyond Basic BID Implementation | Advanced Pattern 1: Automated BID Analysis Pipeline | The Challenge | Solution: Systematic BID Pipeline | Telemetry Sensitivity Presets for Different Contexts | Advanced Pattern 2: Custom Behavioral Science Extensions | Extending the Concept Dictionary | Advanced Pattern 3: A/B Testing for UX Improvements | Systematic UX Experimentation | Advanced Pattern 4: Continuous UX Monitoring | Dashboard Health Monitoring System | Advanced Pattern 5: Custom BID Stage Extensions | Creating Domain-Specific BID Stages | Integration with Existing Data Science Workflows | Embedding BID in Data Science Projects | Best Practices for Advanced Users | 1. Systematic Documentation | 2. Collaborative Workflows | 3. Continuous Learning | Practical Example: End-to-End Workflow with Presets | Conclusion

Last update: 2026-02-05
Started: 2025-09-06

Integrating {shiny.telemetry} with bidux
Overview | Choosing a Telemetry Source | When to Use Each | Automatic Format Detection | Modern vs Legacy API | Modern API (0.3.1+): bid_telemetry() | Legacy API (Backward Compatible): bid_ingest_telemetry() | Prerequisites | Analyzing Telemetry Data | Configuring Analysis Sensitivity with Presets | Available Presets | Strict Preset | Moderate Preset (Default) | Relaxed Preset | Custom Thresholds | Comparing Presets | Understanding the Analysis | 1. Unused or Under-used Inputs | 2. Delayed First Interactions | 3. Frequent Errors | 4. Navigation Drop-offs | 5. Confusion Patterns | Bridge Functions for BID Integration | Converting Individual Issues: bid_notice_issue() | Converting Multiple Issues: bid_notices() | Quick Issue Addressing: bid_address() | Pipeline Processing: bid_pipeline() | Using Telemetry Flags for Layout Optimization | Understanding the Hybrid Object | Integrating with BID Workflow | Real-World Example: E-commerce Dashboard Optimization | The Scenario | Step 1: Diagnose with Telemetry Data | Step 2: Apply BID Framework Systematically | Step 3: Implement Evidence-Based Improvements | Step 4: Measure the Impact | Complete Modern Workflow Example | Best Practices | Conclusion

Last update: 2026-02-05
Started: 2025-07-29

Quick Start: Improve Your Shiny Dashboard in 15 Minutes
What This Guide Covers | The Fast Path: Common Problems, Quick Solutions | Problem 1: "Users Are Overwhelmed by Too Many Filters" | Problem 2: "Dashboard Takes Too Long to Understand" | Problem 3: "Navigation Is Confusing" | Quick Telemetry Analysis | Step 1: Analyze Your Telemetry Data | Step 2: Focus on High-Impact Issues | Step 3: Convert Issues to BID Workflow | Step 4: Use Flags for Decision Making | When to Use the Full Framework | You're Building a New Dashboard | You're Redesigning Based on Feedback | You Need to Justify Design Decisions | Practical Tips | Start Small | Use Presets Wisely | Iterate Based on Results | Combine Concepts | Next Steps | Learn More | Explore the Concept Dictionary | Get Component Suggestions | Join the Community | Summary: Your 15-Minute Action Plan

Last update: 2026-02-05
Started: 2025-11-14

Using Shiny's Native OpenTelemetry with Bidux
Introduction | What is OpenTelemetry? | Why Use OpenTelemetry with Shiny? | Prerequisites | Setting Up OpenTelemetry in Your Shiny App | Basic Configuration | Collection Levels | Export Formats | Option 1: File Export (for Bidux Analysis) | Option 2: SQLite Database Export | Option 3: Live Collectors (Jaeger, Grafana, etc.) | Environment Variables Reference | How OTEL Spans Are Converted to Bidux Events | Span Type Mappings | Column Schema | ID Extraction Logic | Timestamp Conversion | Duration Calculation | Analyzing OTEL Data with Bidux | The Workflow (Same as shiny.telemetry!) | Format Auto-Detection | Understanding OTEL Span Conversion | Span Name Patterns | Attribute Extraction | Complete Example: From Setup to Analysis | Comparison: shiny.telemetry vs Shiny Native OTEL | When to Use Each | Migration Considerations | Should You Switch from shiny.telemetry to OTEL? | Migration Strategy | Troubleshooting | Common Issues and Solutions | Advanced Topics | Custom Span Attributes | Filtering Analysis by Attributes | Best Practices | References | Next Steps

Last update: 2026-02-05
Started: 2026-02-05

Behavioral Science for Data Scientists: Why Your Dashboard Users Think Differently Than You Do
Introduction: The Gap Between Data Creators and Data Users | The Core Problem: Cognitive Load vs. Analytical Depth | What You're Optimized For (as a data scientist) | What Your Users Need (cognitive efficiency) | Key Behavioral Science Concepts for Data People | 1. Cognitive Load Theory: The Mental RAM Problem | 2. Anchoring Bias: The First Number Problem | 3. Framing Effects: How You Say It Matters More Than What You Say | 4. Choice Overload: Why More Options Create Worse Outcomes | Translating Data Science Skills to UX Thinking | Your A/B Testing Mindset → UX Validation | Your Data Validation Process → User Mental Model Validation | The BID Framework: A Systematic Approach for Data People | Stage 1: Interpret (Like defining your research question) | Stage 2: Notice (Like identifying data quality issues) | Stage 3: Anticipate (Like checking for statistical biases) | Stage 4: Structure (Like choosing the right visualization) | Stage 5: Validate (Like testing your model) | Practical Next Steps | Why This Matters for You | Resources for Further Learning

Last update: 2025-09-06
Started: 2025-09-06

BID Framework Concepts: Practical Implementation
Framework Overview | Stage 1: Interpret - Implementing Data Storytelling | Using {echarts4r} for Data Storytelling | Key Design Principles for Data Storytelling: | Stage 2: Notice - Reducing Cognitive Load | Using {bslib} to Reduce Cognitive Load | Key Elements for Reducing Cognitive Load: | Stage 3: Anticipate - Mitigating Anchoring Bias | Using {reactable} and {echarts4r} to Mitigate Anchoring | Key Elements of Breathable Layouts: | Using {bslib} for Breathable Layouts | Key Techniques for Mitigating Anchoring Bias: | Stage 5: Validate - Implementing the Peak-End Rule | Using {bslib} to Implement the Peak-End Rule | Key Elements of Implementing the Peak-End Rule: | Conclusion

Last update: 2025-09-06
Started: 2025-04-15

Introduction to the BID Framework
Introduction

Last update: 2025-09-06
Started: 2025-04-04

Readme and manuals

Help Manual

Help pageTopics
Convert bid_issues object to tibbleas_tibble.bid_issues
Convert bid_stage to tibbleas_tibble.bid_stage
Create Notice stage from single telemetry issue (sugar)bid_address
Document User Behavior Anticipation Stage in BID Frameworkbid_anticipate
Get detailed information about a specific conceptbid_concept
Search BID Framework Conceptsbid_concepts
Extract telemetry flags from bid_issues objectbid_flags bid_flags.bid_issues bid_flags.default
Get current quiet mode settingbid_get_quiet
Ingest telemetry data and identify UX friction pointsbid_ingest_telemetry
Document User Interpretation Stage in BID Frameworkbid_interpret
Document User Notice Stage in BID Frameworkbid_notice
Create Notice stage from individual telemetry issuebid_notice_issue
Create multiple Notice stages from telemetry issuesbid_notices
Create pipeline of Notice stages from top telemetry issues (sugar)bid_pipeline
Quick UX Suggestions for R Dashboard Developersbid_quick_suggest
Generate BID Framework Reportbid_report
Constructor for BID result collection objectsbid_result
Set global quiet mode for bidux functionsbid_set_quiet
Constructor for BID stage objectsbid_stage
Document Dashboard Structure Stage in BID Frameworkbid_structure
Suggest alternative analytics solutions for static dashboardsbid_suggest_analytics
Suggest UI Components Based on BID Framework Analysisbid_suggest_components
Concise telemetry analysis with tidy outputbid_telemetry
Get predefined telemetry sensitivity presetsbid_telemetry_presets
Document User Validation Stage in BID Frameworkbid_validate
Temporarily suppress bidux messagesbid_with_quiet
Convert OTLP spans to bidux event schemaconvert_otel_spans_to_events
Extract specific stage from bid_resultextract_stage
Get accessibility recommendations for a given contextget_accessibility_recommendations
Get bias mitigation strategies for conceptsget_concept_bias_mappings
Get concepts recommended for a layoutget_layout_concepts
Get metadata from bid_stage objectget_metadata
Get stage name from bid_stage objectget_stage
Check if object is a bid_stageis_bid_stage
Check if workflow is complete (has all 5 stages)is_complete
Create bias mitigations tibblenew_bias_mitigations
Create a data story objectnew_data_story
Create user personas tibblenew_user_personas
Print method for bias mitigations objectsprint.bid_bias_mitigations
Print method for data story objectsprint.bid_data_story
Print method for bid_issues objectsprint.bid_issues
Print method for BID result objectsprint.bid_result
Print method for BID stage objectsprint.bid_stage
Print method for user personas objectsprint.bid_user_personas
Suggest theory based on problem and evidence using mappingssuggest_theory_from_mappings
Summary method for BID result objectssummary.bid_result
Summary method for BID stage objectssummary.bid_stage