Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigation | New Home tab to priorize all unread - BLOCKED #4010

Closed
wants to merge 17 commits into from

Conversation

BillCarsonFr
Copy link
Member

@BillCarsonFr BillCarsonFr commented Sep 14, 2021

App Navigation modification.

This PR introduces a new Home Tab, in this tab you will find all important things you need to read first in a less busy and more compact layout so you can see more at once (one line per room with no last message preview or timestamp) .

It is combining rooms and people into one list, in order to stop people having to change tabs to check on unread rooms/people.

image

The Home tab contains in order

  • Invites if any
  • Your Favorites for quick access
  • DMs with notifications
  • Rooms with notifications
  • Other Rooms sorted by unread first
  • Other Dms
  • Suggested rooms of space if any

The existing DM tabs and Room Tabs are modified a bit, they won't show favorite or invites anymore as they will be on Home already. They will continue to display rooms in last activity order with a more detailed view (last message, typing indicator, timestamp, bigger avatar).

  • Check Legacy community organization of sections and tabs
  • Probably need to update empty state of home
  • Check new user experience, and space joining flow

@jwsp1
Copy link

jwsp1 commented Sep 14, 2021

General thought: I don't see the need to separate rooms into categories like Favorites, Unread DM, Unread Rooms, DM, Rooms, and Low Priority. It just wastes valuable space which could be used to show a preview of the latest message.

If this is supposed to fix #650, then it is not quite what people wanted.
The most simple style for most users would be to remove all tabs and show rooms in this order:

  • Favorites (always pinned to top),
  • then DM/Rooms ordered by time of latest message,
  • then Low Priority (always pinned to bottom).

@BillCarsonFr BillCarsonFr force-pushed the feature/bca/home_navigation branch from 0dbcce6 to cf9a23c Compare September 16, 2021 13:50
@github-actions
Copy link

github-actions bot commented Sep 16, 2021

Unit Test Results

  44 files  ±0    44 suites  ±0   45s ⏱️ -5s
  87 tests ±0    87 ✔️ ±0  0 💤 ±0  0 ±0 
228 runs  ±0  228 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit 70d0e5f. ± Comparison against base commit 9661fa0.

♻️ This comment has been updated with latest results.

@BillCarsonFr
Copy link
Member Author

BillCarsonFr commented Sep 16, 2021

Following feedbacks from this (and related issues), I added a new Preference that allows users to select their preferred layout

image

Pro Layout will have 3 tabs, Home/Dms/Rooms .
Home will put every rooms/dms with notification on top, and will replace the previous optional 3rd tab (notifications only).
Home will have Invites / Favorites and they won't be repeated in other tabs

Simple layout will have no tabs, so all your rooms & Dms in one list ordered by activity. Invite & Fav on top
image

@BillCarsonFr BillCarsonFr force-pushed the feature/bca/home_navigation branch 2 times, most recently from 30c763e to 0316a15 Compare September 22, 2021 07:01
@BillCarsonFr BillCarsonFr force-pushed the feature/bca/home_navigation branch from d900132 to 914a8b0 Compare September 29, 2021 15:12
Copy link
Member

@bmarty bmarty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First remarks:

  • This PR has to be rebased.
  • Also please ensure that the sanity test is still passing (it will need some update)
  • I will do a full review later

Copy link
Member

@bmarty bmarty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this, I'm sure it will be really appreciated.
Please see my comments

private fun handleViewResumed() {
// Good place to check for layout mode
setState {
copy(layoutMode = vectorPreferences.getLayoutMode())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setState only if the value is not the same? It's maybe done internally by MvRx, not sure.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

selectSubscribe is doing distinct until changed

// Layout

fun getLayoutMode(): LayoutMode {
return defaultPrefs.getString(SETTINGS_LAYOUT_MODE, LayoutMode.PRODUCTIVITY.name).let {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default is PRODUCTIVITY? I would say SIMPLE would be better, or maybe reuse the setting SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB, if true -> PRODUCTIVITY

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it was decided to use productivity as default to not disturb too much current experience and user flows.
It's a good idea to check for SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB as a discriminator.
I also wonder if SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB user will be satisifed by the new home, maybe they would want the new home to only show unreads?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but new accounts should definitely see the SIMPLE layout then. Do you agree?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed to do as you proposed (SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB, if true -> PRODUCTIVITY)

@@ -0,0 +1,84 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename the two drawable vectors to ensure they have a common prefix: ic_layout_pro and ic_layout_simple. Also those are not really icon, so maybe setting_layout_pro and setting_layout_simple would be better names

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

<path
android:pathData="M16,17m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"
android:strokeWidth="1"
android:fillColor="#C1C6CD"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it render well in dark theme?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In simple layout, there have not any Direct Messages button. I think it would be easier for searching people if there have a Direct Messages button.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it render well in dark theme?

Yes

In simple layout, there have not any Direct Messages button.

There is, when you tap the FAB button you have a choice between new DM or new room
image

Copy link
Member

@bmarty bmarty Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

Sorry, but is it really what we want in dark theme? white bg like that?

EDIT: this is related to the same drawable, sorry

<!-- android:drawableEnd="@drawable/ic_pro_layout"-->
<!-- android:text="@string/settings_home_layout_pro"-->
<!-- tools:checked="false" />-->

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cleanup?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@BillCarsonFr BillCarsonFr force-pushed the feature/bca/home_navigation branch from 9fb4fcc to fe9b4ef Compare October 13, 2021 09:21
<?xml version="1.0" encoding="utf-8"?>
<resources>

<!-- room message colors -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update this comment?

Copy link
Member

@bmarty bmarty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!
As discussed, will be merged today so that we can get some feedback before the next release.

@kojid0
Copy link
Contributor

kojid0 commented Oct 22, 2021

LGTM, thanks! As discussed, will be merged today so that we can get some feedback before the next release.

Is it already in the debug build? Cannot find it / give feedback

@bmarty
Copy link
Member

bmarty commented Oct 22, 2021

LGTM, thanks! As discussed, will be merged today so that we can get some feedback before the next release.

Is it already in the debug build? Cannot find it / give feedback

The merging of this PR has been delayed, the changes it brings require more internal discussions

@AnisTaluqdar
Copy link

AnisTaluqdar commented Dec 7, 2021

Still, waiting for it. 🥺 Will it be available this year?

@Flam3z
Copy link

Flam3z commented Dec 8, 2021

We can only hope and be patient :)

@kojid0
Copy link
Contributor

kojid0 commented Dec 10, 2021

The merging of this PR has been delayed, the changes it brings require more internal discussions

I understand that the Design Team might wand to unify the look&feel between Android&iOS, but this PR is really necessary for simplicity.
Currently, you will miss reading messages if you forget to frequently look in both tabs. I have two users where I see that they respond in rooms but not in DMs because they don't check both places.
Please merge this (as it's a working solution for now) and get back to it later if necessary.

@bmarty bmarty changed the title Navigation | New Home tab to priorize all unread Navigation | New Home tab to priorize all unread - BLOCKED Jan 6, 2022
@bmarty
Copy link
Member

bmarty commented Feb 28, 2022

Let's remove this PR, we will iterate with IA later.

@bmarty bmarty closed this Feb 28, 2022
@kojid0
Copy link
Contributor

kojid0 commented May 3, 2022

Can you please link the subsequent issue / PR?
Still waiting for this... Many of my friends miss new messages because they don't look in both tabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants