Hacker News new | ask | show | jobs
by inopinatus 813 days ago
> If a new row comes in, you just need to push it to your table, and LiveView will update the client for you.

Don’t do this in line-of-business apps where those rows are interactive. The cognitive latency readily induces users into clicking the wrong thing, emailing the wrong customer, refunding the wrong transaction etc. My preferred UX instead is a sticky banner conveying “the data has changed, click here to refresh”. Or, in a pinch, ensure that new rows are rendered append-only with no change in scroll position.

1 comments

This CAN work, if you animate in the new lines slowly and (maybe) disable clicks while new data is coming in.
I definitely prefer this over click-to-refresh banners. I want to make as few decisions as possible when completing a well-defined task on a computer.