simularium / simularium-planning

Apache License 2.0
0 stars 0 forks source link

Pre-buffering for better playback interaction #38

Open toloudis opened 2 years ago

toloudis commented 2 years ago

Use Case

For a better user experience, the Viewer should pre-cache a trajectory as soon as we arrive. It should begin buffering so that users have a better chance of seeing something happen quickly when they press Play.

Additionally (and this could be considered an independent task) the playback timeline should show how much of the trajectory is locally buffered by shading along the timeline like a progress bar. A similar example would be how YouTube does it.

Acceptance Criteria

Acceptance criteria is specified in the use case.

Details

tbd - what is the precise styling for the timeline buffer progress, are there limits on how much to buffer, and are there any conditions in which pre-buffering is a bad idea?

ericjisaac commented 2 years ago

Lazy loading can be good for security (w/ this change a DDOS becomes as easy as a script to continuously open new tabs). Otherwise, this seems like a good change to me. Perhaps we could pre-load a limited part of the data (500mb max?) to address both concerns.

toloudis commented 2 years ago

I wonder, does youtube detect the similar DDOS situation where a large number of people request the same video at the same time? Or do they just have good enough scaling infrastructure to handle "anything", whereas we would have to detect this condition and start rejecting connections?

blairlyons commented 2 years ago

simularium/simularium-website#315 handles the time bar showing which frames are cached