wordpress-mobile / WordPress-Android

WordPress for Android
http://android.wordpress.org
GNU General Public License v2.0
2.95k stars 1.31k forks source link

[Reader] Improve Tag Preview error / empty screen #17802

Open thomashorta opened 1 year ago

thomashorta commented 1 year ago

This is an enhancement suggestion for the Reader page when it tries to fetch a tag but that tag doesn't have any posts.

Currently, in that situation, an error / empty screen is shown, but that screen does not tell the user which tag was being searched, which looks odd since the error message could be "No posts with this topic" (which topic though?!).

The proposal is to show the same header we show for successful results even for errors, so the user knows what content the app tried to fetch. Example in the screenshots below.

Current Success Screen Current Error Screen Proposed Error Screen
reader-tag-preview-success-current reader-tag-preview-error-current reader-tag-preview-error-proposal

Expected behavior

The app shows which tag we could not fetch, in case of error / no posts found.

Actual behavior

An error referencing "this topic" but no reference of the tag / topic.

Steps to reproduce the behavior

Currently, the easiest way of falling into that scenario is by doing the test steps in #17800, since that PR implements a button that redirects to the Reader for viewing tags that are not being used currently (will be in the future).

Tested on Samsung Galaxy S21+, Android 13, WPAndroid and JPAndroid 21.5
osullivanchris commented 1 year ago

@thomashorta Hey this seems like a non controversial idea. Happy for you to go with this. Just tested on web and as you can see in the screenshot below, they take a similar approach.

Screenshot 2023-01-25 at 12 58 40
thomashorta commented 1 year ago

@osullivanchris thanks for the feedback!

@thomashorta Hey this seems like a non controversial idea. Happy for you to go with this. Just tested on web and as you can see in the screenshot below, they take a similar approach.

That's good to know, thank you for checking the web implementation!

Since this is somewhat of an edge case for the app (the user actually has to click a tag to be shown the topic search results, so there's no way of searching completely random tags like we can on web) I will keep this open for now until I (or someone else) have the bandwidth to implement it.

  • Do we support following a tag that doesn't have any posts yet?

If the tag exists but has only private / deleted posts (valid tag with no posts), then YES, we support following it; otherwise, if the tag doesn't exist yet because no posts were ever made with it (invalid tag), then NO. The response we receive indicates which scenario we are falling into, so we could only show the "Follow" button for the first scenario, what do you think @osullivanchris?

Here are the 2 scenarios: Valid tag with no posts Invalid tag
image image

You could use some of their language/copy if that helps

I just checked and the web uses the same message for both scenarios, but the invalid tag scenario takes longer to load and reach the error state. Web also doesn't let you follow invalid tags. I would suggest keeping the app copy for the error message and just adding the header.

osullivanchris commented 1 year ago

Since this is somewhat of an edge case for the app (the user actually has to click a tag to be shown the topic search results, so there's no way of searching completely random tags like we can on web) I will keep this open for now until I (or someone else) have the bandwidth to implement it.

Yeah. I don't think this is high priority.

If the tag exists but has only private / deleted posts (valid tag with no posts), then YES, we support following it; otherwise, if the tag doesn't exist yet because no posts were ever made with it (invalid tag), then NO. The response we receive indicates which scenario we are falling into, so we could only show the "Follow" button for the first scenario, what do you think @osullivanchris?

I think the suggestion you made sounds fine. It allows us to reuse our header. Its similar to the web behaviour.

I just checked and the web uses the same message for both scenarios, but the invalid tag scenario takes longer to load and reach the error state. Web also doesn't let you follow invalid tags. I would suggest keeping the app copy for the error message and just adding the header.

Sounds good. I think we could use the same message in both scenarios rather than different copy for valid with no posts and invalid. Of the copy I see, I feel like the subheading from web is clearer than our copy, or the heading on web. "No posts have recently been tagged with TagName for your language". What I like about it is that it explains where the posts come from (tags) and reasons there are none there (not in your language, noone used that tag). So I'd consider that. "No posts with this topic" is ok as a 2nd choice.