New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612508 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Not on Chrome anymore
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocked on:
issue 602966

Blocking:
issue 584266



Sign in to add a comment

Implement UX for the empty below-the-fold section of the NTP

Project Member Reported by dgn@chromium.org, May 17 2016

Issue description

Should address cases such as

- All the snippets are cleared
- We can't load new snippets and need the user to take an action
- etc.
 

Comment 1 by dgn@chromium.org, Jun 1 2016

Labels: zine-mr-iter-17
Status: Started (was: Assigned)

Comment 2 by dgn@chromium.org, Jun 1 2016

Cc: rachelis@chromium.org
Prototype Done: https://goo.gl/photos/UbajznTUjMS8v15r5
Let me know if it looks ok. In particular the animation. I just used the default one.

Thanks Nicolas!

It would be great to use an animation where the card fades in while moving upwards into place. There's a good example in the GSA on iOS - does someone have a phone there you can use to take a look? 

Nit:
The reload button seems to have a lot of padding on the left side. Is that standard? I think it's meant to be 8dp padding + the standard button padding.

A side note - when looking at this, I noticed that the vertical height we use (between the omnibox and the card when below the fold) is much too tall. I'll file a separate bug for that.

Comment 4 by dgn@chromium.org, Jun 2 2016

Our cards have a general 16dp padding, I'll see what I can do about this.

Do you mean the vertical height in the space where "Articles for you" normally stays? We currently have 56dp there.

Comment 5 by dgn@chromium.org, Jun 2 2016

Labels: zine-mr-iter-18
Labels: M-53

Comment 7 by dgn@chromium.org, Jun 10 2016

Issue 618853 has been merged into this issue.
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12fae2360889eba5e18e00ce641d95cb4a814159

commit 12fae2360889eba5e18e00ce641d95cb4a814159
Author: dgn <dgn@chromium.org>
Date: Fri Jun 10 16:20:51 2016

[NTP Snippets] Show a status card when there are no available snippets

Introduce a new NTP item type type: Status cards! They show up when
there are no snippets to display and let the user know that the NTP
is not broken. The current one simply acknowledges that we ran out
of snippets and allows to manually fetch more.

This CL also refactors some basic card features out of Snippet specific
classes.

Known issues that will be addressed in future CLs:
- Show a different message if the service can't fetch snippets but the
user can fix it, for example by enabling sync.
- The card should be animated as coming from below

BUG= 612508 

Review-Url: https://codereview.chromium.org/2024933002
Cr-Commit-Position: refs/heads/master@{#399202}

[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/res/layout/new_tab_page_status_card.xml
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardItemDecoration.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardsLayoutOperations.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageListItem.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusListItem.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderListItem.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderViewHolder.java
[delete] https://crrev.com/4b4d0861d8c94df4aa8f107b79a5638d03fa9ac7/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetItemDecoration.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java_sources.gni
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java

Comment 9 by dgn@chromium.org, Jun 10 2016

Labels: zine-mr-iter-19

Comment 10 by dgn@chromium.org, Jun 13 2016

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5356095cd4a7d40ba2bee0facb8d1ca155c778c

commit f5356095cd4a7d40ba2bee0facb8d1ca155c778c
Author: dgn <dgn@chromium.org>
Date: Mon Jun 13 12:19:32 2016

[NTP Snippets] Small layout fixes to the cards and header

- Fixed the way the header collapses, it now slides under the top card.
  https://goo.gl/photos/HvDEupKHb26x7zXW6
- Added space between the text and the button on status cards.
  https://goo.gl/photos/fkXrg5aTwMc7fWTr8

BUG=617140, 612508 

Review-Url: https://codereview.chromium.org/2061653002
Cr-Commit-Position: refs/heads/master@{#399436}

[modify] https://crrev.com/f5356095cd4a7d40ba2bee0facb8d1ca155c778c/chrome/android/java/res/layout/new_tab_page_snippets_header.xml
[modify] https://crrev.com/f5356095cd4a7d40ba2bee0facb8d1ca155c778c/chrome/android/java/res/layout/new_tab_page_status_card.xml

Comment 12 by dgn@chromium.org, Jun 13 2016

Issue 619597 has been merged into this issue.
Project Member

Comment 13 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12fae2360889eba5e18e00ce641d95cb4a814159

commit 12fae2360889eba5e18e00ce641d95cb4a814159
Author: dgn <dgn@chromium.org>
Date: Fri Jun 10 16:20:51 2016

[NTP Snippets] Show a status card when there are no available snippets

Introduce a new NTP item type type: Status cards! They show up when
there are no snippets to display and let the user know that the NTP
is not broken. The current one simply acknowledges that we ran out
of snippets and allows to manually fetch more.

This CL also refactors some basic card features out of Snippet specific
classes.

Known issues that will be addressed in future CLs:
- Show a different message if the service can't fetch snippets but the
user can fix it, for example by enabling sync.
- The card should be animated as coming from below

BUG= 612508 

Review-Url: https://codereview.chromium.org/2024933002
Cr-Commit-Position: refs/heads/master@{#399202}

[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/res/layout/new_tab_page_status_card.xml
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardItemDecoration.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardsLayoutOperations.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageListItem.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageViewHolder.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusListItem.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderListItem.java
[add] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetHeaderViewHolder.java
[delete] https://crrev.com/4b4d0861d8c94df4aa8f107b79a5638d03fa9ac7/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetItemDecoration.java
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/java_sources.gni
[modify] https://crrev.com/12fae2360889eba5e18e00ce641d95cb4a814159/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5356095cd4a7d40ba2bee0facb8d1ca155c778c

commit f5356095cd4a7d40ba2bee0facb8d1ca155c778c
Author: dgn <dgn@chromium.org>
Date: Mon Jun 13 12:19:32 2016

[NTP Snippets] Small layout fixes to the cards and header

- Fixed the way the header collapses, it now slides under the top card.
  https://goo.gl/photos/HvDEupKHb26x7zXW6
- Added space between the text and the button on status cards.
  https://goo.gl/photos/fkXrg5aTwMc7fWTr8

BUG=617140, 612508 

Review-Url: https://codereview.chromium.org/2061653002
Cr-Commit-Position: refs/heads/master@{#399436}

[modify] https://crrev.com/f5356095cd4a7d40ba2bee0facb8d1ca155c778c/chrome/android/java/res/layout/new_tab_page_snippets_header.xml
[modify] https://crrev.com/f5356095cd4a7d40ba2bee0facb8d1ca155c778c/chrome/android/java/res/layout/new_tab_page_status_card.xml

Comment 15 by dgn@chromium.org, Jun 17 2016

Labels: zine-mr-iter-1625 zine-mr-iter-20
Supporting the other empty states is ready to land, waiting for a final lgtm. After that only fixing the animations should remain.

Comment 16 by dgn@chromium.org, Jun 27 2016

Labels: zine-mr-iter-21
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bea29e22d8b64035f822e48b120691e751108539

commit bea29e22d8b64035f822e48b120691e751108539
Author: dgn <dgn@chromium.org>
Date: Tue Jun 28 20:39:24 2016

[NTP Snippets] The Status card reports disabled sync states

When there are no snippets to display, the Status card now
shows an appropriate message and action for the following
contexts:

- User is signed out
- User has disabled sync
- User has disabled history sync
- User has set a custom passphrase

The detection of those states is done by the newly added
NTPSnippetsStatusService.

Preview: https://goo.gl/photos/gpDA8g6Mm2jW56e87

BUG= 612508 

Review-Url: https://codereview.chromium.org/2061803002
Cr-Commit-Position: refs/heads/master@{#402537}

[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/BUILD.gn
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/res/layout/new_tab_page_status_card.xml
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusListItem.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/preferences/SignInPreference.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/browser/android/ntp/ntp_snippets_bridge.cc
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/browser/android/ntp/ntp_snippets_bridge.h
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/browser/ui/webui/snippets_internals_message_handler.cc
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/chrome/browser/ui/webui/snippets_internals_message_handler.h
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/OWNERS
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/components_strings.grd
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/components_tests.gyp
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets.gypi
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/BUILD.gn
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_fetcher.h
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_service.cc
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_service.h
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_service_unittest.cc
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_status_service.cc
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_status_service.h
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_status_service_unittest.cc
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_test_utils.cc
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets/ntp_snippets_test_utils.h
[add] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/components/ntp_snippets_strings.grdp
[modify] https://crrev.com/bea29e22d8b64035f822e48b120691e751108539/ios/chrome/browser/ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc

Labels: zine-mr-MVP
Labels: zine-16-06-27

Comment 20 by finkm@google.com, Jul 1 2016

Labels: -zine-mr-mvp
Labels: zine-mr-MVP
Labels: -zine-mr-mile-mvp -zine-mr-mvp zine-client-v1
Project Member

Comment 23 by sheriffbot@chromium.org, Jul 9 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 24 by dgn@chromium.org, Jul 12 2016

Status: Fixed (was: Started)
Closing, file  issue 627512  to follow the animation work.

Sign in to add a comment