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

Open
#355 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python

Research direction

Compare the three cited lecture files, especially the FloatSliders in lecture-dynamics/lectures/black_litterman.md and the disabled cells in lecture-python-advanced.myst/lectures/matsuyama.md. Inspect how the published static pages render ipywidgets and the existing Plotly approach, then make the black_litterman lectures consistent without leaving controls that appear interactive but do nothing.

Written by the indexing model from the issue text.

Description

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.

Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from QuantEcon/meta

All issues in QuantEcon/meta

Similar issues

More Content issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.