Page MenuHome

UI WIP: File Manager Tooltips
AbandonedPublic

Authored by Harley Acheson (harley) on Oct 11 2020, 8:43 PM.
Tokens
"Burninate" token, awarded by Draise."Orange Medal" token, awarded by jorsh."Party Time" token, awarded by tintwotin."Like" token, awarded by TheRedWaxPolice."Love" token, awarded by jc4d."Like" token, awarded by RedMser."Like" token, awarded by franMarz."Love" token, awarded by duarteframos.

Details

Summary

This patch adds dynamic tool hints when hovering over items in File Manager. This is useful mostly for Thumbnail views since you can't otherwise see dates and sizes. It has the ability - although not fleshed out much - to vary the information by type.

For example, here is an image file:

a movie file:

while this is a font file:

Diff Detail

Repository
rB Blender

Event Timeline

Harley Acheson (harley) requested review of this revision.Oct 11 2020, 8:43 PM
Harley Acheson (harley) created this revision.

This is great!
Not sure if it is possible, but a great addition would be to include pixel size of the image (say 1920 x 1080) and greater still display the render statistics Blender now saves as EXIF fields

@Duarte Farrajota Ramos (duarteframos) - Not sure if it is possible, but a great addition would be to include pixel size of the image (say 1920 x 1080) and greater still display the render statistics Blender now saves as EXIF fields

That might be possible, but not sure that I want to go down that road since it might dead-end a bit...

These dynamic tooltips are awesome in that the calculation to get the contents is only started when you hover. Since there is no impact outside of that you can afford to make these processor-heavy.

But I think we also need a new thing. Right now a uiBut has an optional uiButToolTipFunc that can be called to dynamically create the text used in the tooltip. That is great but I think we could add an optional custom tooltip block invoke function, So you would just define a function that is passed a newly-created block for you that you can populate any way you want. That way we could have specific tooltips for images, fonts, blend files, etc. Those tooltips could be tailored to those types and include thumbnails. So we could get highly-detailed tips about content all over the place.

Not sure if I am the one to design such a thing though.

Harley Acheson (harley) planned changes to this revision.Oct 11 2020, 11:24 PM
Harley Acheson (harley) retitled this revision from UI: File Manager Tooltips to UI WIP: File Manager Tooltips.

Those tooltips could be tailored to those types and include thumbnails.

I can see this be useful in the opposite situation as well, where you have a list or text-centric layout with icons only, and tooltips could be used to preview a thumbnail on relevant file types.
You are right though, I can see how it is probably a lot more work and out of scope here.

@Duarte Farrajota Ramos (duarteframos) - I can see this be useful in the opposite situation as well, where you have a list or text-centric layout with icons only, and tooltips could be used to preview a thumbnail on relevant file types.

Yes, seems like a thing that could come in handy with Asset Browser.

...I can see how it is probably a lot more work and out of scope here.

There might be an easy and logical in-between, which I am exploring now. Which is why I just took this out of the queue and added "WIP" to it.

Now showing target path if the item is a shortcut/alias.

And also showing specific information for one file type: fonts:

Now showing some custom info for images - just dimensions for now.

Wow looking great, I'm a big fan of showing additional information on hover.
Showing full path and name is also useful, since in thumbnail views long names often get truncated.

If this catches on I can see it eventually being useful all over Blender's UI for showing better tooltips everywhere, like extended instructions or simplified help over buttons and properties.
Showing RGB values over a color property, or image preview over a texture datablock, etc.

Excellent work

Campbell Barton (campbellbarton) requested changes to this revision.EditedOct 13 2020, 12:34 PM

Having tool-tips popup when you're hovering over a file could be distracting.

Often when you're selecting a file, you're thinking back over the past, to have something popup under your cursor seems like it could interrupt users. I suspect there is a reason file managers don't typically use tooltips when hovering over files & instead show this info in a fixed location.

Suggest to add an "Info" panel, on the left hand side that has these details (can include whatever details we deem useful).

This revision now requires changes to proceed.Oct 13 2020, 12:34 PM

Personally, I think this is nice, although I don't have too strong feelings.

Campbell makes the argument that this could be annoying when browsing files, which I don't think will be the case, but it's still a fair point and we have to evaluate it.

What other File Browsers often do is, if you select a file it shows you more information in a sidebar or such. We could do the same here, and have a panel in the sidebar (aka N-panel) with info on the selected item. This would also be more consistent to the Asset Browser design, where you would see the meta-data of the selected asset in the sidebar, see T54642.

So this simply needs a bit further discussion.

Often when you're selecting a file, you're thinking back over the past...

Yup, usually trying to remember details about it, trying to decide if that is the item to select. You don’t normally hover by accident, unless you are hesitating and that is when you want a hint. Now imagine the image tooltip contains metadata like when you shot it, with what camera, and where.

This doesn’t feel annoying in practice. In fact, while not in thumbnail view we now get a tooltip while hovering on the little icon only. I didn’t change the behaviour there, just made the toolip longer. But I don’t recall anyone complaining that the existing tooltip on the little icon was distracting.

Personally I don’t like idea of yet another panel. I love the idea of getting more information like this all over the place, not just in File Manager. I’d actually like the option of having a uiBlock hover trigger the creation of a new custom tooltip, just pass me a new block that I can fill as I wish. Then hovering on a blend name can show a thumbnail along with details, materials could show a preview, etc. That way the ui can show minimal information but details are always close at hand.

But again, this is best evaluated by trying it. The tooltip location always seems well-placed and they don’t obscure the thing you are hovering.

Fixing errors and calming warnings.

Fixing additional errors/warnings with help from @Hans Goudey (HooglyBoogly)

The other downside to having a panel (T and N keys are already used for other panels in file manager btw) is that multi-selection is problematic. Imagine I've already selected 3 files and I'm looking for a 4th (i.e. Import images as Plane addon allows importing multiple at a time). How should the user see metadata just for that 4th item they're looking for? Do you require them to deselect the first 3 first? Do you only show data for the last selected item and require them to click and then glance at the panel each time until they find what they want?

In master right now, we have a couple similar things that I doubt anyone minds:

Hovering over an icon while in File Manager List View shows a tooltip. With less information than this patch but should be just as distracting.

File / "Open Recent" List items show convenient information on hover:

This is pretty handy, great work.

Hovering over an icon while in File Manager List View shows a tooltip. With less information than this patch but should be just as distracting.

Nit picking, on your first screenshot of the list view there seems to be a period incorrectly appended to the path. Not sure if it is intentional or some side effect of tooltip guidelines suggesting a period.
It is probably undesirable here, since we are dealing with file paths, makes it look truncated or like a typo in extensions.

@Duarte Farrajota Ramos (duarteframos) -
Nit picking, on your first screenshot of the list view there seems to be a period incorrectly appended to the path. Not sure if it is intentional or some side effect of tooltip guidelines suggesting a period.
It is probably undesirable here, since we are dealing with file paths, makes it look truncated or like a typo in extensions.

That screenshot shows current behavior, not my patch. And currently every tooltip string has a period automatically appended to it. Its a behavior that I'd love to have changed but is what it is for now.

And for media files? Ex. resolution, aspect, bit and fps would be very useful.

I really don't agree that having tooltips appear while hovering over items would be distracting.
Win 10 file explorer is doing just that and its pretty useful.

Checking the windows file explorer tips, firstly that some other program doesn't mean we should too.

Some differences to Blender's tips:

  • They're much smaller than what's being proposed here (by having less information and by having a smaller margin + font).
  • They take longer to display (over twice as long - at a guess).

By supporting large multi-line tooltips, and having a fairly short delay, they end up being a more intrusive - potentially annoying.

This patch looks to include comprehensive information about a file, more like context menu -> properties in file managers (including details like font family, image size ... etc), which IMHO is better suited to an info panel.


@Julian Eisel (Severin) suggest the HIG covers the topic of when to use tooltips, as we could use them in many other places (The 3D view could have tooltips to show an objects, name, poly-count, number of materials, size on disk... etc). My sense is we probably don't want to do this as it would get in the way. But there are cases that are less clear - include these kinds of tips in the outliner? ... or time-line-markers?

@Campbell Barton (campbellbarton) - Some differences to Blender's tips:

  • They're much smaller than what's being proposed here (by having less information and by having a smaller margin + font).
  • They take longer to display (over twice as long - at a guess).

I don't think we should point at shortcomings in our own product as a means to argue against improving it. If these were truly issues, and I don't agree they are, we could certainly make these (or all) tooltips use a smaller font and have smaller margins. And we could also increase the pause before they are shown, either just here or everywhere.

@Peter Fog (tintwotin) - And for media files? Ex. resolution, aspect, bit and fps would be very useful.

Updated to include movie details:

Harley Acheson (harley) edited the summary of this revision. (Show Details)Oct 16 2020, 3:16 AM

Would probably make sense to only show "Modified" and "File Size" when in a Thumbnail view.

Would probably make sense to only show "Modified" and "File Size" when in a Thumbnail view.

Not if you're using the VSE, where you would almost always use the thumbnails view, and would need the dimension and fps, because there is nowhere else inside of Blender you can get this info on source clips.

Would probably make sense to only show "Modified" and "File Size" when in a Thumbnail view.

Not if you're using the VSE, where you would almost always use the thumbnails view, and would need the dimension and fps, because there is nowhere else inside of Blender you can get this info on source clips.

Yes. I'm saying that if you are in a Thumbnail view to show all that I have been showing in the captures you see above. But if you are in a list view do not show the final two lines that indicate the Modified Date and File size since you see that information on the line.

Through this experiment I've learned a lot. But mostly that I like having extra information on demand, but also that this is implemented entirely wrong.

In this patch, the way I get the information is done in three entirely different ways for three different file types. Partly because we need internals of these things, but these private functions can't translate.

But it is dumb to touch the file again just to get this info. We have to read the image or font or video to get the details. But we already do this when we process thumbnails. We just need to get this stuff then when doing so, when it is quick and trivial. Maybe add an IDList to the FileListEntryPreview. Doing it this way we could show details without any delay in most cases in the File Manager. So we could have a panel for this (although I still don't like that idea) since the data would be immediately available.