hackforla / food-oasis

Repository for the current redevelopment of the Food Oasis Los Angeles website
https://foodoasis.la
GNU General Public License v2.0
71 stars 50 forks source link

Feature: Advanced filters for search #947

Open fancyham opened 3 years ago

fancyham commented 3 years ago

Overview

We need to have advance search on our site to make it easier for the user to find micro-targeted listings

Details

Currently, the user can only search by location, pantry, and meal, but we have lots of good info locked in our database that would be really helpful to answer common questions like:

Action Items

A quick sketch of how this might look:

2021-04-15 Advanced Filter Sketch - Bryan Wu

Figma mockup and prototype for simple filter

VERSION 1 launched! (2024-08)

image

VERSION 2 in progress

fancyham commented 3 years ago
2021-04-26 Advanced filters - text search

A version of the filter that has text searches, because things like language spoken, etc. are currently in free-form text note fields.

The idea is that text entered here searches all text fields. Things that are in the database as structured data (like days and hours) should have their own independent filter buttons so as to not rely on text search.

Use analytics to track search terms and filters.

fancyham commented 2 years ago

Another UI direction possibility, inspired by Google Maps

2021-12-02 FOLA sketches - filters

fancyham commented 2 years ago

This would be an additional filter: Filter by last updated date

GigiUxR commented 2 years ago

I posted up the Food Oasis link in a couple of the Reddit forums (e.g. "Foodstamps") in which people who are in dire need of food assistance come to share/receive info on resources. In such a post, I also asked people to share their thoughts right there in the forum with me about the web tool and so far have received this useful one, from a "SNAP Policy expert":

“One piece of feedback is that it’s a little subtle how to know when these places are open, especially since most have pretty limited hours. You might want to make knowing what’s near you and open now easier.”

He continued to clarify in a subsequent comment:

Yep, I understand it's there! What I'm getting at is functionality vs. "what's easiest, what's harder."

Right now by default the core dimension is location, but I'd be curious if that's actually what a person who comes to it is primarily focused on given that when the food is available is pretty dang important.

Right now that info requires 2 interactions (selecting an entity, then knowing that it's under "Details" which in my experience is not a thing people jump to click on.)

If you haven't done this already - rather than the usability test you initially posted that was about initial screen - I'd consider running some Google Ads targeted at Los Angeles for folks searching keywords like "food pantry" or "free food" or "food bank." That could direct them to a quick way for them to give you their phone number and you could reach out and actually set up a call to listen to them narrate their experience using your tool.

Also worth noting, Google has explicitly built some of this functionality into Search now, so you also might think about whether improving the "Place" data that Google relies on -- and which providers can take ownership of via Google tools -- may be even higher-impact for folks: https://findfoodsupport.withgoogle.com/#food-banks-and-pantries

fancyham commented 2 years ago

Anyone know why #62 was closed?

itserindean commented 2 years ago

Prioritizing the following user stories: Which are we tracking this? (if not how easy would it be?)

MVP

  1. Open to all? (this could be designed so that we could add to the criteria in the future) This could include: -not tagged as ID required? -not tagged as address required? -not tagged as age restrictions? -not tagged as appointment required -not tagged as required bible study? -not tagged as for shelter residents only?
  2. Show me places open on specific day (my day off) (ideally/optionally hours too)
    • [ ] get difficulty on days vs hours
  3. Open Now?

NEXT

  1. Do they speak Spanish?
    • [ ] which languages are we tracking
  2. Halal, Kosher, Veg, etc.?
  3. LGBTQ-friendly?
  4. Do I need to wear a face mask?
  5. Is it near public transportation?
  6. open soon?
  7. Delivery? (things like meals on wheels likely wouldn't show up on our map, would we want future support?)
itserindean commented 2 years ago

For dev: which of these are we tracking in the database?

entrotech commented 2 years ago

Anyone know why #62 was closed?

Issue #62 was apparently implemented on the legacy version of the application in 2017, two years before the rewrite.

entrotech commented 2 years ago

For dev: which of these are we tracking in the database?

  • [ ] is it open to everyone? E
  • [ ] is ID required? E
  • [ ] is home address required? E
  • [ ] are there age restrictions? E
  • [ ] is an appointment required
  • [ ] is there a required bible study? E
  • [ ] is it for shelter residents only? We do not have shelter listings
  • [ ] days a place is open Yes
  • [ ] hours a place is open Yes
  • [ ] Open Now? Yes
  • [ ] Do they speak Spanish? L
  • which languages are we tracking? L
  • [ ] Halal food available? Tag?
  • [ ] Kosher available? Tag?
  • [ ] Vegetarian available? Basically all pantries will have some vegan/vegetarian food.
  • [ ] LGBTQ-friendly? Tag?
  • [ ] Do I need to wear a face mask? If you rephrase this to ask if there are any COVID-related requirements, we could query for listings where there is something recorded in the COVID requirements field.
  • [ ] Is it near public transportation? Given a map of public transportation locations and distance specifications, this is possible, but probably a moderately significant project.
  • [ ] open soon? Same as "hours a place is open", Yes
  • [ ] do they offer delivery? We do not have a field for this, but could add one.

Keep in mind that there is a huge cost in trying to collect extremely detailed information about pantry and meal program offerings and other details. To put this in context, almost all other pantry and meal program listing sites only include name, address, web site, phone number and sometimes hours and a small text description, and will simply say "call ahead to verify this information".

E: Many of these dimensions are only captured in the field called "eligibility requirements", which is represented in the database by a single free-form text field. We did this because eligibility requirements cover a very wide range of "dimensions", and in many cases, different forms of documentation. For example, in cases where there is a residency requirement, the area might be specified by city(ies) or other geographic boundaries, and might require some sort of document showing the customer's address. If there is a maximum income requirement, there will be income thresholds and acceptable forms of income verification. Eligibility sometimes also requires a registration process, limits on the number of times a customer can visit per week or month, etc. The possibilities are basically endless, and trying to collect this in a structured form that would be queryable would require many dozens of additional fields for volunteers to understand and enter, and we would never be abel to answer every possible query about eligibility.

L: A somewhat easier "lift" is languages. right now, we just have a free-form test entry field where users can type in languages, and the volunteers tend to type in the non-English languages spoken, but do not explicitly type in English. We could just search this field by string-matching for specific languages, which would kind of work where the languages entered by volunteers are spelled correctly. A more reliable approach would be to change the languages entry to multi-select list box which could be queried correctly. It would be pretty easy to allow as many languages as wee deem appropriate - it could easily be 50 or so.

For types of food, Jenny Mikesell insisted that the six types we currently have are some sort of "standard" categorization of types, though I don't know the source of that information. I've worked at a pantry called "Nourish LA", and the specific foods available were always "hit and miss", depending on what surpluses were in the supply chain that week. They basically distributed whatever they could get their hands on, so trying to publish each location's inventory is probably not practical. Usually vegetarians and vegans were happy with what was on offer, and would just decline the non-vegetarian offerings. I think finding kosher or halal food would be difficult, unless a pantry specifically makes a real effort to service that population. (See "Tags" below.)

I don't know how we would collect the information about which organizations are LGBTQ-friendly. (Maybe a "Tag"?)

Tags: We do have the ability to create a list of custom "Tags" for each site (Los Angeles, Hawaii, etc.), and then organizations can be associated with the appropriate tags. This might be helpful for querying very specific binary bits of data, such as whether an organization is LGBTQ-friendly or Kosher, or whatever we feel is a critical thing to search by. This would require training volunteers to ask specific questions for the tags we want to use, and would take a while to populate, since we would have to wait for the verification process to cycle through all the listings before the information was collected.

fancyham commented 2 years ago

Thanks for the detailed response! Glad to see hours and days is possible. That one seems to be in high demand and a hefty design problem that we can get started on right away.

We’ll have to evaluate how important the rest are for the future — effort vs effect, perhaps with some user research.

Some of my thoughts for documentation’s sake:

Re: eligibility Age, veteran, residency, mailing address, ID requirements, attributes like kosher, language — should investigate/research how much better it’d be vs what we have before putting huge effort into this type of tagging.

Re: ‘delivery?' This one came up during my talk with @itserindean when we were talking about transportation, especially in LA where transit is harder to get. Realized that if we added food/meal delivery like Meals on Wheels someday, we’d have to specify a service area/region where they operate!

itserindean commented 2 years ago

Thanks for all the insight @entrotech!

re: hours/days I agree it's great that's currently possible!

re: delivery @fancyham I think there may have been a slight miscommunication as I was trying to convey that LA is well-covered by public transit (not always particularly convenient routes point to point but you're never very far from a bus stop.) My initial thought is that delivery/meals on wheels integration is beyond the scope of our current charter but I agree I could see a time in the future where it integrates well.

re: general I see the list of filters we assembled not as "here's everything we think is important" but as "here are things that might be useful" so we can find out what we already track.

re: eligibility I realize now that the intention behind eligibility may have been lost in my formatting--it was not to suggest that all of those elements were required to be tracked or included to determine if something was open to all (and certainly not as part of an MVP.) It was a list of things that could affect eligibility so we could find out which we track (And I now understand that we only have the one text field.) I added minor clarification in my first comment above. I agree we should investigate more before investing engineering hours here. I think there could be a less granular stop-gap solution that would have high impact --after confirming that the database doesn't have instances where the text of eligibility requirements say something like "none" we could then interpreting a blank field to mean no eligibility requirements and that might get the job done.
The user story here is what I experienced when helping an elderly woman in Santa Monica search for food and listing after listing excluded her and i was longing for a "no exclusions" filter so the map would only include places she could actually go.

staceyrebekahscott commented 2 years ago

@JohnHaoHuang As per the chat in the fola Slack channel, assigning this to you and moved it into In Progress.

itserindean commented 2 years ago

clarifying priority based on what's possible right now: For dev: which of these are we tracking in the database?

pri 1

Pri 2

fancyham commented 2 years ago

Link to in-progress Figma drawings

Also, for reference, check out this Google Search UI when I searched for "farmers markets sunday san francisco" (it didn't select a day automatically — I did that manually)

Screen Shot 2022-09-03 at 8 17 03 AM (2)

fancyham commented 1 year ago

@JohnHaoHuang Please add a few screenshots of your latest version when you're ready to share!

fancyham commented 1 year ago

We have another filter we can add!

Food types: Baked goods, dry goods, produce, dairy, prepared food, meat (with the ability to select multiple and it would show listings that match all items that were selected)

i.e. If user selected Prepared goods and meat, then it would only show results that have both prepared goods and meat.

Screen Shot 2022-10-13 at 6 58 53 PM

Turns out those are in the database and people will probably find them useful — can you add this to your designs, please? Thx!

JohnHaoHuang commented 1 year ago

Thanks for letting me know. Yes, I will add it to the design. Once the missing font is fixed.

JohnHaoHuang commented 1 year ago

@entrotech Hi John, I have a question regarding what's possible/difficult with our React / Material UI system for scrolling horizontally. Please have a look in the link below to see the prototype. Currently, the prototype is only set to have horizontal scrolling, "days" tab be clickable, and toggle between map and list mode. Please let me know if this design is possible/difficult to implement. I will revise accordingly. Thank you.

https://www.figma.com/proto/D3oq9QOXl0rFkwrEUJbABs/FOLA-Design-System?node-id=8652%3A17370&scaling=scale-down&page-id=2886%3A7816&starting-point-node-id=8652%3A16780&show-proto-sidebar=1

fancyham commented 1 year ago

Figma file: https://www.figma.com/file/D3oq9QOXl0rFkwrEUJbABs/FOLA-Design-System?node-id=2886%3A7816

image

Looking good — one issue is that we should make sure there's some kind of legend for the colors (blue = pantry, orange = meal) so that folks know what is what. Perhaps that's in the filter?

Also, if using different background/active colors from the current style guide helps, mock something up and let's review? (One thing to watch for is making a filter look grey/'disabled' rather than just not active)

fancyham commented 1 year ago

@jelenaUX is looking into how often the pantry and meal program buttons are used by current users (via google analytics) and that might help inform our filter menu.

One limitation of that data is that we currently don't support filtering to "pantry AND meals at a single location", so we probably won't know if people look that particular filter for until we build it.

Also, a side note: it's hard to put so many filters on a tiny screen!

jelenaUX commented 1 year ago

Based on Google Analytics data, about a third of visitors in the last week have clicked on "MEALS" button and about a fifth have clicked on "PANTRIES" button. Here is a donut chart of most used buttons: Screen Shot 2023-03-27 at 5 55 52 PM

fancyham commented 1 year ago

We definitely should have 'open to all' as one of the filter options — I was going through and finding it's really a lot of work to find ones I would qualify for — some listings are only for residents or for students of a school.

This would be worth throwing human volunteers at to add to the database and as a filter : create a checkbox in the database and have volunteers go through and determine if site is open to all.

fancyham commented 1 year ago

Meeting notes from May 6, 2023 https://docs.google.com/document/d/198szdapfsNE5Xz6YpHsY-bXeaGjWfJuaDcRfXXG-jfM/edit

General priorities pri 1

Pri 2

Pri 3

Design thoughts

fancyham commented 1 year ago

Would also be nice to have a 'what's open now and soon'

I've seen some directories that list things as 'opening soon'… so someone searching at 10:59am can see things that open at 11am

fancyham commented 1 year ago

Had a meeting with @JohnHaoHuang (designer) and @itserindean (PM) to figure out next steps.

This MVP would ideally be a live, working alpha version, worked on by a dev, so we'll want to talk to them to find out what's doable in the MVP and the stretch versions.

Initial direction — John will be working on more detailed designs next to put in front of engineers, and to start collaboration on MVP and then, ideally, stretch image

itserindean commented 1 year ago

I would clarify for the MVP above that we're not pursuing a search bar at this time. and when you click on filter the ui behind it wouldn't change (I know that was just because you were working quickly but wanted to call it out.

Also in addition to days & hours it should have pantries/meals toggles & open now toggle.

fancyham commented 1 year ago

Presented simplified ‘MVP’ and ‘Ideal’ mobile designs, along with an early desktop UI sketch, to Team Leads and PMs meeting on Aug 3.

image

Well received! Had discussion about how items worked, and how the time part worked, in particular. Devs said Ideal was doable and to continue refining that version.

Next steps:

fancyham commented 1 year ago

I wrote up some thoughts about user needs/goals that I think of to help direct designs, and help to evaluate/judge the various design directions…

Think of these as ‘unit tests’ — that whatever the design ends up being, ask yourself if it satisfies all of the needs:

Suspected “user needs” / (use cases), most important are at top:

Also: We have a range of users:

Some additional thoughts:

fancyham commented 1 year ago

Did a quick remote user test with Fern (FOLA designer) and wrote up some findings for her (digital native, frequent maps searcher)

Top-line results:

https://docs.google.com/document/d/1oIWDeay1VL4xZ3zxFAHXAB4Q08c4n1jNDUEWVKgjtNI/edit

Suggest continuing to test your designs with real users to see what people want & are comfortable with, and find frustrations.

JohnHaoHuang commented 1 year ago

Hello Dev. Team, thank you for listening to my presentation. Please use the Figma link to find the prototype for the filter feature. In the Figma file, the final design should be on the bottom right. It should look exactly like the picture you see here. Please let me know if you have any questions. Thank you.

Best, John

Screen Shot 2023-09-18 at 9 46 24 PM

https://www.figma.com/file/D3oq9QOXl0rFkwrEUJbABs/FOLA-Design-%231?type=design&node-id=2886%3A7816&mode=design&t=Cpdd0nY4ch8i5TYp-1

fancyham commented 10 months ago

Dev is working on this in these issues (and perhaps others)

fancyham commented 1 month ago

New version is up on the public site. Please test and add any issues you find here or design changes that we'll need so that we can create issues to address

I noticed:

fancyham commented 1 month ago

If you have time, please check out a new feature which I think is a first step towards meeting a lot of food-seeker needs: Advanced filters! It's on http://foodoasis.la right now.

Please play with it and add any usability, bug, possible future notes you have here as a comment.

We can make child issues from any show-stoppers or usability improvements.

Next, let's start planning for what we'd could do next that will help our users and prioritize now that this framework is in place. I can discuss with you all what are easy and difficult to do, technically.

To get your brain thinking, here are some UX ideas I've already entered that could serve as a basis for new filtering… check out below:

Also, check out Ingrid's secondary research about food-seeking, and a needs diagram/outline that she did based on that research -- those will help inform our filter prioritization.

Design team: @fancyham @ihorng @Shienny1

Shienny1 commented 4 days ago

@JohnHaoHuang @ihorng @fancyham On "FILTER" panel --> "No Known Eligibility Requirements"

Does " NO KNOWN ELIGIBILITY REQUIREMENTS" mean that they (for sure) do not need to have these requirements? This can be misleading, especially for people who English is not their first language. ? Have we verified that ID and or address is not required in the listed pantry?

Can we have an "i" or information icon on hover with a pop-up window to clarify what this means? Or simple subtitle text below "NO KNOWN ELIGIBILITY REQUIREMENTS" (because you can't hover when using a mobile device) Information Window message can be: "No known eligibility requirements means : These locations do not specifically require ID or permanent mailing address information, however, please call your selected locations to verify before going.

@ihorng prepared: https://docs.google.com/document/d/1oIP9mGy3gJVGBDLC1549l3Rc_cqC0UQEotOxwpBCnKE/edit)

Eligibility requirements (What are the requirements to access food?) For people who are undocumented For people with no ID For people with no permanent or mailing address (necessary for government food programs)