In a user interface, I am showing a table with a list of broken links and their context. It is possible to select the depth of the pages, based on the current page. For example you can show all broken links on the current page or on the current page and all direct subpages (level 1) etc. up to "infinite".
The result looks like this:
- column 1: Page, the button opens a layout view
- column 2: Element on page, the pencil button opens an edit form
- column 3: Element and Field Type
- column 4: last checked
- column 5: URL, buttons to recheck the URL and exclude the URL from checking
- column 6: type of error message
So, for every broken link we are showing the context, in which element it exists and on which page.
This is actually hierarchical information:
- page
|
-> language
|
-> content element
|
-> field
|
-> broken link
-> broken link
The content elements are all attached to one page and one language. There are several fields in the content elements, where links can exist. Broken links can also exist directly in a page (e.g. if of type "shortcut"). That is why the Type (column 3) is also included.
A "flat" table view is used so that the table can be sorted by any column.
The problem currently: the table looks a bit cluttered and visually distracting. I already minimized the output, but I would like to minimize it even more - as much as possible.
My question: Is it a good idea to omit the first column "page" if the user selects a depth "current page".
because for "current page" only, the left column "page" is irrelevant. The same page title would just repeat itself and the user already has the information which page he is on.
However, this would result in different output (and position of other columns moving around) depending on the selection of the depth. This might confuse users.
In any case, I am currently not very happy with this list. It has been proven useful for the task at hand but I assume there are still several optimizations that could be made (especially to simplify and make it more intuitive). I am trying to break this down into individual optimizations but I realize it might be a good idea to look at this on a more general level and rethink what output is necessary and in which form.