During my everyday work building enterprise web applications in the latest years I’ve often faced the problem of showing to the user a very large quantity of complex structured data, sometimes grouped by some parameter, with values computed on such data and recomputed on the fly based on the modifications he makes.

“A honeycomb pattern in the facade of a modern office building” by chuttersnap on Unsplash

Personally, I usually prefer simpler UIs to complex data grids, where there is only the strict necessary, the actions I can do are limited and the software guides my interaction with data. Sometimes, however, especially in highly specialized applications, it’s preferable to realize complex UIs where the user can work on lots of objects at the same time, monitoring the state of the application in one sight. In such cases special attention must be paid to the smoothness and responsiveness of the interaction.

Luckily, today users have powerful computers, that are able to work with large amounts of data, with very performing browsers and software technologies like flexbox, css3, local storage and so on, and there are frontend frameworks like React, that are able to minimize DOM manipulations during rendering.