jmoenig / Snap

a visual programming language inspired by Scratch
http://snap.berkeley.edu
GNU Affero General Public License v3.0
1.51k stars 744 forks source link

Block edit button on hover #1928

Open jcaldw737 opened 6 years ago

jcaldw737 commented 6 years ago

This request was inspired by your WONDERFUL addition of the + button to make a new block (also thanks so much for defaulting to the current tab for the location of the new block)

Would it be possible to have an "edit" icon appear when the user hovers over an editable block? Perhaps something like

image

And when the icon were clicked, they would go into the block editor.

There are two possible benefits of this addition. One is with young children who then wouldn't need to use right mouse and search through several choices to get to "edit" . So the requirements of dexterity and reading skills would be reduced.

Also people who pick up unfamiliar devices at, say, a workshop wouldn't have to struggle with learning how to right mouse - if the device didn't have a right mouse button.

brianharvey commented 6 years ago

Hmm, maybe. We used to have hovering over a block bring up its help text, and I didn't like that because blocks are generally in a crowded context, either attached to other blocks or very close to other blocks in the palette, and the tooltip covers something else. And help is a more plausible meaning for hovering than edit. But we'll see what Jens thinks...

jcaldw737 commented 6 years ago

Thanks for the "maybe". This is not the first time I have notice willingness to consider ideas before decisions on this site, and I greatly appreciate it!

  1. I understand about help being more plausible than edit. What about help on primitives and edit on editable blocks.

OR 2. the edit icon could be smaller than my example and perhaps have a transparent background. Perhaps it could fit right over the block being hovered.

OR 3. what about this: right under the (+ = new block") icon is an "edit" icon and if you click it, then hover gets you an edit button until either you click the "edit" icon again to turn it off, or it goes away after you do one edit?

jcaldw737 commented 6 years ago

Or 4. We still have the "edit mode" button as in #3, but now clicking "edit mode" makes a little dot appear on either the front or back of each editable block. When the dot or whatever we choose is clicked, we edit. The dots go away whet "edit mode" is clicked sgain.

jcaldw737 commented 6 years ago

4 continued: the little dot could be s small pencil, which seems to be an emerging symbol for writing.

jcaldw737 commented 6 years ago

4 continued again: since the audience for "edit mode" is specialized - young people, those using unfamiliar devices which lack a right-mouse-button, how about turning "edit mode" [ the small pen button near each editable block] on and off by means of a check box under the gear icon.

brianharvey commented 6 years ago

Interesting. People have occasionally wanted to make custom blocks visibly different from primitive blocks, and I've been strongly opposed to that, because the whole point is that once a block is written, it's just as good as any other block. But to have a temporary visible distinction isn't so bad. I'd want the gear checkbox not to be remembered either per-project or per-user.

Don't hold your breath or anything; there are a ton of more urgent things to work on right now. Once in a while I get to see Jens f2f and one of the things we do is go through the open issues.

jcaldw737 commented 6 years ago

Thank you so much for the possibility of considering "edit mode". Also I appreciate the alert not to hold my breath :>) For what it is worth, I totally agree with your statement about user written blocks being as good as any other blocks! However, there is at least one difference - one type can be edited and the other type not. So, in some sense, we would only be acknowledging a difference that does exist and saving a person from clicking "edit" and getting a message that the block wasn't editable.

YPIMG commented 6 years ago

Could make it so if you hover over a block for an extended period of time, it'll show an edit dialog. Along with this should be a config to turn it off; don't need a kid accidentally messing around with the innards of what's given to them. As for help showing instead of an edit button, why not both? Help would show for anything that has a help dialog, and anything that can be edited would show an edit dialog. Both would either give both at the same time, or just the help (if something has a help, you probably don't need to edit it anyway). I dunno what you would show for primitives that don't have help dialog.

I think it'd be pretty cool if something like a long-hover would give information on a block as well as a quick edit.

jcaldw737 commented 6 years ago

What excellent ideas! Perhaps the config option could be a slider to set how many hovering seconds it would take to show the edit/help dialog - with the high end of the slider being "never" I suspect some of my elementary school kids would wander off too soon if it took a lot of hover to get the dialog.

The idea behind hover-to-edit [HTE] was to help young snappers and novices to have an easier path to edit their own stuff. So having hover show any existing "help" rather than "edit" would be fine. And give experienced people an easy path to turn HTE off for selected of their own blocks.