{bidux}
brings the Behavior Insight Design (BID) framework into your
Shiny development workflow. Follow five staged functions (Interpret,
Notice, Anticipate, Structure, Validate) to systematically apply
behavioral science to UI/UX design and build more intuitive dashboards.
bid_interpret()
)bid_notice()
)bid_anticipate()
)bid_structure()
)bid_validate()
)bid_ingest_telemetry()
){bslib}
, {shiny}
, {reactable}
, {echarts4r}
, and moreInstall from CRAN:
install.packages("bidux")
Or the development version:
# install.packages("pak")
pak::pak("jrwinget/bidux")
library(shiny)
library(bidux)
# Document a simple BID pipeline
process <- bid_interpret(
central_question = "Which metrics drive decisions?",
data_story = list(
hook = "Key metrics hidden",
resolution = "Surface top metrics up front"
)
) |>
bid_notice(
problem = "Users struggle to find key metrics",
evidence = "70% of users spent >30s searching"
) |>
bid_anticipate(
bias_mitigations = list(anchoring = "Contextual defaults")
) |>
bid_structure() |>
bid_validate(
include_exp_design = FALSE,
include_telemetry = TRUE,
include_empower_tools = TRUE
)
# View suggestions
bid_suggest_components(process, package = "bslib")
# Generate an HTML report
bid_report(process, format = "html")
Leverage real user behavior to pinpoint UX friction with
{shiny.telemetry}
data:
# Ingest telemetry from SQLite or JSON
issues <- bid_ingest_telemetry(
"telemetry.sqlite",
format = "sqlite"
)
# Inspect detected issues
str(issues)
bid_ingest_telemetry()
automatically flags five friction indicators:
Use these insights to fuel the Notice stage and drive data-informed
UI improvements. See the full example and thresholds customization in
the See the package vignette 'Telemetry Integration' for a full example
(accessible via vignette("telemetry-integration", package="bidux")
).
Explore detailed guides:
vignette("introduction-to-bid")
: BID framework overviewvignette("getting-started")
: Quick start guidevignette("concepts-reference")
: Comprehensive concept dictionaryvignette("telemetry-integration")
: Integrating telemetry with BIDUXWe welcome all contributions! Please see Contributing Guide for guidelines, issue templates, and code style.
This project is MIT licensed. By contributing, you agree to our Code of Conduct.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.