snap-and-go helping users align objects without the modality of traditional snapping patrick baudisch ed cutrell ken hinckley adam eversole microsoft research CHI 2005
not a demo
snapping gets in the way
kind of a solution hold down key to activate hold down key to deactivate problems 1.,, may be in use (Adobe) 2.more snapping functions than qualifier keys (Visio) 3.target audience may not know (who knows that tab switches windows?) in the real world 18% do
lots of UI for turning off a
now a demo
traditional snapping inaccessible snap location inaccessible snap-and-go snap location enlarged in motor space only
related work
Alignment techniques
Constraints Thinglab [Borning, CHI 86]
Alignment techniques Snap dragging [Bier, SIGGRAPH 86]
Alignment techniques Alignment Stick [Raisamo & Räihä, UIST 96]
Alignment techniques The CAGE [Baudisch, UIST 96]
Fuzzing with pointer speed Pseudo haptics [Lecuyer VR ’00]
Fuzzing with pointer speed Sticky icons [Worden…, CHI 97] Semantic pointing [Blanc, 04] Object pointing [Guiard 04]
snap-and-go in 2D
basic snap-and-go building blocks
combine building blocks to make widgets
widget example
snap-and-go vs. sticky
and yes, it also works also for target acquisition target vs. bubble cursor [Grossman, CHI 05] selecting handles
vs. Bubble Cursor [CHI 05] bubble cursor can’t help selecting these handles snap-and-go can because we insert
implementation
simplest code snapTo(x, width, snapX) { if (x >= snapX + width) return x - width + 1; if (x > snapX) return snapX; else return x; }
“real” implementation written in C# rectangular “friction objects” friction gradient of configurable direction and strength combine multiple friction objects algorithm integrate friction along interpolated pointer path ok, even if pointer jumps over a widget track in subpixels to avoid accumulated error
user study
3 studies snap-and-go compared to traditional snapping… snap-and-go with distractors… …in 1Dstudy 1study 2 …in 2D study 3
1D apparatus
user study apparatus
experimental design within subjects design 2 x 4 x 4 (Snapping Technique x Attractor Width x Target Distance) 8 repetitions for each cell Distances 100, 200, 400, and 800 pixels Widths 5, 10, 18, and 34 pixels recorded task completion time and error 9 participants
hypotheses snap-and-go faster than no snapping stronger attractors reduce task time snap-and-go slightly slower than traditional snapping
results: task time
fitts analysis of task time
anecdote control condition != control condition We reran
2 nd study: distractors
experimental design single distance only two attractor widths only snap-and-go (no traditional snapping) (2 x 2 x 2 x 2 x 2 x 2) (Target Attractor on x Distractor 1 x Distractor 2 x Distractor 3 x Distractor 4 x Attractor Width) 4 repetitions for each cell recorded task completion time and error 9 participants
results: task time
“Oh, I see, you don’t put any targets really close the light bulbs, because I could not reach them there”
study 3: 2D apparatus
study 3: task 1 within subjects 2 x 4 x 4 (Snapping Technique x Attractor Width x Approach Angle) 8 repetitions for each cell distance to the target was 200 pixels approach angles were 0, 15, 30, and 45 degrees, recorded task completion time and error 11 participants
results task 1
study 3: task 2 distracters
study 3: task 2 within subjects 2 x 2 x 2 x 2 x 2 x 2 (Target Attractor Vertical x Target Attractor Horizontal x Distractor Vertical10 x Distractor Horizontal10 x Distractor Vertical60 x Distractor Horizontal60 4 repetitions for each cell recorded task completion time and error 11 participants
results task 2
discussion all 3 studies faster with snap-and-go than without 138% in 1D 231% in 2D as predicted slightly slower then traditional snapping 3% in 1D 14% in 2D fairly robust against distractors
lessons learned: placing attractor visuals
lessons learned: cartoon animation
conclusions: snap-and-go unlike traditional snapping does not require deactivation omit the deactivation interface allows deployment where complexity of deactivation interface would be prohibitive
contributions 1.manipulations of mouse gain can help align objects 2.extended technique to 2D by introducing guides that guide dragged objects to snap locations (plus and the bar widgets) 3.three user studies evaluating future work: extend snap-and-go to such as pen and touch input
read more & try out patrickbaudisch.com/projects thanks to VIBE
END
a cb
user study apparatus