What difficulties did Engineering Manager for Paper Scott Goodson and his team encounter while developing the social network’s recently introduced iPhone application, and how did they overcome those difficulties? Goodson offered a behind-the-scenes peek in a post on the Facebook Engineering blog.
Goodson described challenges including optimizing Paper for mobile devices at every level (even though it is currently an iPhone-only app), dealing with limited display sizes, and incorporating more functionality into touch input.
He wrote of the beginnings of Paper:
In setting out to create Paper, our goal was not to pick apart past assumptions, but to start clean. We did establish one new assumption, however: The product should be designed and optimized for mobile devices at every level, from performance to user experience. The constraints and capabilities of smartphones with multitouch displays are quite unique, and it soon became apparent that fulfilling this charter would require not just a new set of interface designs — it would also demand rethinking the engineering approach in several major ways to successfully build out the vision.
On the screen-size issue, he added:
Perhaps the most obvious constraint of a mobile device is its limited display size. Wasting space with unnecessary indentation, tab bars, or bordering of elements crowds the content being presented and causes text to wrap sooner and images to be smaller. Paper addresses this by removing virtually all of the traditional navigation elements, ensuring that the screen is used edge-to-edge with useful and beautiful material. While Paper was developed in isolation from iOS 7, the system’s all-new design has broadly introduced similar underlying principles (both in first-party apps, and as a new set of design guidelines for third parties).
And on multitouch input, Goodson wrote:
Recognizing visible area as a limitation, these displays have an important advantage compared to earlier generations of devices: multitouch sensing hardware. This input modality is extremely powerful, yet still in its early stages of utilization in the market. We can’t simply remove standard navigational elements like buttons, as their functionality must be replaced by another mechanism. This combination of facts led to an early decision that the app would be gesture-driven to a degree we had not built before, with nearly everything onscreen reacting to peoples’ touches. Disambiguating these gestures and allowing them to seamlessly interrupt in-flight animations became an important, unsolved engineering problem.
When we decided to minimize application chrome and replace it with large surfaces that respond to touch input, we observed an essential detail which seems to apply to gestures in general. They feel best when the force imparted to the device from a person’s finger behaves as though it is carried into the device — transcending the glass, and playing out in an action that is animated naturally by a physics simulation. In fact, the familiar inertial scrolling and edge bouncing effects seen when scrolling content on iOS are examples of these velocity-sensitive interactions, but surprisingly, it has been uncommon to see this successful paradigm extended further. Paper’s user interface is made more intuitive and realistic with consistent, pervasive use of these physics-simulating animations in new contexts, such as when interacting with photos and links, dragging elements in a list that follow your finger, etc.
And Goodson saluted the other engineers on the Paper team for their efforts, including Kimon Tsinteris, Tim Omernick, Brian Amerige, Jason Prado, Ben Cunningham, Grant Paul, Li Tan, Andrew Pouliot, Andrew Wang, and Nadine Salter.
iPhone users: What are your thoughts on Paper?