For the second post in my iPhone 7 series, I will be addressing one of the least covered changes in Apple’s flagship smartphone, the new home button. This change seems to be overshadowed by the controversial removal of the headphone jack, but I think this change is actually much more significant than audio I/O. The new home button and accompanying Taptic Engine represent some really interesting ideas, and give us a sense about what Apple envisions for the future of the iPhone.
Haptics & Oscillations: More than a simple vibration
The origin of this change dates back to the iPhone 6s. When Apple announced 3D touch, the pressure sensitive display interaction system that debuted with the 6s, they quietly announced something else that got very little attention: the iPhone 6s exchanged a traditional vibrations in favor of something new: the first generation “Taptic Engine”.
A typical cell phone uses an electronic oscillator to move a magnet back and forth to generate a vibration. Oscillators in cell phones have gotten more and more powerful with time, but have remained very primitive. Most of them have two states: an off (motionless) state and an on (vibrating) state.
The “Taptic Engine” was Apple’s in-house solution to produce specific kinds of haptic feedback required for 3D touch to work correctly. This electronic oscillator is on another level entirely in terms of complexity and power. By using high precision motors and strong magnets, Apple re-invented haptic feedback generated by phone vibrations. The first generation Taptic Engine enabled two new kinds of vibration, both essential for 3D touch to work properly:
- Variable Strength Vibrations. Because of the stronger oscillation system, the first generation Taptic Engine could produce variable strength vibrations, (say, on a scale from 1-10), rather than pre-determined fixed notches of strength. This was key for 3D touch to feel accurate, as the strength of the vibration could be directly proportional to the amount of pressure applied to the screen.
- Short, Precise Vibrations. Because oscillators need to create physical movement within a phone, they need time to reach peak power (enough for you to feel the vibration). A typical phone oscillator takes 5-10 cycles to reach peak power, meaning that the magnet must move back and forth 5-10 times, picking up strength with every cycle, for you to be able to feel something. This means that short, precise vibrations were impossible — you need to wait for the oscillator to reach peak power before the user can even feel anything. Vibrations that lasted a tenth of a second were out of the question as the phone just wouldn’t have the time to deliver. The first generation Taptic Engine achieved peak oscillation in just 1 cycle, enabling a new kind of haptic feedback. Vibrations this short don’t feel like the “buzzing” of your typical phone or game controller, put rather a tap or a knock against your finger. This was again important for 3D touch, as the feedback needed to start and stop before the animation was completed on the screen. (tenths of a second)
At the time the iPhone 6s was released, I was skeptical of 3D touch and its usefulness relative to Apple’s description. Apple had billed 3D touch as a third axis of interaction with a touch screen, enabling a new way to interact with your phone. I wrote at the time that “3D touch likely won’t be the next big thing in mobile user-interfaces, but it could be a useful improvement nonetheless. Despite the potential, 3D touch is best implemented only in Apple’s native applications, and it will take a full year before its adoption is wide-spread in third party apps. 3D touch has the chance to be useful, but it alone is not a reason to upgrade to an iPhone 6s.”
1 year later, I’ll admit, I was wrong about 3D touch. (though I stand by what I said about upgrading and developer adoption) 3D touch does have a shot at enabling a new way of interacting with your phone, and that is mostly because of the second generation Taptic Engine, which has given me a much clearer glimpse at the Apple’s idea of future.
The second generation of the Taptic Engine is an improvement over the first iteration in every way. Peak oscillation time is even shorter than before, allowing for even more precise vibrations. Additionally, the second generation enables directional vibrations, and by extension, the new, stateless home button. Directional vibrations allow the iPhone to vibrate parts of the phone at a time, rather than the entire device (or at least, it’ll make you feel that way — more on that later)
Directional Vibrations and the New Stateless Home Button
The home button on the iPhone 7 isn’t a physical switch-based button anymore, and it doesn’t move at all. It can be jarring at first — it does not feel like the home button on previous Apple gadgets. But once you get used to it, you’ll forget that there’s anything different about it at all. Apple accomplishes this effect using directional vibrations from the second generation Taptic Engine to mimic the feel of a traditional button. iOS generates two extremely short vibrations aimed at the bottom of the phone — once when you depress the button and again when you release it. You’re 3D touching your home button on the iPhone 7, you just don’t know it. On top of that, iOS actually plays a small “click” noise from the speaker, cleverly mimicking the aural experience of a mechanical button.
The result is convincing and effective. The new home button feels both right and home and from the future. The home button has always been a marquee of the iOS experience, and Apple took their time making sure they didn’t screw it up.
There are a few differences between the old home button and the new one that may not be initially apparent.
- The iPhone needs to be turned on for it to work. The new home button is deeply connected with software and other device hardware. This means that when the phone is off, the home button cannot be pressed.
- The home button is capacitive now. It works more like the rest of your iPhone’s screen, and relies on the transfer of electrons from your finger to the surface to detect input. Just like the touch screen, there needs to be direct skin to glass contact. You cannot use the home button while wearing gloves anymore, and it may not work correctly if your fingers aren’t dry. (Though I wouldn’t recommend using the old home button with wet fingers either)
- The home button is no longer part of the hard reset. Previous iPhone devices could be reset by holding down the home button and the sleep/wake button simultaneously for a few seconds. The hard reset is a low-level process (similar to a re-boot) and cannot work with a button that isn’t mechanical. To hard reset an iPhone 7, hold down the volume minus button and the sleep/wake button simultaneously for a few seconds.
Despite these changes, moving to a capacitive stateless home button comes with several advantages:
- Less moving parts, less breaking stuff. Besides the display, the home button was the part of the iPhone that broke the most often. The new home button doesn’t move, and is much less prone to mechanical failure. It can’t be pressed in your pocket. Additionally, iOS can verify the status of the home button and even inform the user when it needs service or repair.
- Sealed gaps mean better waterproofing and more reliability. One of the hallmark features of the iPhone 7 is its IP67 dust and water resistance, and this is possible in part because of the new home button. There is no longer a gap into the phone, and it won’t get clogged with dirt or damaged by water.
Directional Vibrations and iOS
The new home button isn’t the only beneficiary of the new Taptic Engine. A new level of haptic feedback has been integrated deeply into standard iOS controls, resulting in a profound change in user experience. iOS feels more alive than ever, like it’s physically reacting to being tapped, scrolled, and dragged. There are too many examples of this for me to list all of them here, but I thought I would mention a few.
- Slide down the notification / widgets tray, and you feel a knock at the bottom of the phone when the gesture is complete, giving you a satisfying “thunk” feel and the impression that the notification tray actually has collided with the dock.
- iMessage screen-effects take on a whole new level of interactiveness. You can feel the lazers “zap” your hands as the vibrations travel up and down the conversation bubbles. You can feel the fireworks “crackle” as they light up the screen.
- Sliding up and down date pickers or keyboard accent modifiers result in a “click” vibration that occurs every time you move up or down a notch.
- Reordering table view cells (in pretty much any app) results in a similar “click” vibration, giving you the sensation that your currently selected table cell is actually sliding under the other cells.
It’s tough to describe these sensations with words, and my advice for you is to try it out on an iPhone 7 if you get the chance. They’re subtle effects, but once you notice them you can’t un-notice them. Going back to an iPhone 6s feels downright primitive. The Taptic Engine makes the phone feel less robotic and more like a set of physical controls that you’re actually manipulating with your fingers. It really is brilliant. This isn’t the rumble pack in your old Playstation controller. When you tap the phone, it taps you back.
Another clever part of this implementation is the way Apple has tied specific kinds of haptic feedback to elements of UIKit. This means that many developers don’t need to do anything to take advantage of the new Taptic Engine — just recompile your app with the iOS10 SDK and you’re good to go.
The Taptic Engine and Developer Extensibility
On top of Apple’s UIKit implementation of haptic feedback and their specific 3D touch APIs (application shortcuts, peek & pop), iOS10 allows direct access to the Taptic Engine by developers. This is relatively new — Apple only took the wraps off this API after the iPhone 7 was announced — and developers never got a chance to play with the API during the iOS 10 beta period. This API, in conjunction with general 3D touch API announced with iOS 9 could change the way we interact with our phones, making good on the promise that Apple made a year ago when the first Taptic Engine was announced. I say “could” because this still really hasn’t happened yet and still probably won’t for a while. Few apps took advantage of the general 3D touch API when it was announced last year, though I suspect that more will be encouraged to do so when enough devices support 3D touch and have this second gen Taptic Engine. The taptic API makes the pressure API a lot more useful — it does at least have the potential to add a third axis to multi-touch.
The Taptic Engine & home button combo is one of the least covered changes to the iPhone 7 (everyone is still freaking out about the headphone jack), but it actually represents one of the single most important hardware changes to the iPhone since it was released back in 2007. Sure, iPhones have gotten thinner, higher resolution screens, better cameras and more features, but this change is far more significant and could represent a paradigm shift in how we interact with future iPhones. The iPhone has always been about a multi-touch display and the home button, and Apple is fundamentally re-imagining both those interfaces. They have added new layer to multi-touch by adding pressure sensitivity and dynamic feedback options, and they are light years ahead of pretty much every hardware manufacturer in this regard. The technology still isn’t quite there yet and developer adoption is still very low, but the iPhone 7’s Taptic Engine combined with 3D touch paint a much clearer picture of how Apple wants us to interact with our phones. Just like the iPhone 6s, the new Taptic Engine alone isn’t enough to warrant upgrading to the iPhone 7, but it’s much more viable technology that it was 12 months ago and improves the user experience in a very significant, tactile way. With enough improvement and better developer support, Apple does have a chance of reinventing the multi-touch on iPhone and delivering on the original concept behind 3D touch.