Hoping someday to have some spare time to integrate this with https://grocy.info/ and have a pipeline for recipe -> preparation automation.
We've developed a little workflow where we put all the recipes we want to try into an "incoming" category, and then move them to one of our custom categories when we make it and decide it's worth keeping. This is a reaction to becoming recipe hoarders when using a site like Pintarest for something similar.
The iOs has a really subtle, but nice feature when you're cooking with the app. It prevents the iPad from going to sleep and locking which you have messy fingers.
Paprika is well worth the couple bucks.
You can
- plan your meals for the week in seconds
- generate your shopping list
- exclude foods you don't like/want
- checkout online with amazon fresh/instacart and get your groceries delivered.
Happy to demo it for any HNers who want to give it a try.
there are quite a few sites that also put up their recipes in h-recipe format, which makes it very nice to scrape.
All of that tracking of what my partner and I are making, ingredients, tweaks, etc... is almost entirely in my head or quickly put together google sheets that are categorized but difficult to analyze in any historical fashion.
I'd rather just be better tracking my actions at point of interaction with the goods and free up more time for analytical development and more longitudinal reflection.
I really started focusing on my cooking skills about 4, 5 years ago and have appreciated the result of those efforts. A lot of chef skills I appreciate is the ability to improvise and combine what's around into an incredible dish and I think that something that let my data side push usage and expiration as inputs to that decisioning (arrowroot flour been in there for a year, I should make those fried shrimp we had when we were on whole30).
Cuts the fluff and puts the recipe front and center. I wouldn't be able to find recipes online without this.
Seriously, I hope this spells an end to the Google ranking imposed nonsense that makes the simple act of searching for a recipe so insufferable.
There is a difference between opening up a recipe site, like a favorite blog, or the New York Times (which does the same kind of spiel before its recipes), just to read and find out what interesting thing they have posted, vs doing a search for "pasta carbonara," clicking on the first link, and having to read a life-story.
I never mind opening up the recipe section of the New York Times and reading about what's so interesting about this recipe, and memorable times it was served. That's because I trust the article to be vaguely interesting, and reading it is a form of entertainment. There's a reason why no newspaper's recipe section has ever simply been: "Pasta Carbonara: 1 lb pasta. 2 oz Pancetta. 5 egg yolks. Cheese. Combine as directed below."
So I feel like the in-vogue hatred of these recipe site styles is more a reflection of how expectations on consuming and searching for recipes has changed, more than significant changes in how recipes have always worked.
There are cookbooks that are all recipes. This seems to be what the HN crowd is looking for when they search the internet.
There are cookbooks where each recipe is accompanied by a little story. These seem to sell well, judging by the number of them that appear on bookstore shelves.
And then there are cookbooks where all of the anecdotes are in the front of the book and the recipes are in the back. These are the ones I like because I can easily find what I'm looking for, but can still read the background about a recipe, if I choose. It's not right in front of me causing the actual recipe steps to continue on another page.
I think recipes and the internet don't mix, unless you're just looking up ingredients while shopping. It's one of the areas where a fat, old cookbook is always better, in my experience.
30 years from now, nobody is going to cherish grandma's dog-eared and tattered old iPad full of recipes.
Some people actually enjoy reading those things too. There's a place for straight recipe sites, and a place for personal word-vomit blogs with a recipe at the bottom.
The web would be a sad place if you were only allowed to write your recipes in LaTeX.
On the user side if you only want straightforward recipes, you're out of luck, because they're never going to be near the top of the search results.
If you are one of the people looking to read these recipe background stories, even you get a mediocre experience, because the majority of the content you're reading was written primarily for Google (how many times can I reference salmon, fish, atlantic, norwegian, protein, healthy, omega-3 and smoked in this recipe story to hit all of the important keywords?).
One reason I haven't seen mentioned here for that personal content: it's also a question of building context and trust. If I go to Bon Appetit for a recipe, I know they've tested it a few times and it should be more or less OK even if I don't recognize the author. If I go to a barebones anonymous just-the-recipes site, I have no faith that it ever worked and if it did, it wasn't just a fluke and it was written down right.
Having some detail around a recipe from a previously unknown source allows me to build a connection to a persona in my head, genuine or otherwise. If a recipe doesn't work I'll know to avoid the site in the future. If it does work I can remember that connection and come back to the site again with some more confidence.
I hate blogger recipes, luckily there are enough cooking sites that are well curated.
And, an AI can generate a story one time relatively easy.
https://lizerbramlaw.com/2015/04/07/copyright-protect-recipe...
When I see a story at the top of a page, what I feel like I'm really seeing, most of the time, is an attempt by a nano-influencer, or really just an average person, to build a brand.
You could read 100 recipes from a person that included no details about themselves, then see their name on a blog and not even realize it was them.
But if the story is from the Pioneer Woman, and now you know a bit about her family, you might be more receptive to buying her cookbook, or signing up for her subscription newsletter, or watching her TV show.
Or, more realistically, in the other direction: you could sell Netflix on a show about you based on the number of recipes people view each month, that have your life story embedded in them.
So, over time, you end up with the current situation, as infinitely many people attempt to climb the ranks.
https://cooking.nytimes.com/recipes/1017089-maple-shortbread...
When I search for recipes, I type in the food I want + recipe and then open the top 5 or so links. I quick scan for a list of ingredients. If I don't easily spot on in a few seconds I move on. I'll do this until I have a couple different lists of ingredients for making the item. This ends up taking less than a minute or two. That just isn't a significant portion of time compared to how long I'll spend comparing different recipes to find a common theme to follow.
Maybe it is because I never follow a single recipe but instead combine the common themes from a couple that the whole life story before the recipe shtick isn't something that bothers me.
For you to open 5 websites, dismiss the cookie permission request on each one, dismiss the notifications request, scroll down to find the ingredients list, dismiss the scrolling activated newsletter signup, read the ingredients list, and click the 'next page' button to see the instructions to work out what you can tweak, all in an average of 24s per site is very impressive.
What an utter load of bollocks. These are people who are creating something that they enjoy doing and giving you information you apparently need for free. I don’t understand why anyone would trash their desire to write something that is personal and/or interesting to them about it.
And that’s setting aside that these usually make the recipes far more readable and interesting to the vast majority of people.
Actual "I have these things and want to cook something" could practically be automated.
The big exception is baking, where precision ratios and time matters a lot.
(I'm also reminded of various stories of people trying to trace the origins of much loved family recipes and then discovering that rather than being an authentic traditional Calabrian whatever, their grandmother copied it off the back of a tin. I'm fairly sure my own grandmother's cookies recipe is from Tate&Lyle)
Steam some potatoes. (Don't boil them. No one wants watery mash.)
Add far more butter than anyone would think is reasonable. (Like, 1/2lb of butter to 1lb of potatoes. Maybe more.)
Add salt and pepper. (No, more than that. You've under-seasoned them.)
Mash them until they're the consistency you want. (For really smooth mash use an electric hand mixer instead of a masher.)
To make them better still, put lots of wholegrain mustard or garlic in with the butter.
Alternatively, if you want super barebones, go buy a copy of Escoffier's https://en.wikipedia.org/wiki/Le_guide_culinaire (or an English translation thereof). It's arguably the definitive cookbook and the recipes are extremely terse, some just a couple of lines long. (e.g. "Take recipe A and recipe B, substituting X for Y.")
"Escoffier's introduction to the first edition explains his intention that Le Guide culinaire be used toward the education of the younger generation of cooks. This usage of the book still holds today; many culinary schools still use it as their culinary textbook. Its style is to give recipes as brief descriptions and to assume that the reader either knows or can look up the keywords in the description."
There are apps like that, at least. I use How to Cook Everything. It's from Mark Bittman, who was with the New York Times at the time it was published. I don't know if he is anymore.
In German there's chefkoch.de. It's full of ads but its core is basically a big DB of user-submitted recipes without fluff. Don't you have something like that in English?
The irony is that the content is required for SEO purposes, but once you’ve landed on the page you don’t want to see it. I wonder if there would be a way to write SEO that only the google bot sees and hide it from humans...
I'm assuming ingredients and directions are "facts" so can't be copyrighted, but what about the pictures?
All that said, if the import is being used for personal use only and not being edited, then it's little different to printing it out and putting it in a binder. I don't know much about US fair-use laws, but in the UK it would seem that reproducing a recipe in an app for your own use would qualify as fair dealing thanks to being personal study.
That only applies if the imports are specific to the person importing them, of course. If they're shared or published, then it's a different story. Also, if you're importing more than one recipe, so it's a significant amount of the published work, then that'd be an issue too. You can't import a whole cookbook and claim it's personal study, but one recipe out of dozens is probably fine.
It'd be similar to trying to go after google because someone uploaded a copyrighted work to their google drive. I know they have to deal with it if you share the link, but they don't go out of their way to remove content you uploaded to your google drive and never shared.
https://www.yummly.com/ used to have a paid API for recipe search and currently still lets users search their index. Did they have to go and get permission from each site that they index or is it fair use?
So the business model is to take facts from the public domain, wrap it in bullshit prose, and then SEO the bullshit to have higher ranking than the naked source facts, for more unique visitors and ad revenue.
Making comments about "providing recipes for free" are exactly as useful as comments about "providing phone numbers for free" or "providing mailing addresses for free" or "providing the original text of 'Little Women' for free" or "providing the steps of the long division algorithm for free".
Obfuscating the public domain is not a valuable service. Automatically removing the obfuscation is valuable. A "Project Gutenberg" style repository of recipes would be recurringly donation-worthy.
Seriously, AndroidDriver for Selenium was last updated 2013... and importing it throws an HttpClient error now. Update that client and you get a class duplication hell that is impossible to exit.
All I needed was to interact with 2-3 fields on a webpage but it's been eight hours and now I hate my life.
When I look at a recipe and notice some unusual proportions I usually check against Joy of Cooking or some other standard book. I've noticed that often everything old is new again.
I've also made something almost identical - a Go library for recipes scrapers for ingredients [1] and instructions [2]. Instead of the LCA method here, in my version I try to find the longest sequence of highest scoring HTML tags and those are "ingredients" or "instructions". It works very well (although I think this one works better).
Like the article mentioned, I found that the heuristics for finding HTML elements with ingredients turn out to be surprisingly simple - they usually include just a number, a measurement, and a food! This simple heuristic worked better than other sophisticated things I tried.
---
FIRST EXAMPLE:
How to cook chicken on a skillet
Step 1 -- get this much chicken [picture]
Step 2 -- cook on skillet for 5 minutes
OPTIONAL -- here are seasonings you may add [pictures]
RELATED:
- How to cook a lot of chicken on a skillet [LINK]
- How to fry chicken breast [LINK]
---
But then I didn't understand how any of these websites are making money so I didn't do it.
Leaving a low quality page after 60 seconds is way better than leaving a low quality page after 5 seconds.
- I need to convert recipes to metric. I am neither equipped nor inclined to cook in freedom units.
- A "can" or a "packet" is not a standard unit of measurement.
- Package sizes vary between countries. I often adjust recipes to avoid wasting food.
- I cook by mass, not volume. I convert the units them round them.
- Instructions are sometimes too verbose. I make them easier to follow while my hands are busy.
- I will make my own changes and I must write them down somewhere.
Besides, sites go down and links break. Food.com broke many of my bookmarks a few years ago. Other sites went dark. My recipes are plain text. They are editable, searchable, editable, and available offline.
I wrote [1] about 12 years ago in Clojure because for health reasons I had to track my intake of vitamin K, then decided to track all nutrients in the USDA nutrition database. I am working on a semantic web product (with another semantic product in planning) but maybe the end of this year will get to rewriting my food web app in Common Lisp and as a macOS app. I am adding a link to your article and these comments here to my notes for that project. Useful stuff.
I'm building https://simplescraper.io and we're trying to create heuristics to update CSS selectors whenever a website changes. People become unhappy when a scrape task that ran smoothly on Monday suddenly returns nothing on Tuesday so while it's a tough nut to crack it's super important.
We use a combination of XPath, historical data and data type (the value may change but the type and length often remain the same or similar) to narrow down the options.
Of course there's more sophisticated methods using Machine learning etc. but it's fun to try different approaches to solve this problem.
https://www.wired.com/2011/02/google-recipe-semantic/
https://latimesblogs.latimes.com/technology/2011/02/google-d...
What I mean by that is most recipes call for using wwwaaayyy more intermediary bowls/plates than actually required (e.g. if spices, chopped veggies, and minced garlic are going into the pot at the same time, there's no point in using three bowls) or list ingredients out of order of how you'd actually use them.
Would love to see someone put together a search engine that excludes recipe blogs and penalizes SEO.
I did ignore the photos though, since while recipes are not subject to copyright, photos are.
> There are libraries like https://github.com/digitalbazaar/jsonld.js/ to parse JSON-LD + Microdata for you.
> There are libraries like https://github.com/digitalbazaar/jsonld.js/ to parse JSON-LD + Microdata for you.
One feature request (if I may be so bold): it would be great to offer an imperial<->metric convertor. This is predominantly one of the reasons I keep copies of recipes I find and use.
1) Scale the quantity of ingredients and cooking time as number of people to be served increases?
2) Tell me what dishes I can make with the ingredients I have?
You can also filter and search by ingredient, but that might be somewhat simplistic depending on what you had in mind.
Thank you everyone for all of this information!
EDIT: Yes, the article mentions it, but doesn't give a clue why it isn't more prevalent.
Ingredient amounts are not subject to copyright protection. Any prose - intros, descriptions, instructions are covered by copyright the same way that any other book would be. So, yes, this kind of activity is likely in violation of copyright.
Let me also say that I find it a bit insulting that people who make a living creating IP (software) would be happy to disrespect the IP of these recipe authors. By taking the recipes from outside of the revenue source (a book, a banner ad, a cookie, whatever), you are stealing from the author and the publisher.
I make 25 cents on every book that is sold. So I don't actually care if you steal from me. The money is tiny. But it is a bit insulting when people - in my own living room, reading my copy of my book - decide that they want to take a picture of a recipe instead of buying a copy. It devalues the hundreds of hours and thousands of dollars that I sunk into the creation, cooking, and photography of the book.
So here's the moral of the story. Waiters should leave good tips because they know that waiters depend on tips. And IP creators should know better than to steal IP.
In the US, recipes are not protected by copyright, including precise measurements and instructions for how to combine them.
If you write sufficiently creative instructions those may be protected by copyright, but I can get around that by simply not replicating those instructions. I can give exactly the same list of ingredients and a less-creative set of instructions for the same dish without infringing your copyright.
Copyright.gov has a circular which explains this with a couple examples [1].
Aren't there dumps of the bygone ones anywhere?