@chriddyp thanks a lot for the detailed reply. I understand that the type of approach I have with shiny is incompatible with the paralellization in dash.
In my case it’s not network issues I’m running into (I’m just running locally for testing), but really the cost of reading the json, at least when it’s read all in one big chunk. What you’ve outlined in the last section – splitting up the data into multiple smaller pieces – is a great idea and is the direction I started going in. That approach could take major advantage of the paralellization, but what does become difficult is to interact with the smaller pieces. To put another way, the last example would be pretty tricky to write if the user needed to specify [apples,oranges,figs]
and the list could be long. We discussed this briefly here also: Capture click on subplot. I guess if you fix the number of elements it becomes pretty doable (as per More sliders! (help with button callback example)).