iOS 11 drag and drop on the iPad is really great. It speeds up a lot of common tasks and it makes those tasks direct and easier to achieve. Rather than digging for context menus that aren’t yet visible, a long-press anchors the content to your finger ready to be dragged and dropped pretty much anywhere in an updated application — even crossing sandbox boundaries into a different app than the one from which the content originates.
Apple allows developers to add drag-drop interactions inside their own apps on both platforms. On the iPhone, the system enforces that dragged content cannot escape the boundary of the containing app.
However, it seems like drag and drop is discouraged in general on the iPhone as none of the system apps support it despite deep integration in the corresponding iPad apps. The Home Screen enables it on iPhone to speed up the process of rearranging apps, but that’s about it.
Steve Troughton-Smith found the various runtime keys that dictate this behaviour. Naturally, he then modified the Simulator resources to demonstrate how drag-and-drop on the iPhone would look if it was turned on.
Apple has done the engineering work to support drag and drop on the iPhone, so the pertinent question is why is it disabled. Troughton-Smith argues that marketing is driving the decision, allowing Apple to put the spotlight on the iPad for a change.
I am not convinced that marketing is the primary reason. There are usability issues on the iPhone that don’t bubble up on the iPad form factor. There are design considerations to weigh up.
The best uses of drag and drop on the iPad necessitate multi-finger interactions. Typically, one hand holds onto a stack of content whilst the other navigates the rest of the interface to find the destination app.
Multiple touch input isn’t a gimmick, it’s critical part of the experience. Here’s the cinch: the iPad form factor is far better suited to this type of interaction. The screen is spacious and users usually rest the device on a table or lap, leaving both hands available to touch the screen.
In contrast, the iPhone canvas is small. Fingers take up a large proportion of the display and the shadows of their respective hands obscure even more of the visible screen. It’s just not as good for complex gestures. Example: reach to a point towards the top of the iPhone screen with your thumb and notice how hard it is to press the Home Button with another finger.
I bet the rate of erroneous drops would be significantly higher on iPhone compared to iPad as users trips over their fingers and struggle to see exactly what they are hovering over.
Moreover, handling the phone is typically a one-handed experience (at least for 4.7-inch and soon to be 5.8-inch iPhones). Expecting phone users to regularly commit to two-handed interactions is a tall order.
I’m sure these practicality issues must have played a role in the internal conversations, debates and ultimate decision to disable most of the drag-drop features on the iPhone. I would be shocked if the only thing blocking this was the marketing team’s desire to prop up the iPad; maybe it was a side benefit.
In the end, the cut/copy/paste context menu has served iPhone users well for the last umpteen years and I don’t see that much motivation to shake things up. The iPad is a different beast entirely where its users were starving for new ways to boost their productivity.
Split View side-by-side apps is another big differentiation. Split View is incomplete without drag and drop to move things from one side to the other, so much so that the iPad felt broken without it. The iPhone doesn’t have Split View which means the lack of drag and drop is significantly less impactful; it’s a nice to have rather than necessity.
I would be surprised if Apple ends up enabling the complete drag and drop experience on the iPhone in the near term. Enabling it is not zero cost; drag and drop overloads long-press gestures which adds some additional complexity to every user of the iPhone. The iPad is impaired by the same downsides, of course, but it has much more to gain from the feature’s inclusion.