IPhone Developers: We use our iPhones in bed, allow us to disable landscape

164 points by cwilson ↗ HN
I know I can't be the only person who uses their iPhone in bed, specifically to read news, books, and various social networks; because of this I end up using applications that allow me to disable landscape mode because if you have tried this you know how frustrating it is to turn over to your side and suddenly the screen flips and it's impossible to read.

Certain wonderful apps like Stanza (e-reader), Byline (RSS Reader / Google Reader Sync), and Tweetie provide this option. I love them for it.

Some apps do not provide this functionality however (Facebook, NetNewsWire, and even Safari) and I hate them for it. I absolutely can't stand using an application which frustrates me in bed. Maybe I'm crazy.

or

Maybe developers should offer this simple switch in their options to turn this off. It may just be that I'm the only person yelling about this but I know other users get frustrated by this as well, it's simply overlooked at times.

So, join me in asking developers to kindly provide this option for us. I'm looking at Apple as well, Safari is a huge pain in the ass while laying in bed.

54 comments

[ 7.0 ms ] story [ 139 ms ] thread
Yep, this has driven me bonkers since day one. In fact, if I could easily tear out the accelerometer(s) totally I'd be the first to do it (I find games that use them next to unplayable).

I listen to podcasts every night going to sleep and if I want to find a different podcast to listen to, it dives into Coverflow (which I can't imagine anyone ever finding productive, but weirder things have happened!)

if you are willing to jail-break, RotationInhibitor does the trick.
I am totally with you. When I open my mail in bed and I turn on my side, suddenly the whole screen flips over and I just hate it.

However, I really don't see a way to differentiate between bedtime landscape and normal landscape. Honestly, the initial annoyance and having to reorient my brain for the landscape change is less annoying than possibly having to go into a setting and disable it before it happens. Once it switches I get used to it I just don't like it at first.

There are two solutions that I see, possibly three:

1. A simple option in the applications settings that allows you to turn it off completely (obviously certain games would never have this option however).

2. A toggle somewhere in the UI, I've seen a few apps do this actually. It's a temporary switch and can be done without digging through any settings.

3. Global option in Apples settings. The problem here is that many apps are built with landscape in mind so this would cause tons of issues.

I like option 3 the best. For the "apps that are built with landscape in mind", do they only have one setting, or do they have both, but somehow work "better" in landscape? I've seen at least one of the former, but that one defaults to landscape no matter how it's oriented, so it doesn't seem like it really asks the OS for what orientation to use.
I think it's somewhat doubtful that Apple would implement this, but I would like to be able to change it back with the "rotate" gesture that is used on newer Apple notebooks.
For apps whose interface can spare the space, a simple 'orientation lock' toggle button could do the trick. Is there a existing/obvious default icon to use for such a button?
This is what I'd love to see people do. There are certain (but very rare) times when I want to use landscape.

Even in Apples Mail and Messages app however I'd love for their to be a toggle. Texting or emailing in bed is just as frustrating as any other app doing this (should have added those to the OP).

The problem is, it can be very hard to fit in a button that is used once and rarely again in applications that don't have settings. Or, for that matter, it can sometimes be hard to fit in a button for a commonly used/requested feature.
I'm not sure I've ever seen an app that doesn't have a settings pane either in the global settings area or within the app.

I agree that adding in a landscape toggle is not going to be an option for everyone, there isn't much real-estate to play with on the iPhone.

Amazon's Kindle iPhone app has a very neat implementation of this. Wehenver the screen adjusts its rotation, a little round lock button fades in, sticks around for a while, and fades out again.

If you touch it, the screen is now locked in the current orientation. To see the button again, simply rotate your iPhone to another 90° angle range and it'll fade in again briefly.

Works really well, maybe not so great for the small plane scenario where orientation changes all the time making the continuous fading in/out a bit annoying, but great for statically holding your iPhone at an off angle.

There's a joke in there somewhere...
Well, for those of us who use our 3GS video cameras in bed, we definitely don't want landscape turned off!
"IPhone Developers: We use our iPhones" - worst fortune ever.
Adding yet another option is something that a good developer will do only after careful consideration.

That said, let me say that I do like GoodReader's (an iPhone PDF reader) orientation lock. And of course the fact that it doesn't flail on large PDFs like other apps.

I agree with you but when building an application that has a primary use of reading lots of information, specifically in casual situations, the orientation seems like an obvious UX decision to tackle.

Facebook and the new NetNewsWire apps are two good examples.

So your frustration in bed is Apple's problem? ;)

On a serious note, I agree 100%. There are lots of time where disabling rotation would be useful: in bed, in a small plane, or anything else super jostling.

Maybe the ability to lock the perspective, but also switch in manually.

Apple says to do it that way.

Options are hell.

You shouldn't read in bed anyways, it is poor sleep hygiene

Safari fix: You'll find that Safari Mobile will never rotate so that it is fully upside down. So, tilt your mobile to the desired landscape mode, then tilt the phone upside down (so that the home button is up and the ear piece is down).

Tada: landscape bed reading mode!

(I'm still on OS2, but I expect this to be the same in 3.)

Good tip... now if only there was a trick for portrait mode.
I completely agree! Though, maybe orientation toggling could be disabled on a system level. Double clicking the home button could bring up a dialog box allowing you to turn it off easily.
Oh please - I thought it was just me.. I have to turn in such a way, I get told off for shining the screen in her eys.. disable it, and I will have a better life!
Why should every developer have to implement this. Apple should make it a system-wide setting.
Because that system wide setting would break a ton of apps (think about games that only use landscape for example). I mean, I'd personally be fine with this, but I don't think it's as easy as that.
Rotation is a system-provided feature. Apps that require the accelerometer access it directly; apps that require landscape would still be able to force that orientation (and would work as they do today)
I'm using Rotation Inhibitor on a jailbroken 3GS and it doesn't break anything at all.
Be sure to thank boucher for implementing this in the reddit app.
I completely agree with you and it frustrates me to no end. But I'd be willing to bet money Apple has probably seen the feedback and they decided this is whats best for you. Sometimes the things you'd think would be the most obvious in an apple product are the least likely to be implemented. For instance, I have no way of turning off my monitor on my imac, I have to set the screensaver idle time really really low. It took them 9 versions of itunes to add the ability to "watch" a music folder, and they still implemented it the way they wanted, by just giving you one folder to drop music into. IMHO I think they are hurting themselves with this attitude, but then again, I doubt they care what I think anyway...
CTRL-SHIFT-EJECT should do the trick on your iMac :)
It's mail in bed that's the issue for me. I can't be the only one who wakes up, reaches something like full consciousness, and then reaches for the iphone to see if anything urgent or interesting has appeared in my mail.
I agree we should be able to lock the screen to portrait mode!
Yeah, I wish this were an OS-level toggle.
I concur wholeheartedly
I totally agree with it, smart rotation can be dumb in many scenarios, there manual controls work best

also the internet tethering enabling / disabling needs 5-6 clicks/swipes, it can be made lot simpler than that

I totally agree with it, smart rotation can be dumb in many scenarios, there manual controls work best

also the internet tethering enabling / disabling needs 5-6 clicks/swipes, it can be made lot simpler than that

Haha this is so true. I use my iPhone as an alarm clock and sometimes also read mail or news on it in bed. Landscape mode is so annoying. You finally get comfy and then .. boom! .. landscape mode ..
It shouldn't be app-specific. It should be core functionality. Perhaps a gesture, like, if you put 2 fingers on the screen (one at the top, one at the bottom) and rotate them to correctly orient the content, then the Phone should take that as an order to change the orientation from portrait to landscape, or vice-versa... Possibly also add a "lock orientation" icon just to the right of the clock at the top centre of the display so you can lay down, gesture to change orientation, and then lock it.
Erm... You can get around this in Safari by orienting your phone so that the Home button is towards your ceiling. The reason this works is because Safari only has three rotations (normal, landscape 90deg left, and landscape 90deg right). Since it never flips upside-down, just keep your phone oriented so that the home button is towards the ceiling.

Edit: Oh snaps, apparently apps besides Safari will actually flip entirely upside-down! Wow, that's annoying. Seems like a bug in their app, though. Safari got it perfect.

Amazon Kindle does it nicely… kind of popup-button.
This is something that Apple could totally provide at a global level. Subclasses of the UIViewController can override the willRotateToInterfaceOrientation:duration: method to define how they want to handle rotation events. Apple could modify the UIViewController's default behavior to not send rotation messages if a global "don't rotate" setting is set to true.