jmoenig / Snap

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

Too hard to click variadic arrowheads. #1341

Open brianharvey opened 8 years ago

brianharvey commented 8 years ago

It used to be too easy to drop onto them; now it's too hard to click one, especially the one you meant to click.

One of our participants had the idea that the two arrowheads are taken as one thing-to-click-on, and when you do, two bigger buttons appear. I don't like that because it doubles the number of clicks you have to do, so instead I propose that when you hover over an arrowhead, that one arrowhead grows bigger until you click it or move away.

towerofnix commented 8 years ago

If I were designing something completely new I'd have a button or field that splits into two when you mouse-down on it. Then you drag your mouse to select the option (the option below your mouse is selected).

For this example if it creates a new text input morph, and it should select the text input for you to type in automatically.

jmoenig commented 8 years ago

nothing changed about clicking arrowheads...

cycomachead commented 8 years ago

(This isn't on github already?)

I'm removing the 'minor' inconvenience tag because this one has been really frustrating for a long time, both students and teachers.

The click target on the arrows is just too small.

Hovering works, except for mobile devices where this is an even bigger issue...

towerofnix commented 8 years ago

Here's the click ranges (more or less).. kind of uneven, right? :)

uneven

jmoenig commented 8 years ago

Yes, the design very intentionally favors expansion over collapsing, because if you accidentally collapse you end up loosing data. So, the idea is that if you just click anywhere near the "more" button the list expands, and if you do want to collapse you need to be more precise and more careful where to click.

Notice that you can press the shift-key while clicking on the arrows to expand/collapse multiple levels at once.

cycomachead commented 8 years ago

Well, there are two parts:

I need to zoom blocks at least 2x before even semi reliably use both buttons. I do agree with the intention of the design but it really feels like there's some rebalancing that could happen.

The shift click thing isn't really a solution either. Because few people know about! There's no discovering of this. You have to be told that it exists AND remember that it does right in the moment. Plus, even if you accidentally expand the block by 3, then you try to shift click, you're just as likely to expand again as you are to undo the 3 additions. All the while you are making tons of additional clicks for something that should take 1 click

Honestly, sometimes I just go into keyboard mode now. (This is also not a solution because discoverability, training, and mobile)

Michael Ball From my iPhone michaelball.co

On Jul 27, 2016, at 7:50 AM, Liam notifications@github.com wrote:

Here's the click ranges (more or less).. kind of uneven, right? :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

mrjohnyhats commented 8 years ago

I agree with @cycomachead there should be an easier way to delete data, perhaps when a paramater is deleted, and you click the arrow on the right, the paramater that's created is the one that was last deleted. Another less confusing option would just be a rewind button.

brianharvey commented 8 years ago

@jmoenig What I meant about "used to be easier" is that the thing people (including me) used to complain about was that it was too easy to drop an input onto the arrowheads by mistake, and you fixed that. (And since then made the blocks you're dragging semi-transparent, which is fantastic!)

@mrjohnyhats Yes, a general Undo would solve a lot of problems, and it's on our list. Meanwhile, I still think the arrowhead you're hovering over should expand or something. There are a zillion things we have to do, though, so unless this turns out to be trivial (or you do it, @cycomachead) this'll just sit on the issues list for some time I think.