Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block Picker takes up too much space #131

Open
JohnsonMyton opened this issue Jul 12, 2024 · 7 comments
Open

Block Picker takes up too much space #131

JohnsonMyton opened this issue Jul 12, 2024 · 7 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@JohnsonMyton
Copy link

JohnsonMyton commented Jul 12, 2024

What Happened

Hello! Love the idea of the project, wanted to add one of my first, instant thoughts. The amount of space for the actual blocks is pretty small, and on my students computers it's even smaller. One of the issues I think is that the gifts take up too much space -
image

Spec

The Block Picker should be a single area. Currently it has 2 columns: one for the categories (left) and one for the blocks themselves (right).

Convert the category selector buttons (currently first column) into title bar buttons. When clicking a title bar button, the page scrolls to show the blocks of that category. There is no need for subcategory buttons (eg. Logic | Conditionals), just category (eg. Logic).

The title bar buttons should be icon only, with a tooltip for the category name. Each category must have its own distinguishable icon. And colored with the category color.

References

@manuq
Copy link
Contributor

manuq commented Jul 15, 2024

@JohnsonMyton thanks for your student's feedback! Yes, I think this can be improved by implementing subcategories. Currently the first word is being repeated to simulate subcategories in the single hierarchy, taking too much horizontal space.

@dsd
Copy link
Member

dsd commented Jul 17, 2024

@JohnsonMyton what's the specs of the students machines? And the screen resolution?

Excited to hear you are considering this for use in education context. Could you reach out to me at [email protected] - I would love to know more of the context. We're also developing this for learners but haven't manged to expose many students to this yet because of summer break.

@cassidyjames
Copy link
Member

cassidyjames commented Jul 26, 2024

A quick and easy change here might be moving the category to the end of the line… so you'd have:

Lifecycle
Position | Transform
Rotation | Transform
Scale | Transform
Modulate | Graphics
Visibility | Graphics
Viewport | Graphics
Sounds
Input

Then users who collapse the width of that column can still see the most useful bit.

If we want to get more interesting, we could consider relying on an icon + color to group them into their respective groups instead, dropping the category from the label (and/or moving it to a tooltip). This would allow us to better use the space while still keeping a pretty strong association between blocks of the same category.

The GNOME UI icons are public domain, so we could lean on those for each category. Something like this:

godot-mockup

@cassidyjames cassidyjames added the enhancement New feature or request label Jul 26, 2024
DoomTas3r added a commit to DoomTas3r/changes-block-coding that referenced this issue Oct 17, 2024
Shortens categories and gives them icons and tooltips. I couldn't find the Gnome icons so I edited and used the Godot icons. Loading the icons was not optimized

Similar to the idea endlessm#131 (comment)

- Check for changes that might break code

![image](https://github.com/user-attachments/assets/f1f68275-a740-4acf-94c9-d5610efc0293)
@manuq
Copy link
Contributor

manuq commented Oct 18, 2024

@cassidyjames what do you think about the implementation done by @DoomTas3r here? #270

I have tried it and although it helps, I still find odd to have 2 columns in the tab:
Captura desde 2024-10-18 16-40-24

If you think this is an improvement we should merge. Thanks @DoomTas3r for your contribution!

@manuq
Copy link
Contributor

manuq commented Oct 18, 2024

@cassidyjames please also point @DoomTas3r to the SVGs of the GNOME UI icons so the current placeholders can be replaced.

@ch0m5
Copy link

ch0m5 commented Nov 19, 2024

These are a couple quick mockups, but if having two columns feels odd and the goal is to maximize ease of navigation and space, we could use Icons and Sections to represent Categories and Sub-Categories, respectively. The 1st as Tabs with icons, and the 2nd as sections in a column list.

(Note: The left image's Selected Category Tab should be Logic, not Conditionals.)
image image

Categories are represented as icons. Once a category is selected, a Scrollable column is displayed below it, listing all blocks that belong in that Category, ordered in their respective Sub-Categories. If you hover over an icon for a bit, a tooltip appears showing you the Name of the Category. (Having the name of the selected Category be visible is an idea to make it easier to see which Category is selected, but completely optional.)

I think this approach would minimize the space the block "encyclopedia" takes, granting a lot more space to block coding, without sacrificing readability. Icons are faster to read than Labels, the latter's main purpose is learning what the icon means, but you can do that with a Tooltip as to not sacrifice screen space in the process.

@manuq
Copy link
Contributor

manuq commented Nov 19, 2024

@ch0m5 I like it! They look like tabs. Could they even be standard Godot TabBar? In particular if TabBar already has logic for adding scroll buttons when the icons overflow.

And I don't think that the sub category list is needed at all. The user can just scroll to find the other sub categories like Comparison, Boolean.

@manuq manuq changed the title Block Category List takes up too much space Block Picker takes up too much space Dec 18, 2024
@manuq manuq added the help wanted Extra attention is needed label Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants