NVIDIA
Enhancing User Experience with Advanced Window Management
NVIDIA, a global leader in computer graphics, AI, and Data Centre solutions, identified a need to enhance the user experience of their developer tools. The existing window management system was limiting the user experience, especially as the complexity and number of tools increased. The homegrown library that NVIDIA was using offered basic window management features, but it was not able to accommodate the growing needs of the company and its users. NVIDIA needed a solution that could provide advanced window management capabilities and a consistent look and feel across their toolset.
Implementing KDDockWidgets
KDAB offered a solution in the form of KDDockWidgets. This advanced docking system for Qt provided a powerful set of window management capabilities. Nvidia integrated KDDockWidgets in their NSight Suite developer toolkit, which is built with Qt. This integration provided a consistent look and feel across a number of NVIDIA's developer tools, including Nsight Graphics™ and Nsight Deep Learning Designer™. The integration process involved understanding the model and APIs that applications use to integrate KDDockWidgets. The challenge was to translate NVIDIA's abstractions into that model. KDAB provided support throughout this process, offering advice and guidance when needed.
The impact: improved user experience and enhanced window management
The integration of KDDockWidgets into NVIDIA's software toolkit resulted in significant improvements in window management. The tool windows in NVIDIA's software were unlocked, leading to better overall management and an enhanced user experience. Users could now dock in ways that were previously not possible, making the experience easier for them. Window management primitives like pinning offered an opportunity to reassess how default layouts were organized. The improved window management was a long-standing feature request from NVIDIA's users, and the integration of KDDockWidgets allowed NVIDIA to deliver a polished and stable capability to them. The ongoing development from KDAB ensured that NVIDIA would continue to receive quality updates and support when needed.
“KDAB’s reputation is excellent and we could have confidence that we would both receive quality updates as well as excellent support when we needed it.”
Daniel Price
Engineering Manager NVIDIA Nsight Graphics Tool
Looking ahead: continued development and collaboration
In conclusion, the collaboration between NVIDIA and KDAB has resulted in significant enhancements to NVIDIA's developer tools, improving the user experience and meeting long-standing user requests for improved window management. The success of this project demonstrates KDAB's expertise in software development and their commitment to providing high-quality solutions that meet the needs of their clients.
Interview with Daniel Price, Engineering Manager for the NVIDIA Nsight Graphics tool
What led you to KDDockWidgets?
Several years ago we identified that our window management was limiting our user experience. We had a homegrown library that offered some basic window management features, but as we wanted to scale to more tools (and more complex tools) we found that our system could not gracefully accommodate the needs that we had. We began looking at packages that could deliver upon the needs that we had, and we discovered KDDockWidgets in our search.
What persuaded you that KDDockWidgets was worth investing in?
As we completed our evaluation of KDDockWidgets and other alternatives, there were a number of factors that put KDDockWidgets at the top of our list. Firstly, we found that the example application within the KDDockWidgets package provided a compelling hands-on look experience with the tool. Screenshots are very valuable, but being able to interact with the software and play with the modes and configurability of the tool offered an experience from which we could extrapolate what we get, were we to use the tool. Secondly, we found that the licensing structure was friendly to our organization – by being open source, we were able to see the high quality of the code itself as well as the pace in which the engineers at KDAB develop the tool, while having a commercial licensing option allowed us to fit the library into our products in a way that met our licensing needs. Lastly, the fact that the tool is actively developed and supported by KDAB is a huge boon to us – KDAB’s reputation is excellent and we could have confidence that we would both receive quality updates as well as excellent support when we needed it.
What was your experience integrating it into your software?
Our experience started with getting an understanding of the model and APIs that applications use to integrate KDDockWidgets, and from there most of the challenge was determining the way to translate our abstractions into that model. The KDDockWidgets model was clean, although in some cases our own abstractions were not, and so we did have some work on our side to translate and adapt. In some cases, we identified areas where additions to KDDockWidgets could offer us some help, and we reached out to KDAB for support, and received quick and excellent advice and guidance from the team.
What has been your experience working with KDAB engineers?
Over the years that we have been using the tool, we have had a few feature requests for KDAB. The engineers at KDAB (especially Sérgio) have been readily responsive, and in some cases implemented our requests within days! Not only has this turnaround time been great, but it is always excellent to see the test-driven philosophy with which KDDockWidgets is developed, as this offers us a confidence that the work we receive will be of high quality.
What have you gained as a result?
Once we integrated KDDockWidgets, we unlocked the potential of our tool windows in our software. We found that our management just worked better in general, and being able to dock in ways we weren’t able to previously made the experience easier for our users. Window management primitives like pinning offered us an opportunity to reassess how we organize our default layouts, as well. Improved window management was a long-standing feature request from our users and it was great to be able to deliver our users a capability that was so polished and stable.
What do you hope for in the future?
I have been very happy to see the steady pace of development and polish that KDDockWidgets has received, and I hope to see that maintained in the future.
Anything you’d like to add?
It’s been a pleasure working with KDAB, both in this KDDockWidgets integration as well as in some consulting work that KDAB completed for us on other products.
Get in touch
If you have any questions or would like to talk about your own project needs, we look forward to hearing from you.
Contact us