Skip to content
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

Add new quest to ask if a place is suitable for vegetarians or vegans #506

Merged
merged 8 commits into from
Nov 13, 2017

Conversation

ENT8R
Copy link
Contributor

@ENT8R ENT8R commented Aug 19, 2017

Here is the updated version of #499. The quest is now split into two seperate quests and each quest is a simple yes-no-dialog with an "Other answer" for "Only serves vegetarian/vegan food"
The vegetarian question looks like this:

And the vegan question looks like this:

@westnordost
Copy link
Member

westnordost commented Aug 19, 2017

"suitable" invites somewhat subjective classification. Is this not defined any better?
If not, an explanatory text like for the wheelchair quest is necessary.

What is the rationale behind putting that answer into "Other answers"?

Do you have any suggestion for icon motives?

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

Do you have any suggestion for icon motives?

I would propose either the fork and knife emoji from twemoji or the fork, knife and spoon emoji from twemoji, because I think, there is nothing that could describe vegan or vegetarian...

"suitable" invites somewhat subjective classification. Is this not defined any better?

I have no idea, which other word we can use for that... Maybe an explanatory text like "Does this place explicitly offer no fish or meat?" for the vegetarian quest and "Does this place explicitly offer no fish, meat, dairy, eggs or any other animal product?" for the vegan quest. What do you think?

What is the rationale behind putting that answer into "Other answers"?

Because it would take too much place in the buttonpanel...

@westnordost
Copy link
Member

westnordost commented Aug 19, 2017

Well I was thinking a leaf for either of the two and something else for the other one (or both).

I have no idea, which other word we can use for that...

Nothing helpful in the wiki? Your proposed questions are too long. Id propose "Does ... explicitly offer vegetarian food?" (instead of "suitable") but I don't know if this fits the definition in the wiki.

Because it would take too much place in the buttonpanel...

Even just "Only" / "Ausschließlich"?

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

Even just "Only" / "Ausschließlich"?

Maybe this could work, but the german word is much more longer than the english one... This can be a problem, because it could be displayed as:

AUS
SCHLIEß
LICH

especially on small devices... But I will test it anyway...

Nothing helpful in the wiki?

No, not really

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

Id propose "Does ... explicitly offer vegetarian food?" (instead of "suitable") but I don't know if this fits the definition in the wiki.

Yes, this fits the definition in the wiki. I am implementing this right now.

@matkoniecz
Copy link
Member

matkoniecz commented Aug 19, 2017

I would amend

nodes, ways with ( amenity ~ restaurant|cafe|pub|fast_food|bar ) and diet:vegetarian and !diet:vegan

by

requiring also diet:vegetarian=yes or diet:vegetarian=only

as diet:vegetarian=no imply diet:vegan=no

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

diet:vegetarian=no imply diet:vegan=no

Should we add diet:vegan=no when, in vegetarian quest, No is clicked?

@matkoniecz
Copy link
Member

matkoniecz commented Aug 19, 2017

Should we add diet:vegan=no when, in vegetarian quest, No is clicked?

Probably not, otherwise one should add also diet:fruitarian=no, diet:ovo_vegetarian=no, diet:lacto_vegetarian=no

Nothing helpful in the wiki?

No, not really

wiki has at https://wiki.openstreetmap.org/wiki/Key:diet

full options available : provides at least a proper choice for this option, constantly available (i.e full meal in a restaurant, specific section in shop)

https://wiki.openstreetmap.org/wiki/Key:diet

"constantly available" requirement may make tagging this tricky.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

Even just "Only" / "Ausschließlich"?

I tested it right now, and contrary to my expections, it is possible to implement a button with "Only" in english and even "Ausschließlich" in german. It is not displayed like I said in the comment above.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 19, 2017

Nothing helpful in the wiki?

I changed the question to "Does [..] explicitly offer vegan/vegetarian food?" I think this is much better!


@Override protected String getTagFilters()
{
return "nodes, ways with ( amenity ~ restaurant|cafe|pub|fast_food|bar ) and diet:vegetarian and !diet:vegan";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diet:vegetarian~yes|only
Because this quest shouldn't show if the user selected "no" in the vegetarian quest

Also, superfluous parenthesis.

}
else
{
setTitle(R.string.quest_dietType_vegan_title);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As usual, always require a name please. (So, add and name in the query)


@Override protected String getTagFilters()
{
return "nodes, ways with ( amenity ~ restaurant|cafe|pub|fast_food|bar ) and !diet:vegetarian";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to ask here: Why bars and pubs? These are not primarily eating places. Especially bars not. (False friends for Germans. amenity=bar is not a German "Bar", that's a amenity=pub). amenity=bar is something like a coctail bar.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

Everything you proposed is now implemented:

  • Other question: ("Does [..] explicitly offer vegan/vegetarian food?")
  • Reordered answers: Only/Ausschließlich is now an extra button next to Yes and No
  • Removed pub and bar from the query
  • Added name to the query
  • Removed superfluous parenthesis

@westnordost
Copy link
Member

Okay, cool. Aren't the two forms now not exactly the same though? You can set the title from the outside (in createForm() method).

I can only merge this after I created an icon for this and implemented some country whitelist/blacklist. Remember, I talked about that this quest should only be activated in a certain set of countries (first). I.e. in detail, it should only be activated

  • In "meat-countries": Countries where it is common that most/many dishes will have meat in them. So, these are usually countries with both an industrialized agriculture (so probably not most of Africa) and where eating meat is seen as a desirable thing (so not India and Bhuddist countries I'd say)
  • (And thus where) veganism / vegetarianism is culturally a thing
    Question is whether it should rather be a white- or blacklist. I usually prefer a whitelist.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

Aren't the two forms now not exactly the same though? You can set the title from the outside (in createForm() method)

This is implemented now!

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

Well I was thinking a leaf for either of the two and something else for the other one (or both).

No, please don't. This clashes with #366 and/or #83. Better really use 🥄/🍴 or so… I doubt you'll creating another quest related to eatery… 😉

However I understand why you want to use 🍃. Another idea: Maybe color the fork and knife in green in the icon? For vegetarian only cover one part, for vegan color both…

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

As for an explanatory text to clarify when one should select yes (because that is not obvious when a restaurant e.g. offers one vegetarian dish and the rest is just with meat) I'd suggest to use the text, which is used in @Rudloff's OpenVegeMap:

If in doubt: only places that provide a proper choice for an option should be tagged yes. For instance, a restaurant with vegetarian starters but no vegetarian main course is to be tagged no. Same for, a pub that can't serve more than light snacks (baked potato, green salad) to vegetarians.

(shorten it a bit and use it as a small grey explanatory text)

I suggested this, e.g.:

A <type of amenity> fulfills the criteria if there is a proper choice of dishes.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

Good idea! I will implement this now!

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

The icon? Okay, but use a proper fork & knife icon as a template and then just apply a color filter or so…

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

The icon?

No no, I mean the explanatory text.

@westnordost westnordost self-assigned this Aug 20, 2017
@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

Aren't the two forms now not exactly the same though? You can set the title from the outside (in createForm() method)

This is implemented now!

I think I have to revert the changes I made, because I can't get the name tag of the building from outside the form.
At the moment I'm trying to do this:
public AbstractQuestAnswerFragment createForm() { AbstractQuestAnswerFragment form = new AddDietTypeForm(); String name = form.getElementName(); if(name != null) { form.setTitle(R.string.quest_dietType_vegan_name_title, name); } return form; }
But if I execute this, the app crashes...
Do you have an idea how to do this?

@westnordost
Copy link
Member

Yes, that doesn't work that way. But doesn't matter, the way how the quest titles are set changes after when I merged the undo branch, then it is possible this way. So, just leave it that way, I will fix it after the merge.

However, such an explanatory text as rugk mentioned would be nice.

@ENT8R
Copy link
Contributor Author

ENT8R commented Aug 20, 2017

Oh, this is perfect! Then I will push the latest changes now.

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

BTW does it even make sense to ask for vegetarian for cafés? I mean I have never seen a cafe, where you can eat meat cake or bones. (possibly only galantine, but which cafe offers gummy bears?? And even if they did, they would still have enough dishes for vegetarians.)
Asking for vegan is of course fine, because of milk or so, but vegetarian? As I mentioned before Starbucks is sometimes tagged as vegan, so uhmm… (Do they even sell anything else than ☕ coffee?)

@westnordost
Copy link
Member

BTW does it even make sense to ask for vegetarian for cafés?

Yes it does.

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

Most cafes are indeed vegetarian friendly but some of them serve breakfasts with things like bacon, sausage, etc.

I would still tag them as vegetarian, anyway. Because you likely can also get that without sausages and so one, and you have enough vegetarian things to choose from. As I said, "there is a proper choice of dishes", or as you explain on your site, the main dish for a cafe is coffee and cake and similar things. These are all vegetarian – it does not really mater that you can also get some bacon for breakfast there then.

@Rudloff
Copy link

Rudloff commented Aug 20, 2017

IMHO this is a discussion that needs to happen on the OSM wiki so the tags can be more precisely defined.

@rugk
Copy link
Contributor

rugk commented Aug 20, 2017

@Rudloff Sure, we can also discuss something else, but I see that as a StreetComplete problem. The tags are all right. But in StreetComplete always a low number of false-positives is desirable, i.e. quests should not be shown in cases where it makes no sense, e.g. because they are always true (as the meaning is implied). That's the whole reason why I am asking. If we would exclude cafès from the vegetarian quest, (but include it in the vegan quest) then we would not have to ask that (IMHO, useless) question to surveyors.
I understand the tags as "suitable for vegetarians" and also base that assumption on your description on your website. I think this is okay/reasonable, as there is also an "only" tag, so really… the OSM part is okay.
And according to your description this also applies to Starbucks (milk and vegan cakes). In reality you cannot get a cafe, where you cannot get a proper choice of vegetarian products. They are always vegetarian.

@Rudloff
Copy link

Rudloff commented Aug 20, 2017

Well in that case, even I do think it is useful to tag cafes, I understand your point and won't oppose not asking if they are vegetarian in StreetComplete.

# Conflicts:
#	app/src/main/java/de/westnordost/streetcomplete/quests/AbstractQuestAnswerFragment.java
- Provide additional descriptions for each diet type (easily extendable for other diets - halal etc.)
- Improve description
- Simplify quest <-> form communication
- Set quest title properly
- remove mentioning the type of place, this doesn't work in localization
@westnordost
Copy link
Member

Correction to what I said in the commit comment: It would work, since it is nominative, but I'd like to not add strings where they are not necessary.

@westnordost
Copy link
Member

westnordost commented Aug 24, 2017

So, this PR is blocked by defining a country whitelist of where the quest should be shown. See #506 (comment)

#535

@westnordost westnordost removed their assignment Aug 24, 2017
@westnordost westnordost added the blocked blocked by another issue label Aug 24, 2017
@Rudloff
Copy link

Rudloff commented Aug 24, 2017

Wikipedia has some data on the percentage of vegetarians per country. Maybe it can help (if a country has data it means that vegetarianism is a thing there?).

@rugk
Copy link
Contributor

rugk commented Aug 24, 2017

Great idea.

@rugk
Copy link
Contributor

rugk commented Aug 27, 2017

I created the YAML file based on the Wikipedia data there: https://gist.github.com/rugk/aac00507c825ccdb5df0526b09007942

However, this of course only includes ethical vegetarianism. In some countries people may just not afford meat – at least in restaurants. Although I am not sure that in such cases there are much restaurants (except for tourism) or so… However, for tourism the local data (I gathered from Wikipedia here) would not matter either, again…

<string name="quest_dietType_vegetarian_name_title">Does "%s" explicitly offer vegetarian food?</string>
<string name="quest_dietType_vegan_name_title">Does "%s" explicitly offer vegan food?</string>
<string name="quest_hasFeature_only">Only</string>
<string name="quest_dietType_explanation_vegan">Vegan meals contain no animal products (no meat, no milk products, no eggs,…).</string>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A space before /after the comma is missing.

@@ -388,4 +388,10 @@ Otherwise, you can download another keyboard in the app store. Popular keyboards
<string name="quest_parkingType_surface">Normal</string>
<string name="quest_parkingType_underground">Underground garage</string>
<string name="quest_parkingType_multiStorage">Car park</string>
<string name="quest_dietType_vegetarian_name_title">Does "%s" explicitly offer vegetarian food?</string>
Copy link
Contributor

@rugk rugk Aug 27, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a problem with "explicitly" here. The explanation in quest_dietType_explanation may hopefully be sufficient, but with this "explicitly" I would not tag a restaurant offering 2-4 meals as "vegetarian". Is that intended? Would not 2-4 meals be enough for a restaurant?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understood "explicitly" as meaning that vegetarian meals are on the menu and you don't need to ask for them (e.g. "Can I have this but without the meat, please?").

Copy link
Contributor

@rugk rugk Aug 27, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that's a different way than I understood it. Maybe change it to "offer on it's menu"?

@rugk
Copy link
Contributor

rugk commented Aug 27, 2017

As for the icon, you do not want to use the colored 🍴 I proposed earlier?

I see you created this icon obviously for this quest, but still we need two icons: One for vegan and one for vegetarian. And if we just add a "+" to vegetarian and "++" to vegan, or the same thing with starts or maybe even with carrots or so, but there should be a visual difference.

@rugk
Copy link
Contributor

rugk commented Sep 13, 2017

BTW this PR is now unblocked.

@habi
Copy link

habi commented Oct 6, 2017

A logo for the vegetarian places could be http://vegetarianmark.net

@amandasaurus
Copy link

Perhaps I'm too late to the conversation, but I have some feedback on the (English) wording.

I think the original wording of "suitable for vegetarians" is the correct English term for what diet:vegetarian=yes means. It means there is at least one proper vegetarian option available. Asking "Does "%s" explicitly offer vegetarian food?" seems weird and, honestly, a little aggressive. "Does %s offer vegetarian food?" is better, but not as good as "suitable for vegetarians". Likewise for vegan.

I suggest some form of V for a logo for vegetarian, since that's commonly used on menus or on food in supermarkets in my experience. But I'm not sure what do for vegan.

@ENT8R
Copy link
Contributor Author

ENT8R commented Oct 18, 2017

I will change the wording a little bit.

@westnordost
Copy link
Member

westnordost commented Oct 18, 2017

Hmm wait, that the wording was set to "explicitly" was result of the prior discussion. @rory did neither refute nor even respond these arguments.

To recap, the reason why "explicitly" is mentioned (and explicitly can mean as little as that on their menu, they have a section "Vegetarian menus"), is, that if it is not explicitly mentioned that something is vegetarian, one cannot assume that a particular dish is vegetarian.
Also, we discussed and established earlier that the surveyor cannot be asked to scan through the entire menu and assess based on the names (or ingredients, if they are even given) of the dishes, whether there is something vegetarian. Also, the menu will sometimes not even be accessible from outside the restaurant.

I.e. for "Bratkartoffeln" (fried potatoes) in Germany, it can be the case, that there is some ham inside as well, without that it is explicitly mentioned on the menu. Many dishes that seem to be vegetarian / vegan may not actually be. It should not be in the responsibility of the surveyor to sort this out (by interviewing the chef??). This is even more important for vegan, since many people have no idea in which all products there are actually animal products. (Wine, I hear, as well).

I would find it much worse to tag a place wrongly as diet:vegetarian=yes as to place a tag wrongly as diet:vegetarian=no. The diet tag is used for planning to go to a destination. Obviously, a tagging based on an assumption ("well, this looks vegetarian") has little value (for vegetarians). There must be a certainty, and I think this can only be easily achieved by looking for whether the restaurant explicitly mentions having veg dishes.

Of course, thinking of India, where vegetarian restaurants are more the norm than not, no restaurant will actually "explicitly" mention that they have veg food (because everything on their menu is). But currently, I think the users will have enough common sense to tag a "only-vegetarian-without-explicitly-mentioning-it"-restaurant not as diet:vegetarian=no. Also, as far as I know, India is quite the exception there.

Just removing the "explicitly" is not the right solution. I was thinking of "...caters to..." but I am not native speaker, so it could be that "caters to" is actually even harder than "explicitly". So I find "explicitly" the best alternative here.

@amandasaurus
Copy link

You're right, I didn't address the original points. However I would content that "Is [place] suitable for vegetarians?" is exactly what diet:vegetarian=yes means. That there is at least a full vegetarian meal option available. Maybe it's just clear to me as a native English speaker....

@ENT8R
Copy link
Contributor Author

ENT8R commented Oct 18, 2017

Hmm wait, that the wording was set to "explicitly" was result of the prior discussion.

😁😂 It is so long ago that I created this PR that I forgot that...

@westnordost westnordost self-assigned this Oct 18, 2017
# Conflicts:
#	app/src/main/java/de/westnordost/streetcomplete/quests/QuestModule.java
#	app/src/main/res/values/strings.xml
@westnordost westnordost removed the blocked blocked by another issue label Nov 13, 2017
…that (and other disabled quests)

Also:
- add an icon for vegetarian quest
- slightly change texts
@westnordost westnordost merged commit 02954a1 into streetcomplete:master Nov 13, 2017
@ENT8R ENT8R deleted the diet-type branch November 15, 2017 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants