Implement the "all dismissed" state |
|||||||||||||
Issue descriptionWhen all the suggestions and status cards have been dismissed, there is nothing left below the fold. Here is what should be shown instead: - An illustration on the background of the below the fold section, with a string below it and a RELOAD link. - In the empty state no peeking card is visible, but you can still scroll below the fold - If you click Reload, we re-fetch content and reset the swipe status of More cards so that empty sections become visible again. Mocks TBA
,
Sep 30 2016
The behavior as described does not feel quite right. This handles the case where the user has dismissed all suggestions in a section, and also the status card and more button, thereby dismissing the section as a whole. Dismissal status for a section carries through across ntp reloads and will soon be persisted across Chrome restarts as well. I think we can take different approaches to what is reinstated when the users clicks "reload". 1. Reinstate all sections and get content for all sections. If we wanted to show content again, we would have to not only reinstate all sections, but also a) if local then reinstate all dismissed suggestions or b) if remote attempt to load more suggestions, and show a spinner in the meantime. 2. Reinstate all sections and load new remote content. Local sections remain empty and will show a status card and / or more button. Remote sections show a loading spinner while loading new suggestions. 3. Reinstate all sections but they are all empty. They'll just have status cards and / or more / reload buttons.
,
Oct 4 2016
//What happens when you press on the button in the completely empty state? If the user clicks reload, we should fetch new suggestions. You want to have the providers go and get an updated list of suggestions. Client side, this is a no-op. Server side, the reload should actually make the provider ask the back end for suggestions.
,
Oct 4 2016
,
Oct 4 2016
Clarification: - The "RELOAD" in the empty state does *not* revert dismiss decisions - The "RELOAD" in the empty state does ask for new content from the providers (which causes new server data to be fetched, and potentially new bookmarks to show up if some have been visited since the NTP has been rendered
,
Oct 5 2016
,
Oct 5 2016
Mock:
,
Oct 5 2016
Specification for time-of-day dependant strings (using device time and timezone, i.e. same as is visible in the Android status bar): 0:00-11:59: Enjoy your morning. 12:00-16:59: Enjoy your afternoon. 17:00-23:59: Enjoy your evening. DEFAULT (for users living outside our 24hr matrix, e.g. on Mars): Enjoy your time.
,
Oct 5 2016
Rachel: can you please provide specs for sizes and colors for this one?
,
Oct 5 2016
Also Rachel: where can I find the illustration isolated from the mock, in all the resolutions?
,
Oct 5 2016
Instead of enjoy your time, maybe "Enjoy your day."
Yes, can do. I'm waiting for this to be finalized with UI review, so will add more details after that.
The illustration itself is 144dp x 144dp.
Title ("That's all for now" in this mock) is Roboto regular 16sp #333333
Subtitle ("More articles will appear soon...") is Roboto regular 14sp #646464
We also don't have a final asset yet for the illustration. Should have it shortly.
,
Oct 5 2016
+alan just FYI
,
Oct 5 2016
Rachel, I was not sure about the "Enjoy your day." Seems like users on Mars might not identify with this phrasing if they are currently in a night phase. wdyt?
,
Oct 5 2016
True, but "Enjoy your time" seems a bit strange. "Enjoy yourself"?
,
Oct 5 2016
I think that's great. We can still add more differentiation for users with perceived multiple identities ("Enjoy yourselves") in M56.
Thanks all!
,
Oct 5 2016
I don't know. 'Enjoy yourself' sounds a bit sarcastic. We should avoid that impression. I suggest 'Enjoy yourself!1!'.
,
Oct 5 2016
Ship it!
,
Oct 10 2016
I've shared the assets with Michael. :)
,
Oct 10 2016
,
Oct 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52783d986c243bce2baeed48a07b6b15029d3312 commit 52783d986c243bce2baeed48a07b6b15029d3312 Author: mvanouwerkerk <mvanouwerkerk@chromium.org> Date: Wed Oct 12 11:03:40 2016 Ntp: show AllDismissedItem when all sections have been dismissed. BUG= 651058 Review-Url: https://codereview.chromium.org/2400783003 Cr-Commit-Position: refs/heads/master@{#424710} [add] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/res/layout/new_tab_page_all_dismissed.xml [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java [add] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/AllDismissedItem.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageItem.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/FakeSuggestionsSource.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SuggestionsSource.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/java_sources.gni [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/browser/android/ntp/ntp_snippets_bridge.cc [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/chrome/browser/android/ntp/ntp_snippets_bridge.h [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/components/ntp_snippets/content_suggestions_service.cc [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/components/ntp_snippets/content_suggestions_service.h [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/components/ntp_snippets/content_suggestions_service_unittest.cc [modify] https://crrev.com/52783d986c243bce2baeed48a07b6b15029d3312/tools/metrics/histograms/histograms.xml
,
Oct 14 2016
,
Oct 17 2016
,
Oct 18 2016
Patrick: In the state where you saw the "all dismissed" view and clicked "refresh", and now all sections show up, even empty ones: Do we want any particular ordering of the sections? Michael suggested it might make sense to put empty sections at the end. (Extra complication: Empty remote sections will automatically get refreshed, so they should go before the really-truly-empty ones.) I tend to think the whole thing is rare enough that the ordering doesn't really matter :) WDYT?
,
Oct 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90f0b761dc39f71ce87477f93e9c33664c307118 commit 90f0b761dc39f71ce87477f93e9c33664c307118 Author: mvanouwerkerk <mvanouwerkerk@chromium.org> Date: Wed Oct 19 12:05:12 2016 Ntp: add illustration for all dismissed state. BUG= 651058 Review-Url: https://chromiumcodereview.appspot.com/2430383003 Cr-Commit-Position: refs/heads/master@{#426154} [add] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/drawable-hdpi/ntp_all_dismissed.png [add] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/drawable-mdpi/ntp_all_dismissed.png [add] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/drawable-xhdpi/ntp_all_dismissed.png [add] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/drawable-xxhdpi/ntp_all_dismissed.png [add] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/drawable-xxxhdpi/ntp_all_dismissed.png [modify] https://crrev.com/90f0b761dc39f71ce87477f93e9c33664c307118/chrome/android/java/res/layout/new_tab_page_all_dismissed.xml
,
Oct 19 2016
Here's a rough spec for how this should look. :)
,
Oct 20 2016
,
Oct 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f8003d49d2e17ffa67c566001d8ca454c2d80e79 commit f8003d49d2e17ffa67c566001d8ca454c2d80e79 Author: mvanouwerkerk <mvanouwerkerk@chromium.org> Date: Thu Oct 20 15:42:15 2016 Ntp: tweak "all dismissed" spacing for latest mock. BUG= 651058 Review-Url: https://chromiumcodereview.appspot.com/2438033002 Cr-Commit-Position: refs/heads/master@{#426482} [modify] https://crrev.com/f8003d49d2e17ffa67c566001d8ca454c2d80e79/chrome/android/java/res/layout/new_tab_page_all_dismissed.xml
,
Oct 20 2016
,
Oct 21 2016
Marc, I tend to agree. Let's keep it simple for now and keep the default ordering. |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by nepper@chromium.org
, Sep 30 2016