When the grid became the interface
Somewhere in the last decade, the data grid stopped being a display component and became the interface.
Think about how people actually use software now. They don’t navigate a carefully designed information architecture. They open the grid, filter it, sort it, group it, and then they stay there. For a lot of users the grid isn’t part of the application. It is the application, and it’s where they spend their entire day.
We learned this the slow way
We started with plain HTML tables.
Then a commercial grid, which was the right call at the time, until screens with 100+ columns and a few thousand rows made scrolling genuinely unusable.
So we moved to a faster one, solved the performance problem, and assumed we were finished.
We weren’t. We just stopped losing time to rendering and started losing it to everything around rendering. Saving a user’s view and restoring it later sounds trivial, and stops being trivial the moment a view definition can introduce its own columns and you’re reconciling saved state against a column set that changed underneath it.
Meanwhile every non-trivial cell type became a small project. An indexed list of values needed a custom renderer, then a custom filter, then a custom comparator. One cell type, three pieces of bespoke code.
None of those products are bad. We just kept needing things their design didn’t want to give us.
Grids are built for developers
The deeper realisation came later, and it’s this. Grids are sold to developers, so grids are built for developers. Every roadmap decision optimises for the person integrating the component. Almost none of them optimise for the person sitting in front of it.
And that person has real problems nobody was solving.
They need to share their screen with a customer, or present to a room, and there’s PII on it. They have every right to see that data. The people watching don’t. So today they hide columns, which often takes derived values like totals with them, or they screenshot the screen and blur it by hand, which turns a working application into a picture of one.
That isn’t a permissions problem. It’s a presentation problem, and a grid should just handle it.
So we built the tools in
Column redaction for screen sharing and presenting. On-screen annotation, so you can point at something and talk about it. Full-screen mode, because for the next hour the grid is the only thing they’re using. Presentation mode, for when the font is too small at the back of the room.
Not add-ons. Not a premium tier. Standard, for every user of every deployment.
That last part matters more than it sounds. Lattice Grid is licensed per domain rather than per seat, so features aimed at end users don’t arrive with a per-head bill attached. Per-seat pricing is the reason vendors hold user-facing features back. Remove it and you can just ship them to everyone.
We built Lattice Grid because performance was never the part that cost us the most. It was everything that came after.