
Lessons learned with 3D Touch - mikeyk
http://engineering.instagram.com/posts/465414923641286/lessons-learned-with-3D-touch
======
danso
A. Great guide, and thanks to Instagram for doing a writeup of the new API.

B. I don't have a new iOS device, but hearing about 3D touch makes me
immediately think of right-click, and how Apple traditionally eschewed such an
interaction. Or at least made it difficult with one-button mice.

This comment from the OP was particularly interesting:

> _For Instagram, 3D Touch is much more than a 2015 version of the “right
> click”. The interaction adds another level of depth and carries a different
> intent. You aren’t yet committed to navigating to the content, but it 's
> clear that you are interested. With this in mind, Peek and Pop gives you a
> glimpse of what lies ahead and lets you quickly back out to continue
> browsing._

Isn't a "3D Touch" a physically more demanding action than just a traditional
tap? Why should the former be associated with a "quick peek" and the latter
with a committed selection, rather than vice versa? (Besides the fact that 3D
touch isn't yet available to the majority of iOS users?). Not a criticism of
Instagram's decision here, just funny how things can seem counter-intuitive in
the written description of them. Though in practice, it makes sense...a deep-
click to preview, then a release to back out of the modal, is easier than a
single-click to preview, than another single click to close the modal.

In a traditional OS interface, a single-click was used to signify a non-
committal selection, and a double-click signified action. And that makes more
sense as a double-click, like a "3D touch", takes more time and physical
pressure. Of course the problem with a double-click is that double-click
speeds among users can vary quite drastically, resulting in false positives
and negatives. Will 3D touch mitigate these issues or fall into the same trap?
Again, haven't experienced it but everytime I hear of the description of 3D
touch, it doesn't sound much different than "click-and-hold"...which more or
less worked OK in such apps as Kindle on IOS (for highlighting).

Is there a distinction between a traditional click-and-hold, versus a singular
3D deep click, and _then_ a 3D-deep-click-and-hold? Seems like there could be
more ambiguity there than there was in the slow-single-clicks vs double-click
problem.

~~~
eevilspock
That's a lot of premature analysis and questioning given you haven't even
physically tried 3D touch and have no real basis for your assumption that it
is more demanding.

~~~
danso
Maybe, but I'm a current iOS user and I've tried the new Macbook's Force
Touch, which AFAIK has the same basic concept of pressure-sensitive actions.
What nuances of 3D Touch do you think aren't easy to anticipate without
actually trying it on a new iPhone?

~~~
majormajor
The second levels are pretty similar - push harder than you would normally,
pushing "through" your usual action, get haptic feedback, something else
happens. One difference that helps discoverability, though, is that 3D touch
for stuff like app shortcuts and "live photo" replays has UI-based feedback to
tell you there's more if you push harder, whereas the second level push on the
MacBook trackpad feels less rewarding to experiment with (or maybe that's just
a function of it being used far less in OS X than in iOS).

------
monkey_slap
I'm the engineer at Instagram who wrote and worked on this. Available to
answer any questions you might have!

~~~
julien_c
Hi! Thanks for sharing.

I'm looking into implementing Peek and Pop into my app as well. One thing that
was not clear from your article was, do you use two different View Controllers
for Peek and Pop (as the Peek VC is way simpler, though functionally related
to the Pop one)?

From the Apple documentation this looked like it was meant to be one and the
same VC (though displayed in a "responsive" way).

FYI, I've asked the same question on the dev forum here:
[https://forums.developer.apple.com/thread/21954](https://forums.developer.apple.com/thread/21954)

Cheers!

------
emehrkay
Someone wrote up an example in Javascript. It is fairly simple, the event
object has a force member which seems to range from 0-1.

This should be a standard, it really does change the way touch devices are
used. I'm starting to dislike apps that don't have the "peek/pop"
functionality (Instagram is the third party app that I use that has
implemented it)

[https://github.com/freinbichler/3d-touch](https://github.com/freinbichler/3d-touch)

------
melling
Here are some blogs on using 3D Touch in Swift:
[http://www.h4labs.com/dev/ios/swift.html?q=3d+touch&age=90](http://www.h4labs.com/dev/ios/swift.html?q=3d+touch&age=90)

~~~
happyscrappy
Thank you. The cocoa one where you utilize raw force values from a user's
touches on a progress bar is great.

------
phodo
Nice writeup. I'm glad we have moved beyond skeumorphism, because a
skeumorphic peek and pop would have been disastrous (like the 'curl up'
transition of yesteryear, seen in apps like maps). The current interaction,
motion and visual models are clean and fast.

------
guelo
Android started out with a long-press gesture being prominent throughout the
platform but it was eventually deprecated because designers felt that it
wasn't very discoverable by users. It's interesting to see Apple going in the
other direction, but I'm not sure discoverability will be much better. One of
the problems is that even if the majority of apps implement the gesture action
consistently it's still very annoying when you come across the random app that
doesn't implement it and your 3d-touches are ignored. That forces the user to
memorize which apps in which situations obey the gesture which increases the
cognitive load.

~~~
nacs
Long-press has existed on iOS for a long time as well (deleting apps from your
homescreen is an example).

"3d touch" works and feels different because of the feedback you get via
vibrations and the fact that it feels like you're actually pushing the whole
screen down. It's hard to explain but feels natural when you use it.

~~~
guelo
Feedback doesn't improve discoverability. Apple will try to guide developers
as to when and where they should implement the gesture. But not all developers
will do it consistently so users will always be guessing if the gesture will
do anything.

~~~
happyscrappy
Apple is fairly strict on developers when integrating new features and the
gesture is simple with instant feedback.

------
seba_dos1
These marketing names get sillier and sillier. Pretty much every resistive
touchscreen was already "3D" years ago.

~~~
sozerberk
No, actually resistive touchscreen is not 3D touch at all. You cannot do multi
touch with resistive touchscreens; they don't respond to slight touches. They
are just 2 dimensional screens activated by pressure. I agree that 3D touch is
not the best name but this is because everybody tends to name everything 3D.
In this case, it is very good name because it adds the 3rd dimension to the
devices with 2 dimensional screens. Swipe actions are all in 2 dimension (x
and y-axis) and 3D touch adds the z-axis (only positive or negative, though).

~~~
galvan
I don't think the OC was referring to multitouch, but rather how resistive
touchscreens can measure different levels of pressure applied to them. For
example, I have a Nokia N900 with a resistive touchscreen that I can draw
with, pressing harder for a thick stroke and lightly for a thin one.

~~~
seba_dos1
Exactly; however, if we're on it - it's a myth that multitouch is not possible
on resistive screens. There exist resistive screens that support up to 10
touch points, and two-point gestures (swipe, pinch) without exact coordinates
are very easy to get on most resistive screens.

------
MaysonL
Am I correct in thinking that "3D Touch" is the first thing that Apple has
ever brought out that wasn't a part of Xerox PARC's "Office of the Future"
back in the 70's?

~~~
Someone
No. To mention a few, Xerox had a verb-object interface (you selected 'Copy',
selected what to copy and then where to copy it), not the object-verb one,
didn't have the concept of dragging, didn't automatically repaint partially
uncovered Windows, didn't have a laptop with a keyboard that's close to the
screen so that you can use your palms to prevent it from falling from your
lap, and didn't do a click wheel or a touch screen. Xerox also, AFAIK, didn't
do a hockey-puck mouse or a phone that bends :-)

What makes you think so?

~~~
MaysonL
Okay, I should have said the first significant thing that advanced the state
of the art. None of the things you mention, especially the snarky bs, are
anywhere near as big, IMHO.

