Wire-ios: Feature: Landscape mode

Created on 7 Nov 2016  Â·  17Comments  Â·  Source: wireapp/wire-ios

I already requested this through the contact form a while ago but I think it would be better off here, making it easier to track progress on this issue if there is any.

I really hate typing on portrait mode, the buttons are just too small for my fingers. Unfortunately Wire doesn't support landscape mode on iOS. I would really love support for this to be added.

Feature request

Most helpful comment

Hey @MadEgg !
Let me introduce myself, I am one of Wire's engineers who are working on the iOS application, precisely most of the time on it's UI. We are really happy to receive the suggestions, comments, ideas and moreover the code commitments to our app, this is really exciting!
I wanted to check into the discussion, to state my vision and understanding of the issue you indicated. As a former iPhone 6 Plus owner, I also wanted to have the landscape UI in Wire client. However, as I started working on it it got more and more complex over time. Let me show you the issues that we met:

  1. The controls stacked vertically on the screen do not fit into the phone's landscape height; controllers that don't have that much horizontal content would look "stretched".
  2. Text is too wide in the conversation content, which makes it harder to read.
  3. The images, as they are laid out side to side, occupy the whole screen, so the conversation content is hard to observe.
  4. In general, hard to develop each screen to support landscape. On iPad the app supports landscape, but a lot of screens are presented in the popover, which makes them look correctly. Moreover, it is hard to support everything to work in landscape.
  5. Some system screens don't support landscape, so the UI would jump back to portrait when you open them.

The code you found is the correct entry point to change the orientations supported, but it would be not enough just to change it, after doing so it would be necessary to go over the whole application and verify each screen working correctly without overlaps and glitches.

Right now we cannot prioritize this feature knowing the underlying engineering & testing effort, unfortunately. If you feel like implementing it and the UI would still look good as the result of the change feel free to create the PR and propose your solution. We would be glad to accept it, if it would meet our UI/UX expectations. Alternatively, you can consider having the landscape UI optional and adding the switch to enable it in the settings, this is really easy and I can assist you with doing this part.

Thanks for reading my long response, I hope it makes sense for you!

All 17 comments

Hello, thanks for the feedback. It's a good point indeed, but this is not planned at the moment. However, landscape mode is available on tablets.
Thank you for taking the time to send us your comments, and please feel free to contact us again if you have additional questions.

I can confirm that landscape mode is in fact supported on iOS when using iPad.

Yes, I found the following in Wire-iOS/Sources/UserInterface/Helpers/UIViewController+Orientation.m:

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
    {
....
        if (smallerDimension >= 400 && largerDimension >= 700 && NO)
            return UIInterfaceOrientationMaskAll;
        else
            return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
...
 else
    {
        // Don't need to examine screen dimensions on iPad
        return UIInterfaceOrientationMaskAll;
    }

I'm not completely up to speed on Objective-C but the 'NO' seems to suggest that an attempt has been done to provide landscape orientation on iPhones, depending on the screen size, and has been disabled. I'm going to assume that this was due to layout issues where the UI didn't fit on the screen that didn't have priority.

I'm going to see if I can get the code to compile and tweak the layout so that landscape orientation will work on iPhones. Do you consider pull requests, should I be able to pull it off?

Hey @MadEgg !
Let me introduce myself, I am one of Wire's engineers who are working on the iOS application, precisely most of the time on it's UI. We are really happy to receive the suggestions, comments, ideas and moreover the code commitments to our app, this is really exciting!
I wanted to check into the discussion, to state my vision and understanding of the issue you indicated. As a former iPhone 6 Plus owner, I also wanted to have the landscape UI in Wire client. However, as I started working on it it got more and more complex over time. Let me show you the issues that we met:

  1. The controls stacked vertically on the screen do not fit into the phone's landscape height; controllers that don't have that much horizontal content would look "stretched".
  2. Text is too wide in the conversation content, which makes it harder to read.
  3. The images, as they are laid out side to side, occupy the whole screen, so the conversation content is hard to observe.
  4. In general, hard to develop each screen to support landscape. On iPad the app supports landscape, but a lot of screens are presented in the popover, which makes them look correctly. Moreover, it is hard to support everything to work in landscape.
  5. Some system screens don't support landscape, so the UI would jump back to portrait when you open them.

The code you found is the correct entry point to change the orientations supported, but it would be not enough just to change it, after doing so it would be necessary to go over the whole application and verify each screen working correctly without overlaps and glitches.

Right now we cannot prioritize this feature knowing the underlying engineering & testing effort, unfortunately. If you feel like implementing it and the UI would still look good as the result of the change feel free to create the PR and propose your solution. We would be glad to accept it, if it would meet our UI/UX expectations. Alternatively, you can consider having the landscape UI optional and adding the switch to enable it in the settings, this is really easy and I can assist you with doing this part.

Thanks for reading my long response, I hope it makes sense for you!

Hi @mikeger !

Thanks for your elaboration. I wasn't at all expecting the fix to be just to change the line I referred to. I was merely stating that that's probably the reason why it is available on iPad and not on iPhone.

First of all: don't expect any magic from me any time soon. I am (if I may say so myself) a very good programmer but I lack mobile app development experience, my experience is limited to desktop software and web development. Usually pretty good at picking up new languages and programming paradigms, but it'll take time. Since it's a very important feature for me because of all the hassle it is for me to type in portrait mode (I almost exclusively use my iPhone in landscape mode, including other messengers), I will definitely consider looking into it, if I can find the time.

A switch to enable / disable landscape mode sounds like a good solution; however, isn't it a bit funny to rotate your phone sideways and attempt to type sideways? What I mean is that you probably will not rotate your phone if your not interested in a landscape mode. Still, some configurability will not hurt.

I will consider all the issues you mentioned and will perform thorough testing on the devices I have at hand: iPhone 5S and iPhone 6, but I will not be able to test on other screen sizes. Anyway, that's of later concern, let's first see if I can actually come up with something.

Once again, thanks for the explanation!

Maybe a full landscape with all UI elements isn't required. It might be enough to support horizontal typing. I've attached a screenshot of Threema's horizontal typing on Android. This is what most of my contacts are missing in Wire. It's a fairly simple screen that shouldn't come with the amount of development overhead that was described. here.

Edit: I've added this here because some of my more vocal contacts about this use iOS. But of course this should work on Android as well.

asdfasdf

That would definitely be a very acceptable solution - I prefer reading in portrait mode and typing in landscape mode. And viewing images and videos in landscape mode is also usually better, but this is already possible in Wire, by launching the full screen viewer.

This solution would require a bit more forced rotation of the device, but I find myself doing that usually already: rotating back to portrait after typing my message.

Still, both Telegram and WhatsApp do a very decent job of a landscape view for conversations, so it's not necessarily impossible to accomplish that.

I would like to come back on this, because that's a mandatory feature!

Are there any plans on integrating the landscape mode for typing in messages? A solution as proposed in the screenshot above would be enough!

Any progress on this?

No progress so far unfortunately.

"Hello, thanks for the feedback. It's a good point indeed, but this is not planned at the moment. However, landscape mode is available on tablets." This told us the support month ago. BUT NOW :
Now landscape-mode is not available on android-tablets too. Support told me, that wire will not support tablets in future, only smartphones. It's terrible !!! Many other messengers support landscape-mode on phones AND tablets. Why it is so difficult to implement this feature !!!!????

@ewn261 for the moment there are no plans to remove the tablet support on iOS. However we are still not planning implementing the landscape input unfortunately. If this is going to change we are going to announce it here. I am truly orry to disappoint you.

Other and other people (see comments on Google Play and other sites in Internet) want tablet support and
landscape mode back on Smartphones and tablets urgently !!!!!
Other messengers like WhatsApp,telegram, threema have it installed. It can't be difficult to install this on Smartphones and tablets . Business men will miss it too !!!!

-----Ursprüngliche Nachricht-----
Von: "Mike Gerasimenko" notifications@github.com
Gesendet: Freitag, 2. März 2018 13:57
An: wireapp/wire-ios wire-ios@noreply.github.com
Cc: ewn261 werbung@w2r.name; Mention mention@noreply.github.com
Betreff: Re: [wireapp/wire-ios] Feature: Landscape mode (#373)

@ewn261 for the moment there are no plans to remove the tablet support on iOS. However we are still not planning implementing the landscape input unfortunately. If this is going to change we are going to announce it here. I am truly orry to disappoint you.

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/wireapp/wire-ios/issues/373#issuecomment-369914214

Hey @ewn261 , I see your confusion, once again the iOS version supports tablet and would continue supporting the iPad. I would check if the Android version has any plans in regard of bringing the tablet support back. Meanwhile I would suggest to return to the topic of this ticket, i.e. the landscape mode on iPhones.

This is really strange.
I mean, it should be clear, that some people (or even many people) with either small phones (like iPhone SE) or huge hands just cannot type without a rotation feature. WhatsApp had it from the beginning, it took Threema just a few days to optimize it, and built-in apps like iMessage or Mail have landscape anyways.
From now on I will just refuse using any messaging app, which does not offer a landscape mode!

Hi @mikeger,
Nice to see a dev active on an important thread.
You probably have had this enough not to need to read just 'yet another' opinion on this matter,
nonetheless, I wonder if you understand just how fundamental the problems are surrounding this.

There are people, like @MeHannah, to whom landscape mode is a must. Not implementing it rules out wider adoption. Surely wide adoption is something you want to support; The aim is to provide a secure alternative for people who, like myself, will otherwise use not ideal solutions such as 'Duo' (which, by the way, is yet another application which supports landscape mode).

Besides fancy 'nice-to-have' features such as timed messages, ping, the basics of the app need to be working before one can expect ones friends or family, or business associates to 'invest' in this app (and it is an investment of sorts, even if one is using the free account).

Fundamentals include:

  1. stable (doesn't crash so much)
  2. good usability (UI)
  3. Good connectivity

These need to be there before even good security, otherwise people, the normal joe/jane, just won't use the app.

Unfortunately, without landscape mode for both text and video, you don't have point 2 (good usability).

Worse still, I am affected by a strange bug which sees one participant of a video chat (in this case, between myself and my mother) seeing the other person sideways instead of right-way up. That is regardless of mine or hers usage of the tablet in Portrait mode! Very strange.

This inability to address this fundamental UI issue, along with the here mentioned bug, has rendered the app unusable to me. I have unfortunately 'reverted' to using a non-optimal solution (Google Duo) for video calls with my mother (who lives in a different country) because it just works, and ... great... it even works in Landscape mode. Whatever mode we use our tablet in (we both have a Samsung Galaxy Tab) we see the other person right-way-up.

I would happily migrate myself (and my mother) back to Wire at some point in the future, but only when this issue (and feature) is resolved. Until then, myself (and likely countless others) will give up on what otherwise would have/could have been a great app.

Incidentally, I have tried 'Signal' as alternative to wire. Signal works great, but unfortunately, they have decided not to support mobile devices which do not have a phone number (even though one can pair a laptop with the main account!). Once again, an example of an otherwise good app making a bad design decision, and driving the masses away.

Hey @svaens ! I appreciate your input. I must announce that I am not participating in the Wire-iOS development any more, so I cannot help with this matter.

Was this page helpful?
0 / 5 - 0 ratings