I wrote about an issue I had with a LiveView application, and how I solved the problem by debouncing updates server-side (within the LiveView process). Includes simple example of the idea I wanted to share.
I know the Cyan View people dealt with the same problem, because they have slow embedded devices and a bunch of camera telemetry events. They gave a Keynote at CodeBEAM Europe last year but didn’t really explain how they solved the batching. They just mention Ecto EmbeddedSchema but here’s the relevant part of the talk:
The other solution i could think of, is to have a GenServer which receives the high bandwidth signals and publishes them on the tick interval. This way, you save the LiveView process from the work and can eventually centralize the work for all clients and do the work once.
Note: I’ve changed the post from using the term “debounce” to “batch”… I should have checked I was using the correct term before publishing ![]()






















