New Control Panel Diaries: Infinite Scrolling And Ag-Grid

HEXONET is known for great technology, including our industry-leading API. However, while our old control panel was extremely powerful, we started to think it was a bit outdated. We continually want to provide our customers with the best experience possible and felt it was time for a change. This conversation began close to three years ago.

We sat down and brainstormed basic (and advanced) requirements for our new control panel, including speed and security. We made technological decisions to push what's possible forward. And we built a front-end team to help rebuild all our front-end systems. If you're into front-end development, you know that frameworks are very ephemeral, you'll appreciate this article

We soon realized that a very critical component of our interface is the data grid. This is the table that shows you the list of all your domains, or the list of your DNS records. We wanted to create something that is easy to use, fast, and powerful. Instead of going through pages upon pages of data, we wanted to give you the option to simply scroll. While this may not be a problem for those who have a small number of domains, once your domain portfolio reaches into the hundreds, everything can get a bit clumsy. Enter, infinite scrolling.

Infinite scrolling is similar to a Pinterest table grid. As you keep scrolling, more data appears. The secret is to achieve this without affecting the performance of the browser. In a normal web page, the bigger the table, the bigger the DOM and the more the browser has to work to render that page for you. Have you ever had a table with 10,000 rows and your browser chokes? Infinite scrolling has solved this by removing rows at the top and adding new ones at the bottom as you scroll down. This means that at any given moment, the actual rows rendered by the browser are significantly diminished.

At the beginning of 2015, we were trying out different options, however, nothing performed to our liking. I began to think that there wasn't a performing grid out there that could do what we intended. We ended up finding ag-Grid (Angular Grid back then). It was really rudimentary but very fast.

Ag-Grid was started by Niall Crosby out of frustration. He had the same frustrations we had. We started with version 1.2. While building our app, we helped Niall improve ag-Grid with suggestions, code, bug fixes, and even financial backing. Niall was doing an amazing job, and the grid kept getting better and better. Today, ag-Grid version 16.0 is available, and it has grown into a company.

Since ag-Grid is such an important component for us, we wanted to sit down and chat with Niall about the grid, and where he sees it going in the future. Read on for our interview with Niall Crosby.

Lucas: What was your inspiration for ag-Grid?

Niall: My background is in Java enterprise application development where I worked with enterprise-grade datagrids like Swing JTable.

When I moved to JavaScript, I found the choice was much more limited. Different JavaScript grids appeared to be good at some things but not others. A grid that performed fast such as SlickGrid didn't allow you to pin columns or group data. Those that did try to pin columns or group data suffered from poor performance.

So, my inspiration was the Java datagrids that delivered the features together with the performance required in this new JavaScript world.

L: What is your biggest accomplishment to date?

N: I'll mention two - one on the business side and the other on the technical front.

On the business side, we are most proud of creating a market leading company from an open source project. This has long been the dream of many side projects. When we speak to our users and customers, that is the idea that catches their imagination. We managed to not only get paid for Open Source but also to create a vibrant, sustainable company.

On the technical side, our biggest achievement is continually striking the balance between packing in lots of features while also maintaining performance and quality. Ultimately, our product is the reason for our success and we are relentlessly focused on it.

L: Where do you see ag-Grid going in the future?

N: We want to keep going on our current mission: developing the best JavaScript datagrid the world has seen.

It has been an exciting journey to get here, however, it's a competitive marketplace. We need to keep our eye on the ball and make sure we keep pushing ourselves forward so we remain the market leader.

This means listening to our customers, perfecting existing product and responding to changing needs in our space.

L: Awesome thanks, Niall. Appreciate your time and insights.

We're glad we took the time to connect with Niall and hear about what drives him. It's interesting to take the time to look beyond our direct industry and catch up with others. There are many incredible folks out there pushing their own industries forward with passion, an eye on the competition, and the drive to continually improve. We hope you enjoyed reading this post as much as we enjoyed creating it.

As we look to future, we'd love to hear what you think of our current control panel. How are we doing? What would you like to see us address next? Please feel free to message us at anytime with your feedback.