Wire-android: add landscape orientation for conversations

Created on 9 Jan 2017  Â·  27Comments  Â·  Source: wireapp/wire-android

Currently, the app only supports portait mode. This makes writing large texts in conversations hard, especially on compact (up to 5") devices.
Please support landscape mode for entering text, as every other messaging app does.

Wire: 2.24.303
Android: 5.1.1
Device: Sony Xperia Z1 Compact

enhancement

Most helpful comment

78 is closed, and the reluctance to support landscape mode on an otherwise good app is baffling. The reason given is design overhead, which is again baffling, given that Android supports relative resizing to allow this adaptation painlessly-

https://developer.android.com/training/multiscreen/screensizes.html

I have little means pitching Wire at its current state. How does one explain no landscape mode on a messaging app?

All 27 comments

duplicate of #78

78 is closed, and the reluctance to support landscape mode on an otherwise good app is baffling. The reason given is design overhead, which is again baffling, given that Android supports relative resizing to allow this adaptation painlessly-

https://developer.android.com/training/multiscreen/screensizes.html

I have little means pitching Wire at its current state. How does one explain no landscape mode on a messaging app?

Not only is it bad for typing, also viewing landscape images is a real pain...
When looking through the wire-android issues, imho this one is the most important missing feature right now. Wire-android completely ignoring the device orientation (see also #892) really breaks it.

I second that. Please add it.

I made an account just to report this incovienience, especially since the app can work in landscape mode with the use of third party landscape forcing apps like spin n go from f-droid

Could this receive developer attention? This issue makes Wire unusable on Android laptops without use of thirdparty apps to force Wire into landscape mode.

I have the same issue.

The fact that Wire does not allow landscape orientation is exactly why I don't use Wire. I would call this a bug that needs fixed, not just a feature request.

When recommending the app to my parents, I literally had to install an Android hack to forcibly permit landscape mode. To use on a tablet? You know, the Android device that is in landscape mode _by default_?

@FeepingCreature
Do you know if Wires means of handling device rotation can explain my problem: Trying to Wire video talk with mother, and we are unable to see each other in same orientation. I.e., if i see her upright, she sees my head sideways. And visa versa. Difficult for me to troubleshoot as she's not so tech savvy, and 3000km away.
I've got a Samsung galaxy s3, and she got an older Samsung tablet of some sort...

On 10/3/18 1:48 AM, svaens wrote:

@FeepingCreature https://github.com/FeepingCreature
Do you know if Wires means of handling device rotation can explain my
problem: Trying to Wire video talk with mother, and we are unable to see
each other in same orientation. I.e., if i see her upright, she sees my
head sideways. And visa versa. Difficult for me to troubleshoot as she's
not so tech savvy, and 3000km away.
I've got a Samsung galaxy s3, and she got an older Samsung tablet of
some sort...

Yes, that is exactly the problem, and the reason that Wire needs to
handle device rotation.

This is not a feature, it's a major flaw in the app. No idea why this is not taken up in priority as it is a major handicap for its adoption

@Hypnosii We experimented with the landscape mode in the past but the sheer number of issues it created convinced us to drop it. Currently there are no plans to try it again. We may consider it in the future, after we move the architecture to Kotlin, but I can't promise anything.

@makingthematrix Can you explain what problems you had? Maybe the community can help you with that.
I just bought a F(x)tec Pro1 (smartphone with hardware keyboard) and was hoping to switch back to wire and finally type without a damn touchscreen. Don't tell me I have to stick with buggy signal just for the landscape mode? It shouldn't be that hard. Wire is the only messaging app that doesn't support it. You could at least give us a experimental toggle in the app and let us give you feedback on what works and what doesn't.

@XenGi There were some design decisions (both UX and about the architecture) made a long time ago which can't be reverted without rewriting a lot of code. Actually, we are rewriting the code, but we are a small team. It will take time, and the landscape mode is not our priority.

Nevermind, I just read about your move to a US based company. So wire is basically dead to me. The last privacy aware messaging system that is left that fits my needs is jabber/xmpp then.

See tweet and followups: https://twitter.com/brokep/status/1194392575442067456

Hey everyone, just jumping in to make a couple of things more clear. First of all thanks for taking your time and suggesting new features.

Regarding landscape mode, we are basically refactoring/rewriting the app and it is something we have in our roadmap, but due to priorities, some internal coupling and legacy code based on some architectural design decisions, we need to address other problems before:

  • Introduce our new architecture based on clean architecture written in Kotlin, which involves:
    1- Restructure Data Layer
    2- Restructure Domain Layer
    3- Refactor UI

Currently because of Scala and its ecosystem around android, it makes a bit difficult to do achieve all these challenges in a fast way.

We listen to you and the community, and that is why we make everything transparent and open source. You can check the progress on the codebase and keep track of the changes.

Any suggestion and pull requests are more than welcome.

Related our move to the US, this is something out of our hands (Engineering) but if you check the documentation on how Wire works, there is no impact on the privacy since we cannot decrypt/see any messages, that is end to end encryption that happens at a client level, so the data is totally safe and only users can access to it.

There is way more to understand and it is hard to explain it here, but here is further documentation:
https://wire-docs.wire.com/download/Wire+Security+Whitepaper.pdf

@XenGi no one is forcing anyone to use Wire of course and constructive feedback and politeness is always more than appreciated it.

Okay, but here's the part that I don't understand.

The app works fine if I just force it to landscape using an Android hack.

So whatever the app is doing to prevent itself from being put into landscape, why can't it just stop doing that? So I don't have to tell my parents, who are not technical, that they have to open Force Landscape before opening Wire.

I get that you want to refactor it, I don't get how that's holding up the app ceasing to actively prevent itself from working fine in landscape. I don't want a special mode for this, I want the app to stop preventing itself from working fine in landscape, which it already supports, as can be seen if you just force landscape and try it out.

@FeepingCreature there is way more than that. Maybe you can send a video or something to help us?

Android recreates activities when configuration changes (in this case from Portrait to Landscape). if you do not handle correctly garbage collection and you rotate the screen several times, the app is going to freeze, because it is retaining all these references. That leads to a lot of problems (especially memory leaks and inconsistent state) and as I said, it requires a big refactor, something we are working on.

@FeepingCreature also feel free to contribute by sending a PR, that is more than welcome. Complaining via chat is easy, we are doing our best to make Wire a robust Messaging Platform and that is why we also decided to open everything we are doing.

I see what you mean, but ... if the application is started in landscape mode, then why not stay in landscape mode and lock it in that mode? That way you would bypass the GC cost from changing state but still support the tablet usecase. Disregard if that's too much effort. Also, we've mostly switched to phone calls anyways, so I don't really have this as a pressing usecase atm.

edit: Oh yeah, genuinely thank you for finally saying what the actual problem is!

@FeepingCreature that the expected feedback we are looking for. Maybe that could be an option to setup a default mode when the app starts. This is something to consider, although I cannot promise that, I have to say that this functionality is definitely in our road map.

BTW, I'm curious about how you are forcing landscape mode :), since it is blocked at Manifest level. Are you compiling your own version?

@android10 I confirm the feedback from @FeepingCreature ... I use RotationControl (https://www.phonearena.com/news/How-to-force-landscape-or-portrait-mode-in-apps-like-Instagram-and-others-Android_id78439) in order to force Wire to go on landscape. Although it sometimes has the undesirable side effect that picture show upside down

There are a metric tonne of apps on the Google Play Store that will force a certain orientation on your phone.

I've been using control screen rotation and, as with @FeepingCreature and @Hypnosii have not experienced any ill-effects when forcing Wire into landscape orientation.

I'm glad someone from the dev team has actually taken the time to explain why they made the decision not to obey device orientation --even though we've got at least 3 people who've not had any problems when using Wire in landscape mode. But, again as others have said; Why not allow the user to make the choice --maybe with a warning that landscape mode is not officially supported and may be buggy?

For me the 3 most annoying features that any app can have are:

1: Require me to setup an account before I can even look at the interface
2: Prevent me from changing the font size to one I can actually read
3: Ignore my preference setting for screen orientation.

Wire currently has all three of those and only the first is in any way justifiable.

Uh? This bug is not fixed. Why the close?

This and #1570 were closed without comment.
That's sad.

Folks, we made comments about it many times in the past.

The decision stands: we are a small team and so we have to be very careful about priorities. We won't work on this feature (the way we see it, it's not a bug to be fixed, but a request for a feature) in the near future. We have no time and energy to spend on this. This is not because we are mean or lazy or we don't like you and don't want to work on issues important to you. It's just the reality of our work. We have to cut corners.

I closed this issue because we try to clean up the list of open issues so it's easier for us to focus.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kroerig picture kroerig  Â·  4Comments

maltfield picture maltfield  Â·  4Comments

juliss95 picture juliss95  Â·  4Comments

someoneEsle picture someoneEsle  Â·  4Comments

daebb picture daebb  Â·  5Comments