Page MenuHomePhabricator

Add filters to android watchlist
Closed, ResolvedPublicFeature

Assigned To
Authored By
JTannerWMF
Jan 10 2023, 3:29 PM
Referenced Files
F36864365: Screenshot_20230221-144729_Wikipedia Dev.jpg
Feb 21 2023, 10:48 PM
F36862099: CleanShot 2023-02-20 at 10.07.21@2x.png
Feb 20 2023, 9:09 AM
F36862084: Screenshot_20230220-095457.png
Feb 20 2023, 9:09 AM
F36862088: Screenshot_20230220-095423.png
Feb 20 2023, 9:09 AM
F36862067: Screenshot_20230220-094828 copy.png
Feb 20 2023, 9:09 AM
F36862061: Screenshot_20230220-094828 copy.png
Feb 20 2023, 9:09 AM
F36855381: watchlist-filter.png
Feb 16 2023, 3:59 PM
F36818722: Screenshot_20230209-194551_Wikipedia Dev.jpg
Feb 10 2023, 3:47 AM
Tokens
"Love" token, awarded by JTannerWMF.

Description

Feature summary

What you would like to be able to do and where?

As a user of watchlist across platform, I would like to update my watchlist filters in the Android app to be consistent across platforms so that I am not confused as I switch back and forth across platforms.

Use case(s)

List the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution:

On Desktop my watchlist doesn't include my edits by default, however on my mobile device, my edits are included in Watchlist. - @Clovermoss

Benefit

Why should this be implemented?

1)2)
Screenshot_20220927-124541.png (2×1 px, 123 KB)
Screenshot_20220928-094130.png (2×1 px, 179 KB)

1) The Design should be consistent with Notifications, whereas the filter takes users to a page where they can check and uncheck options that are available via the API and consistent with filters on Desktop

2) The page for watchlist should look like the contributions page:

This task was created as a result of a discussion on T318811

Design
  • This design is part of the component library design updates. It will affect how settings/filters in other places are presented, e.g. "app settings" (a separate ticket will be created once finalized)
  • Add separator lines between the items. I reviewed this proposal with the design team last week, and the radios are easier to parse.
  • Add a 'Reset' button at the top right when a filter is active. Only show it if a filter is active.
  • The "All" radio option should be selected as the default

APK: https://github.com/wikimedia/apps-android-wikipedia/pull/3767/checks

Event Timeline

Reedy renamed this task from Add fitlers to android watchlist to Add filters to android watchlist .Jan 10 2023, 4:11 PM

Hi @JTannerWMF

The Watchlist page does not contain a search functionality. In this case, the "filter" button shown on the right side of the search bar does not make any sense.

search_bar.jpg (183×780 px, 10 KB)

Would it be possible to move the filter icon to the right of the toolbar? Any thoughts @scblr?

@cooltey

What would it mean to include a basic text search filter within the Watchlist? One of the big UX shortcomings of the Desktop Watchlist version is the lack of a search filter option.

Would it be possible to move the filter icon to the right of the toolbar? Any thoughts @scblr?

Yes that is likely the way to move forward.

@cooltey

What would it mean to include a basic text search filter within the Watchlist? One of the big UX shortcomings of the Desktop Watchlist version is the lack of a search filter option.

I think we can still add the basic text search on the Watchlist page. It would be better if we can rename this ticket to "Add basic text search and filter to Watchlist"? @JTannerWMF

Would it be possible to move the filter icon to the right of the toolbar? Any thoughts @scblr?

Yes that is likely the way to move forward.

👍

Hi @JTannerWMF

Should we implement advanced filters? Or should we wait until the basic filter is implemented?

screenshot_watchlist_filter.jpg (995×1 px, 135 KB)

Notes from API research:

watchlist_note9.jpg (672×857 px, 87 KB)

Needs to put specific values in wltype, multiple values will be accepted.


watchlist_note8.jpg (248×652 px, 29 KB)

Relates to wlallrev, not sure if it can have both the latest and not the latest revision.


watchlist_note7.jpg (253×535 px, 21 KB)

We can use either wlshow or filter it locally.


watchlist_note4.jpg (616×876 px, 71 KB)

We can use either userid or user to make another API call to check the status of the account.


watchlist_note5.jpg (246×502 px, 23 KB)

Relates to wluser and wlexcludeuser.


watchlist_note2.jpg (523×945 px, 77 KB)

From the results of oresscores, we can use articlequality to filter the quality locally (basically 0.25 as one segment)

It maybe also relate to damaging rate from oresscores.

"oresscores": {
            "damaging": {
                "true": 0.241,
                "false": 0.759
            },
            "goodfaith": {
                "true": 0.86,
                "false": 0.14
            },
            "articlequality": {
                "Stub": 0.647
            }
        }

watchlist_note3.jpg (488×791 px, 66 KB)

From the results of oresscores, we can use goodfaith to filter the good-faith locally (basically 0.25 as one segment)


watchlist_note6.jpg (232×430 px, 20 KB)

We can use either wlshow or filter it locally.


watchlist_note1.jpg (248×799 px, 32 KB)

We can use either wlshow with unread or !unread, but cannot have both values at the same time.

We can also filter it locally by checking the value of notificationtimestamp.

Hi @JTannerWMF and @scblr

By checking the desktop version of the watchlist filter in detail, I have noticed if the user toggled on both (for example "Unseen changes" and "Seen changes") at the same time, it will show a tooltip said "the filter has no effect", and which means we can combine the filter into a single option.

Would it be possible to implement the following types of filters and then we can see how it goes?

  • Watchlist activity
  • Automated contributions
  • Significance
  • Type of change
cooltey updated the task description. (Show Details)

Hi @scblr

The implementation is completed, please download the APK from the ticket description.

Thanks, @cooltey – I added the current design iterations to the task. Please note that:

  • This is the current design proposal; it will go through a design review on Feb 9, 2023
  • This design is part of the component library design updates. It will affect how settings/filters in other places are presented, e.g. "app settings" (a separate ticket will be created once finalized)

Hi @scblr

The APK has been updated with the latest design, please download the latest alpha APK from the ticket description.

Screenshot_20230209-194540_Wikipedia Dev.jpg (2×1 px, 56 KB)

Screenshot_20230209-194551_Wikipedia Dev.jpg (2×1 px, 62 KB)

Thanks @cooltey, this is great so far!

Three updates:

1) Please add separator lines between the items. I reviewed this proposal with the design team last week, and the radios are easier to parse.

2) Please add a 'Reset' button at the top right when a filter is active. Only show it if a filter is active.

3) Currently, the All radio option is not selected as the default. Please enable it by default to indicate filters more clearly to users.

Hi @scblr

1) Please add separator lines between the items. I reviewed this proposal with the design team last week, and the radios are easier to parse.

Done.

2) Please add a 'Reset' button at the top right when a filter is active. Only show it if a filter is active.

Done.

3) Currently, the All radio option is not selected as the default. Please enable it by default to indicate filters more clearly to users.

Done.

Please download the latest APK from the ticket description to see the changes, thanks!

@cooltey

1)

Currently, the All radio option is not selected as the default. Please enable it by default to indicate filters more clearly to users.

Done.

The filter indicator now shows that 10 filters are enabled, even though I did not change the defaults:

Screenshot_20230220-094828 copy.png (2×1 px, 87 KB)
Screenshot_20230220-094828 copy.png (2×1 px, 87 KB)

The default filters should be indicated with just the icon and no number.

2) I did not notice before, but we should update the empty state when there are no results:

Screenshot_20230220-095423.png (2×1 px, 51 KB)

Can you add the text string from the notification in the Watchlist?

Screenshot_20230220-095457.png (2×1 px, 70 KB)

It’d be good to make it work for both places. Please update the existing string to:

No results. Try removing x filters to see more.

3) Reduce space below section labels by ~ 2dp:

CleanShot 2023-02-20 at 10.07.21@2x.png (1×2 px, 199 KB)

(left: design / right: implementation)

@cooltey

1)

Currently, the All radio option is not selected as the default. Please enable it by default to indicate filters more clearly to users.

Done.

The filter indicator now shows that 10 filters are enabled, even though I did not change the defaults:

The default filters should be indicated with just the icon and no number.

Done!

2) I did not notice before, but we should update the empty state when there are no results:

Can you add the text string from the notification in the Watchlist?

It’d be good to make it work for both places. Please update the existing string to:

No results. Try removing x filters to see more.

Done. But the image for the no results with filter link is the same as the previous one. Do you need to update that with another image?

Screenshot_20230221-144729_Wikipedia Dev.jpg (2×1 px, 30 KB)

3) Reduce space below section labels by ~ 2dp:

(left: design / right: implementation)

Done.

Please download the updated APK from the ticket description, thanks.

Looks good @cooltey. Let’s keep the current visuals – an illustration makeover across the app will be a task of its own in the near future. Thanks for the work on this!