Proposal for User Count Icons #119974

Open
opened 2024-03-27 18:25:15 +01:00 by Harley Acheson · 4 comments
Member

We have been struggling to think of a way of illustrating user counts in a way that works in a single column or within an icon-sized area. I'm wondering if something like this could work:

image

Not illustrated is that each would probably also have a user count displayed at their bottom-right. An empty person to indicate no users. With a "0" digit at the bottom right that might tell the story very well. The filled person could be used for any user count above zero when there isn't a fake user. And the robot to indicate that fake user is applied. This would mean that these could always work as a toggle, to add or remove fake user.

The state of having multiple real users AND fake user seems to work a bit better. Rather than read as multiple shields it would look, at worst, like multiple fake users perhaps. But with the toggling behavior and the displayed user count this might be okay. This state seems less likely too.

In a nutshell this is replacing the "shield" protection metaphor with an illustration of users, real and fake. This way we also have an option of removing the "fake user" entirely one day and still have user count illustration.

We have been struggling to think of a way of illustrating user counts in a way that works in a single column or within an icon-sized area. I'm wondering if something like this could work: ![image](/attachments/7ee65510-9495-462c-bbc1-3a704665071c) Not illustrated is that each would probably also have a user count displayed at their bottom-right. An empty person to indicate no users. With a "0" digit at the bottom right that might tell the story very well. The filled person could be used for any user count above zero when there isn't a fake user. And the robot to indicate that fake user is applied. This would mean that these could always work as a toggle, to add or remove fake user. The state of having multiple real users AND fake user seems to work a bit better. Rather than read as multiple shields it would look, at worst, like multiple fake users perhaps. But with the toggling behavior and the displayed user count this might be okay. This state seems less likely too. In a nutshell this is replacing the "shield" protection metaphor with an illustration of users, real and fake. This way we also have an option of removing the "fake user" entirely one day and still have user count illustration.
6.9 KiB
Harley Acheson added the
Type
Design
label 2024-03-27 18:25:15 +01:00
Harley Acheson added this to the User Interface project 2024-03-27 18:25:18 +01:00

What if it used less... pictogram style, and just basic.

No users: Circle with a Zero inside
Users: Circle with a Number inside
Fake Users: Use the existing shield icon, with a Number inside

The above would make the number larger and easier to see, as well as avoid lengthy debates on what a head or a robot should look like.

What if it used less... pictogram style, and just basic. No users: Circle with a Zero inside Users: Circle with a Number inside Fake Users: Use the existing shield icon, with a Number inside The above would make the number larger and easier to see, as well as avoid lengthy debates on what a head or a robot should look like.
Author
Member

No users: Circle with a Zero inside
Users: Circle with a Number inside
Fake Users: Use the existing shield icon, with a Number inside

The issue we are having is what to do with items that have at least one real user AND get fake user.

I think you could have situations where you could have one item showing a Circle with a "4" inside and another item with a Shield and a "4" inside. Click on the former and you get Shield with a "5" and click on the latter and get a Circle with a "3". These things don't seem connected enough. Or maybe tooltips can explain it well.

But I would still worry that in isolation, where only one value is shown, that a Shield with a "4" doesn't quite explain enough what that means. Or the difference between a Circle with "1" versus Circle with "0" shows enough visual contrast to indicate that the latter is in danger of removal.

> No users: Circle with a Zero inside > Users: Circle with a Number inside > Fake Users: Use the existing shield icon, with a Number inside The issue we are having is what to do with items that have at least one real user AND get fake user. I think you could have situations where you could have one item showing a Circle with a "4" inside and another item with a Shield and a "4" inside. Click on the former and you get Shield with a "5" and click on the latter and get a Circle with a "3". These things don't seem connected enough. Or maybe tooltips can explain it well. But I would still worry that in isolation, where only one value is shown, that a Shield with a "4" doesn't quite explain enough what that means. Or the difference between a Circle with "1" versus Circle with "0" shows enough visual contrast to indicate that the latter is in danger of removal.
Member

I think the task description is missing a few examples, where these new icons are supposed to be used. That makes it a little hard to judge the proposal.

Would the shield be replaced in all contexts? And if not, how would users make the connection between the shield and the robot?
There are a few cases where I just dont see the robot being a great fit, like here:

mesh-data.png

Sure, the robot might be a representation of "fake user", but I don't think that "fake user" as a concept that is particularly clear to users.
I think the shield icon as a metaphor for protection is much stronger in those cases, since it represents the action the user wants to take.

@Harley : I think you could have situations where you could have one item showing a Circle with a "4" inside and another item with a Shield and a "4" inside. Click on the former and you get Shield with a "5" and click on the latter and get a Circle with a "3". These things don't seem connected enough.

I'm not familiar with the implementation, but is there a reason we count the "fake user", when reporting the user count in the UI?
To me that feels like an implementation detail and users only really care about the actual uses of data in the scene, which is also how the user count is displayed at the datablock picker itself.
So when there is a datablock that is not used, but is protected via "fake user", it should still say 0. That would avoid the issue of clicking the shield changing the user count.
But I might be missing something here.

@Harley : Or the difference between a Circle with "1" versus Circle with "0" shows enough visual contrast to indicate that the latter is in danger of removal.

I kinda like @thorn-neverwake's idea and I think you could make this clear by making the circle just an outline, when there is no user and the datablock is in danger of removal.
Otherwise it would use a filled circle or the filled shield which should provide enough contrast to quickly scan for all the data that is removed on save.

Here's a mockup. It doesn't seem to scale well for higher user counts, though.

state screenshot
Has a user 1-user.png
No user 0-user.png
Protected protected.png
I think the task description is missing a few examples, where these new icons are supposed to be used. That makes it a little hard to judge the proposal. Would the shield be replaced in all contexts? And if not, how would users make the connection between the shield and the robot? There are a few cases where I just dont see the robot being a great fit, like here: ![mesh-data.png](/attachments/8054a8ad-89a6-4d83-82f3-a47371177b33) Sure, the robot might be a representation of "fake user", but I don't think that "fake user" as a concept that is particularly clear to users. I think the shield icon as a metaphor for protection is much stronger in those cases, since it represents the action the user wants to take. > @Harley : I think you could have situations where you could have one item showing a Circle with a "4" inside and another item with a Shield and a "4" inside. Click on the former and you get Shield with a "5" and click on the latter and get a Circle with a "3". These things don't seem connected enough. I'm not familiar with the implementation, but is there a reason we count the "fake user", when reporting the user count in the UI? To me that feels like an implementation detail and users only really care about the *actual* uses of data in the scene, which is also how the user count is displayed at the datablock picker itself. So when there is a datablock that is not used, but is protected via "fake user", it should still say 0. That would avoid the issue of clicking the shield changing the user count. But I might be missing something here. > @Harley : Or the difference between a Circle with "1" versus Circle with "0" shows enough visual contrast to indicate that the latter is in danger of removal. I kinda like @thorn-neverwake's idea and I think you could make this clear by making the circle just an outline, when there is no user and the datablock is in danger of removal. Otherwise it would use a filled circle or the filled shield which should provide enough contrast to quickly scan for all the data that is removed on save. Here's a mockup. It doesn't seem to scale well for higher user counts, though. |state|screenshot| |---|---| |Has a user|![1-user.png](/attachments/52b49183-2b8a-499d-bcb2-9b4e146fd2ff)| |No user|![0-user.png](/attachments/28d7e407-6873-4cf1-8d3f-c2da92384ebb)| |Protected|![protected.png](/attachments/703497a5-cc29-4ed8-8ef1-39af2e8a0ca5)|
Author
Member

@lone_noel - I think the task description is missing a few examples

You are right. This was mostly a doodle...

This starts with the desire to add a way to manage user and fake users outside of the "Unused Data" mode in Outliner, which only shows things without a real user. So we start with this: #118691

We all dislike the two-column display in "Unused Data." First it is a bit redundant that there are two columns representing only two possible states. But having a single column would also allow us to show these consistently elsewhere where we don't have the extra space.

Once you start combining these things though into a single "user count", it starts off easy and gets a bit odd. Easy enough to show when there is no real user and no fake user (empty shield), or if there is no real user and fake user (full shield). But then we want to differentiate between having a single user that is real versus fake. If we only the shields then when there is no fake user applied there isn't enough visual difference between 0 real users and having more - only the number is changing.

And if we add fake user to something that has real users, showing the full shield looks like we are counting shields.

So in a nutshell, items with no real user is easy to show. But as soon as the item has real users it would be nice to indicate that in a nice way and then also indicate whether it also has fake user as well.

For a little while I experimented using ICON_COMMUNITY (looks like a couple people) to represent "users" separately from fake user. That looked pretty nice I thought, although we use that particular icon elsewhere so can't really use that one.

We're probably just going to do it as shown in #118691, but always nice to explore all possibilities.

> @lone_noel - I think the task description is missing a few examples You are right. This was mostly a doodle... This starts with the desire to add a way to manage user and fake users outside of the "Unused Data" mode in Outliner, which only shows things without a real user. So we start with this: https://projects.blender.org/blender/blender/pulls/118691 We all dislike the two-column display in "Unused Data." First it is a bit redundant that there are two columns representing only two possible states. But having a single column would also allow us to show these consistently elsewhere where we don't have the extra space. Once you start combining these things though into a single "user count", it starts off easy and gets a bit odd. Easy enough to show when there is no real user and no fake user (empty shield), or if there is no real user and fake user (full shield). But then we want to differentiate between having a single user that is real versus fake. If we only the shields then when there is no fake user applied there isn't enough visual difference between 0 real users and having more - only the number is changing. And if we add fake user to something that has real users, showing the full shield looks like we are counting shields. So in a nutshell, items with no real user is easy to show. But as soon as the item has real users it would be nice to indicate that in a nice way and then also indicate whether it also has fake user as well. For a little while I experimented using ICON_COMMUNITY (looks like a couple people) to represent "users" separately from fake user. That looked pretty nice I thought, although we use that particular icon elsewhere so can't really use that one. We're probably just going to do it as shown in #118691, but always nice to explore all possibilities.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#119974
No description provided.