mattermost / mattermost-mobile

Next generation iOS and Android apps for Mattermost in React Native
https://about.mattermost.com/
Apache License 2.0
2.25k stars 1.36k forks source link

Android device back button should open channel list not exit the app. #1548

Closed miker closed 6 years ago

miker commented 6 years ago

Summary

Hitting the back button while in a channel should open the channel list.

Environment Information

Expected behavior

Mattermost should open the channel list after hitting the device back button. Hitting back should essentially do the same thing as touching the top left hamburger menu button.

Observed behavior

Hitting the device back button exits Mattermost showing the last app that was open or the desktop.

Possible fixes

Hitting back should open the channel list just like the top left hamburger menu button was touched.

enahum commented 6 years ago

@miker can you please explain why? What is the reasoning and UX support for that? Maybe we missed something

miker commented 6 years ago

This may just be a personal preference/my experience with other apps. Hitting the back button to get back to the 'start' is a habit and feels natural to me.

A friend and I have been heavily testing matter most with a personal project that may lead to use in a professional setting. Hitting the back button purposely and sometimes accidentally and having the app instantly close to the desktop has been a personal annoyance.

Hitting the back button while in a channel to bring up the channel list feels more natural and is a lot easier than hitting the hamburger menu button in the top left. Your fingers are already at the keyboard usually so the back button is right there. Plus I can reach the back button with my thumb. The hamburger button is not within easy reach.

I would actually say that the back button should require at least 2 presses to exit the app completely. Imvho hitting the back button while in a chat should never completely exit the app. That is not something expected and almost certainly never my intention when hitting back while in a channel either purposely or the occasional accidental click.

I love the seemlessnes and ability to switch from desktop to android and back whenever needed.

I hope this helps with seeing why hitting back while in a channel should open the channel list or anything but insta-close. Let me know if there are any other questions or anything I need to explain better.

Matter most has been awesome. This is 1 of the few annoyances I've found. Great work, keep it up!

ccoenen commented 6 years ago

I would actually say that the back button should require at least 2 presses to exit the app completely. Imvho hitting the back button while in a chat should never completely exit the app. That is not something expected and almost certainly never my intention when hitting back while in a channel either purposely or the occasional accidental click.

If this were true, it would be OS-wide standard. Please don't mess with system wide ux patterns.

Also, it does not "exit" the app, it will put it into the background like all other apps are put into your android task switcher history. And it will be in exactly the state where you left it.

Sidenote: you can also swipe the menu in from the right, no need to go all the way to the hamburger menu.

miker commented 6 years ago

You are correct, it does put the app into the background, not kill the app. Didn't mean to imply the app was killed. I think the behavior I described is the OS wide standard which is why I found hitting back while in a channel backgrounding the app so off putting. I guess I look at the channel list as a 'homepage' or 'start page'. Hitting back while on a start page would make sense to background the app. Are you saying that in every android app you've used hitting back from any section of an app immediately backgrounds the app? I would say matter most is the only app I can recall that does this. I guess I'll see about finding some examples of the behavior I'm used to when I get a spare minute. It's been my experience that hitting back takes you to the previous section of the app, which on matter most would be the channel list, then hitting back again while on the channel list would background the app.

ccoenen commented 6 years ago

No, I am saying the back button has a very defined way of working. You usually travel back the series of screens or modals you opened. And this is already exactly what happens in the app:

In other words: it is fine, please don't break it.

I believe your proposed change will make it less conforming to system standard, not more. The channel list is a sidebar. A modal. A menu. Take your pick. It is not the homepage or start page. If it were, mattermost would start on that start page. It does not, it starts on your most recently used channel.

Since you were interested in a list of apps:

Of course, if you have any navigational things done in those apps, they might return to a previous screen, first. (As shown in the beginning, this is also already the case with Mattermost.) But NONE of them open a modal or menu in any case. I tried to stay with google's apps or "widely used" apps for these examples.

miker commented 6 years ago

I guess I didn't realize the channel list was technically a menu. I was thinking of it as more of a "home page" than a menu. I guess I'd say this request would be more for a home page than the back button opening the channel list then. I still don't think the back button should exit the app when in a channel. Sorry background the app. When I'm in a channel I almost never want to leave the app if I hit the back button. I generally want to enter another channel. That's why I initially requested the back button open the channel list.

Either way it's not my app and I'm requesting a change without providing code. I can deal with whatever the app does. All in all it's a great app.

PS in all of your examples of course the app exits if you open the app then immediately hit back. I'm talking about the last "of course" part of your comment, the "navigational things". I'd consider opening the app the going into a channel going "deeper" into the app and a "navigational thing" in the app.

Not trying to be confrontational here, just providing info that would make the app easier to use. Granted this is all my opinion, and not my app. Whatever the devs decide/implement is what I'll use.

miker commented 6 years ago

Just for reference I can confirm rocket chat has the same behavior of backgrounding the app if you hit the back button while in a channel. I don't like this behavior in rocket either.

Instead of opening a menu when hitting back could there be a "homepage" that is opened after hitting back? It would be cool to show stats and other cool things eventually. Profile info. Friend status (online offline etc) The total number of messages sent/received in a channel, total number of messages sent/received by the user specifically (overall and per channel). Maybe server and bot info. Not sure what, or if any of, this info is available. Just an idea.

amyblais commented 6 years ago

This has been discussed with our engineers and it seems that the current behaviour matches with what is expected by the OS. Closing this issue for now,

wjurkowlaniec commented 2 years ago

+1 for back button to go back to main channel, like in slack