Skip to content

Sliders that look interactive but are not: ipywidgets in published lectures #355

Description

@mmcky

Three published lectures take three different approaches to an ipywidgets slider, and one of them misleads readers.

Lecture What ships
lecture-dynamics/lectures/black_litterman.md Three FloatSliders at lines 404, 644 and 700. dynamics.quantecon.org/black_litterman.html renders them as draggable controls with no kernel behind them — the embedded widget state holds a single frozen PNG per output. A reader can drag them and nothing will ever happen
lecture-python-advanced.myst/lectures/black_litterman.md The same lecture with the widget code stripped — zero FloatSlider
lecture-python-advanced.myst/lectures/matsuyama.md:794-828 Widget disabled, with an honest note — "This interactive plot is disabled on this static webpage" — and the cells tagged to skip execution

The third is the only one that does not mislead. The first is the worst outcome available: a control that invites interaction and silently does nothing.

A concrete fix exists for the black_litterman case

The three sliders span 20, 15 and 21 discrete values — τ from 0.05 to 10 in steps of 0.5, λ from 0.1 to 7 in steps of 0.5, and λ from 5 to 1500 in steps of 100. A grid that size precomputes comfortably into plotly animation frames or updatemenus, which are genuinely interactive client-side on a static page with no kernel and no server. That turns a dead control into a live one rather than merely labelling it dead.

Whichever way it goes, the three lectures should agree.

Surfaced while evaluating #54; see also #354 on the plotly renderer inconsistency, which is the same underlying question — what "interactive figure" means on a statically hosted page.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions