question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Interactivity warning / binder link / download link of notebooks

See original GitHub issue

Some documentation pages, that are built out of notebooks, require an active Python kernel to be fully interactive. For instance, anything that creates datashaded Bokeh plots would need Python running in the background to allow users to see that datashading happens every time they zoom in and out. Getting to a stage where the full interactivity would directly be available to users when they visit a site seems like it might one day be possible thanks to WASM, yet all of that is still pretty experimental and also comes with some disadvantages (e.g. increased page size). So for now we have to live with having no active Python kernel and static websites. To let the user know about this, a few solutions are available:

  • a download link can be offered, which allows users to download the notebook and run it to get the full-interactivity. It assumes they have already set up their environment to run the notebook. Note that a download link is useful even if the users aren’t interested in the full-interactivity, for instance if they just want to play around with the code, want that notebook as a starting point, etc.
  • a Binder link can be offered. It has the same benefits as the download link, with the advantage of not forcing the user to install anything locally to run the notebook, and the disadvantage that Binder doesn’t always work (it’s a free service after all 🙃 )
  • an interactivity warning box can be added to the page to indicate users that not all the interactivity will work in the page. This box can include download and binder links.

To illustrate these solutions, currently on this Panel page there’s:

  • a download link at the page start
  • a Binder link in the right side bar
  • an interactivity warning box in the right side bar, that offers a download link
  • a download link at the page bottom (not shown in the screenshot)
image

As can be seen, these solutions can each be improved individually, but also should probably be rearranged/merged so that we don’t end up with as many links as on the Panel page above.

For now I’m not making any suggestion, I’m just opening the discussion 😃 I would also suggest not focusing too much on the tooling to start the discussion (e.g. what nbsite does now, what pydata-sphinx-theme offers, etc.), instead I believe the discussion should focus first on the user experience, and then seek whether the available tools offer what has been decided, and if not see how hard it would be to implement it ourselves.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
droumiscommented, Sep 9, 2022

Since Jan 1, 2022, the fraction of mobile users on our websites:

hvplot is at ~11% panel is at ~18%

all the other sites that we are tracking are somewhere within that range

1reaction
droumiscommented, Aug 29, 2022

I agree and see three problems:

  1. Some users expect full interactivity, don’t see the warnings, and then get dissapointed by holoviz tools.
  2. Some users see the warnings about needing to download for full interactively, and now have to go through the process of getting their environment set up, which adds cognitive and practical overhead.
  3. The binder link is small and in a weird location under “on this page”, so I think a lot of people miss it.

The ideal solution is of course to have them be fully interactive, which goes into an infrastructure and implementation discussion. I don’t want to derail this conversation, but I think it would be worth discussing at some point soon.

For the near term, sticking with the current infrastructure, I think some sort of more prominent watermark or alert banner is an ugly but effective temporary idea. It doesn’t have to cover the whole figure; maybe just the corner, or as a banner that can be closed by the user. Given that binder potentially solves the second problem (when it works) I think it should be merged and incorporated into the banner. Something like:

"Follow install instructions for full Python-backed interactivity, or open this page in Binder

If people don’t like the plot watermark/banner idea, I think at least adding the binder link/text to the sticky bottom right alert box that says “…Right click to download and run locally…” is an improvement.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Launch buttons for interactivity - Sphinx Book Theme
Launch buttons for interactivity#. You can automatically add buttons that allow users to interact with your book's content.
Read more >
Free For All Subjects Interactive Notebooks | Teachers Pay Teachers
They are a great tool for teaching students how to keep their binders, journals, or interactive notebooks organized. 15 sheets are included ...
Read more >
Binder
Turn a Git repo into a collection of interactive notebooks. Have a repository full of Jupyter notebooks? With Binder, open those notebooks in...
Read more >
Introducing Binder 2.0 — share your interactive research ...
Binder allows researchers to quickly create the computational environment needed to interact with research code and data shared online. To ...
Read more >
oggm/cloud.rst at master · OGGM/oggm · GitHub
Just click on the link below to get you started! ... introduction to interactive notebooks quite useful. Warning. Binder environments are only temporary!...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found