we are building software that has master detail design with tree view on left for selection and data grid on the rights for details (like in windows file explorer). File explorer

now we are discussing the case when for selected node all rows inside details grid have empty values for the some column (like size on screenshot). Is it correct to hide such empty columns or not?

4 Answers 4


What does the user gain from it being hidden? And what does he or she lose by hiding it?

It's a compromise of more space or cleaner look vs. potentially confusing the user with inconsistent columns across the application.

Maintain Consistency and Adhere to Standards (Usability Heuristic #4)
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform and industry conventions.
NN Group

One of the main usability guidelines tells us to keep our products and designs as consistent as possible, internally as well as externally. Meaning that inside your application all UI should follow the same rules and not change drastically from screen to screen. Looking outside, it should follow standards built by other applications, which your users have used and formed their expectations upon.

Jakob's Law of Internet User Experience
Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know. Design for patterns for which users are accustomed.
NN Group

Pointing to the same argument with this quote, users have expectations based on previous experience with software. So make sure they don't get confused by things that you do differently.

TL;DR: All in all I would place the point of consistency far above cleaner looks, especially if it's a business software.


The reason the Size column is shown in your examples is because in some cases, there will be items with sizes. A user might drop a file into the folder, which would have a size. If the Size column were hidden sometimes, the user might wonder, "Is this because there are no items with sizes, or because the system has a bug?"

If there will never, ever be a value in the Size column (for example: a user preference to not show size) then hiding it would make sense.

  • Let me give additional clarification. lets assume that there can not be dynamic changes like adding file when user already on that location, but some roots can already have files. In my example as you see "Local Disk (C:)" is selected and it have only folders and none of the items has size in this case we want to skip Size column but if the user select "Local Disk (D:)" and it has files we should show Size column.
    – Tina
    Nov 23, 2021 at 12:34
  • Consistency is important for user expectations and mental models. The user in this case might wonder what particular attributes are different about the C: drive - maybe it's a different kind of hard drive? Whereas if you always show Size on both C: and D:, you are telling the user, "Hard drive listings show sizes, even when there are only folders."
    – Izquierdo
    Nov 23, 2021 at 14:39

It is better to keep your columns same in every case. Instead of removing empty columns you may choose to use minus sign for empty content.

enter image description here

  • 1
    Why is it better to keep your columns the same in every case?
    – Nash
    Nov 23, 2021 at 10:52
  • @envereren could you clarify it
    – Tina
    Nov 23, 2021 at 12:35

Keeping the column the same size helps to not emphasize one column over the other. Unless you have some data formats that you know will require more space or less space (email needs to be large, date of birth is a known format... those are examples).

In this case, all column headings are equivalents in width, that would push towards an uniform columns widths.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.