-
Notifications
You must be signed in to change notification settings - Fork 800
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
(5P) External Media: Remove existing Google Photos filters in favor of date-range dropdown #15880
Comments
To me the whole filter looks like a proof of concept, without much design applied. Depending on how much work will be on it, I wonder if we could launch without configurable filtering at first (applying some simple "latest photos" default filter) and work on it as an update. |
I worked on something similar during my trial. I'd like to flag how much of a UX problem it is if you cannot filter your Google Photos. Rarely do I just want my most recent photos. We shouldn't underestimate this. That said, we could ship MVP without filters but as long as we had a roadmap to bring them back asap. |
Here's my Calypso PR where I had a "design" for date filtering |
Thanks for adding the demo screencast @WunderBart!
Thanks for weighing in @getdave. I've got about 15 years worth of my photos in Google Images, so I know what you mean. I think my proposal would be to simply drop the UI that is in there now and add an optional |
Here is another idea I had for date filters a long time ago |
@Automattic/ajax agreed we'd look into fixing the Date filter issues first and then if that becomes time consuming we'll revert to @davemart-in's idea of simplifying the UI. @jancavan also suggested taking a look at revising the UX for filters entirely. |
The calendar UI dependency Gutenberg is using allows for a much better UX for selecting a date range. The unfortunate part is that it does only expose the single day picker at this moment. It might be possibly to also make the date range selection available but we'll have to wait a few WP releases until it's safe to use with Jetpack These are all the features of the dependency: http://airbnb.io/react-dates/ |
I have started looking into the broken calendars now. They work differently with Gutenberg plugin active (eg: not broken) so I'm investigating what's up |
Basic v1Is a prototype of Dave's proposal above, a basic version with just a
Mobile view:
Still working on mockups for a less basic version (Basic v2) than this - ie: retaining the current filtering options, but a more finessed version. |
Basic v2This is a visual improvement of the current version in production. The functionality and filter options remain exactly the same, except:
For the calendar:
Mobile view: |
I'm all for the simpler solution now. I've spent (probably way too much 😢) time trying to figure out issues with the Calendar, described in the first post of this issue, and more I looked, more issues I've uncovered that block us from using the full calendar UI. Implementing Basic v1 should be no problem technically. However, since we already have all the logic in place for those other filters, adding/removing them etc… would is make sense to go somewhere between Basic v1 (only date) and Basic v2 (similar to the current solution)? The difference from Basic V2 will be that instead two filters "before date" & "after date", we will make a new one called maybe just "Date" and it's functionality would look exactly what Basic v1 proposes (simplified date selection). Would something like that make sense? I've done a deep dive on what is causing the trouble with the calendar in dropdown. Click to read if you are braveI've spend too much time trying to figure out the situation around the date filter in Google Photos modal of the external media. In general, we are dealing with focus/blur fights in our own components and those from Gutenberg (also they behave slightly differently based on the Gutenberg version). The calendar as-is works but we run into so many unfortunate things together it's tough to untangle and fully understand. Here are some of my observations:
Some other things I've tried:
This is probably not the full list of things that are in play but it gives you the idea we have way too much things to watch and handle and each of the components is trying to handle focus well for their own isolated purposes but all the pieces together are falling as a house of cards. Franky, I have no idea how to get out of this mess. I've tried left and right. Alternatives considered:
I think the path of least resistance (except for removing date filters) is to make a very bare bones custom date selector, using basic HTML form inputs. We have planned to potentially rework the filter UI soon so I'd suggest to start as easy as we can and keep technical limitations observed in mind for the next iteration. |
Let's go with the path of least resistance, your suggestion makes sense. |
Thanks @marekhrabe for the thorough explanation. In addition to Better v1Let me know if this is feasible. Since calendars are off the table for now, we can replace it with |
Thanks for all of the demos @jancavan! @marekhrabe let's go with the initial preset dropdown Jan mocked up here. It sounds like the calendar component is giving us some grief. For the "Custom date range" option, if we can make the start/end date calendars work, great. I'm assuming we can't based on your comment above. No worries. If not, I'm 100% happy to ship a v1 with the simple month and year fields that Jan prototyped here. Let me know if you have any questions. |
Sounds good and the preset ranges are easily doable too. One thing I want to confirm whether we should remove all other filter options (favs, categories…) and only include the date or if we should keep filters and only update the method for entering dates. |
Yes, lets remove all other filter options for this v1. Note: I'm happy to revisit this and add them back in if enough customers specifically ask for it. |
Sounds good! |
One more check - what about the album/recent select? That one works without a problem - keep it? |
I'd be in favor of keeping it, albums seem to be the most prominent way of organizing images in Google Photos. We've also already spent time to make it work correctly. |
Yep, if they work. Let's leave those in there. Thanks! |
First phase ready for a review: #16190 Included:
What will follow:
|
Better v1.1As promised, here's another iteration of "Better v1", but with the |
@jancavan a couple of thoughts here:
|
Thanks for your feedback, Dave! I think my concern with that approach is it clutters up the UI a bit. It also looks like "View" is affected by the "Apply" button. We could fix that by visually separating the two groups, but now the entire filtering functionality is separated from what it's supposedly filtering: Thinking about this more though, I think we should add further affordance that there are more options when the user selects "Custom" like so (we have a similar style for the Navigation Block): Here I separated it with a divider from the rest of the options and added a With these additions, I think a dialog box approach is probably more fitting. We could contract it a bit more though so it doesn't take up a lot of horizontal space:
Hmm, not sure if you're only referring to the mockup above, or if you meant this in general. If the latter, I think displaying the selected values ("June 2020" in this example) gives it more context; the "Custom month/year" label is only an indicator that this value can be customized. |
@jancavan can you help me visualize what the user sees after this screen? Changing the existing dropdown values doesn't make sense to me. I don't think I've ever seen a dropdown do this. It feels unconventional. |
Hey @davemart-in, here's a quick prototype: If the user clicks on the dropdown again though, this option will remain "Custom month/year...", it won't change to "June 2020". This is just to set context; so it's clear to the user what they set "Custom month/year" to. This is an example I see in Gmail: Box:
Another option is to keep them all in the same control, but we'd have to customize the dropdown: |
@jancavan thanks for sharing those examples. I had never seen this pattern before. This sounds complicated on the implementation side of things, but I'll let @marekhrabe weigh in there. It seems like we'd have to dynamically update the options within the select menu once a month/year has been selected, and then dynamically remove that option if you click into the dropdown menu again. |
I'll dig into this a bit more later. I can only confirm that whatever label is visible when the select is closed must be a valid option there and will be in the select when it gets opened. There is now way around it, unless we custom code everything and skip using Gutenberg components. I'm thinking a good solution might be to add the selected range as a proper item in into the list once user applies it. Options could look like this after applying:
Selecting "Custom" will again open up the possibility to enter custom values. Those will always override the "June 2020" item in the list. Would that work for y'all? |
Thanks @marekhrabe. To clarify, in the prototype, when the user has entered custom values ("June 2020" in this example), the exposed value in the dropdown will change to "June 2020", but once they expand the dropdown again, it will remain "Custom month/year". Similar to Gmail: But what you're saying is, the way we can go about it is to append the custom value in the dropdown list like so:
If they enter additional custom values, I'm assuming that will replace "June 2020", and not keep appending new custom values to the list? |
I got the intention but it cannot be replicated with the Select component from Gutenberg. Whatever is in the closed dropdown must also be in the expanded one and must be selected. Gmail is using completely custom code for the dropdown so they can make it more "magical" but Gutenberg exposes just the most basic implementation
Up to you. My thinking was to only keep the lastest selected in the list and overwrite each time. Append can however also be implemented, if you want to go that way. |
Yes, I think it makes sense to overwrite. What do you think @lessbloat? |
We'd still need to code up a custom popover component just to make this work (for the month and year dropdown). I'm not sure the technical complexity that this adds leads to that much better of an experience. My preference would be to just stick with something like: which feels straightforward to implement and easy for customers to understand at a glance. The width of the sort by and Month select fields could likely be reduced once implemented to make for a more compact filter UI. |
Here's a prototype @marekhrabe of a more simple, and straightforward approach as per @lessbloat:
|
Steps to reproduce the issue
Image
block,Select Image
button and select Google Photos,➡ The "Before/After Date" filter issue:
➡ The "Only favorite media" filter issue (This should be fixed now):
➡ The "Category" filter issue:
Demo screencast:
The text was updated successfully, but these errors were encountered: