Making a Complicated Turn

Depending on the interface you're flipping, the actual code to support screen rotation can actually be quite simple. Under the hood, the operating system essentially lets programmers flip a switch that says, "this screen can rotate." From there, the system handles the rest, animating the screen rotation and reflowing the content to fit the new orientation. For fairly simple layouts like basic lists or a big chunk of text, that may be all that you need to do, case closed. With more complex designs, however, adding a landscape view boils down to creating an entirely new layout and even pruning features.

Consider Twitterrific's screen for composing new messages. It's a carefully composed portrait layout with tabs to switch among different types of tweets, making it easy to choose whether you're tweeting a new update, a reply, or a direct message. Tapping the eyeball-shaped "peek" button slides away the keyboard to show you the tweet you're replying to, handy for checking details. Great, but how do you reformat all that twittery goodness into a landscape view? "It's one of the reasons we haven't done a horizontal layout," says Gedeon Maheux, one of the app's designers. "None of us are willing to sacrifice the ease of those tabs, but if you keep them in a horizontal layout, you'd see only one or two lines of the tweet, and that's no good. You'd also have to lose the peek feature, so it would be a totally different thing—a whole new interface. It's not an easy thing to figure out." Changing orientation in Twitterrific's case, in other words, would mean not only a redesign, but very likely some lost features in that view, too. That kind of trade off isn't unusual, and it's important to consider whether the benefits of a landscape view remain even after some of the bells and whistles fall away.

Twitterrific's screen for writing new tweets offers more tools than can easily squeeze into a landscape view. Its colored tabs let you choose whether you're posting a new tweet, reply, or direct message. Tapping the eyeball-shaped "peek" button (left) slides away the keyboard to let you refer to your Twitter stream (right).

Figure 9-6. Twitterrific's screen for writing new tweets offers more tools than can easily squeeze into a landscape view. Its colored tabs let you choose whether you're posting a new tweet, reply, or direct message. Tapping the eyeball-shaped "peek" button (left) slides away the keyboard to let you refer to your Twitter stream (right).

The question grows more complicated when the features that go missing also affect the user's content. The PCalc scientific calculator app, for example, supports hexadecimal math in some landscape layouts but not some portrait layouts. What to do if someone is merrily doing their fancy hex math and then rotates to a layout that doesn't know about hexadecimal numbers? "What I ended up doing was switching back to regular decimal numbers in the portrait layout, but the app remembers the settings separately for each orientation," says developer James Thomson. "So when the user switched back to landscape again, it would remember and go back to hexidecimal." Supporting different landscape and portrait layouts in this case is almost like supporting two different apps, each with their own parallel settings.

There's often a lot more to it than just tipping your design sideways. Even for relatively simple layouts, there are still a few factors to keep in mind when designing your landscape version.