• Welcome to the new forum! We upgraded our forum software with a host of new boards, capabilities and features. It is also more secure.
    Jump in and join the conversation! You can learn more about the upgrade and new features here.

Recipe versus Batch

Jaguar10301

Apprentice
Joined
Oct 19, 2011
Messages
11
Reaction score
0
i know this has probably been brough up before and I know it would be hard and have to be a major upgrade, or something in a Beersmith 3 but I think it's absolutely necessary.

The biggest and only major flaw in this software is the commingling of your Master Recipe and batches.

In my mind what should happen is you have a folder of recipes, these are your master recipes, and you can have different versions of the same overall beer (for experimentation) but it has none of the brewday info, it's just the recipe.  when you want to brew, you click brew this recipe and then a new sheet comes up that goes into a folder called "batches".

This alleviates so many issues and confusions.  i shouldn't have to copy my recipe each time i want to brew, and change the date, or the issue I saw someone post about where it tells you that you already removed ingredients for this recipe even if working on a new version or copy.
 
"The biggest and only major flaw in this software is the commingling of your Master Recipe and batches."

The inability to set the fermentability of sugars is a major flaw in all brewing programs that I know of. Not only can't they estimate the FG and alcohol level on their own but they don't allow for user input to tell it how. Causing the user to go to a calculator and charts out of a book written in the mid '90s is a huge flaw. Predicting the outcome of recipes is a huge plus in using brewing software, having that so severely flawed would have to be the biggest flaw.

I've tried and can't comprehend what people are wanting with version and batches.
You could use versions and batches to correct the ingredient issue but that could also be fixed just by having the version number or brew date reset what keeps track whether the stuff was removed.
What throws me off is once you change a recipe it becomes a new recipe not a different version.

You have to copy the recipe because things will be different. It wouldn't make sense for me to go into my 2010 brew log and brew a recipe in 2012 without copying it forward. (I move my brew log into a year folder at the end of the brewing season so I can restart my marking system as previous season's batches disappear.)
 
I think you are missing the point.

Yes you can jump through tons of hoops to make it work, but you shouldn't have to.

i'm not talking about brew logs, in fact I think they are silly.  What I'm talking about is you have 1 file. 

Master file Recipe Hefeweizen.  It doesn't have a brew date, etc... etc.. I just lists the recipe, how you typically brew it, etc... the basic recipe stuff.

That is always there, now when you want to brew, you go to that recipe and click brew recipe.  Which then would open a batch file which is where you put the date, what actually happened during the brewing, etc...

 
I'm with Jaguar.  My recipe, or really the title of my recipe, indicates my desired type of beer.  I'm striving to make something specific with a particular flavor profile.  To that end I have a list of ingredients and processes that are intended to produce the target beer.  A brew session is an attempted execution of that recipe.  It will be imperfect---I will make mistakes, or there will be natural variation.  Each session will therefore miss my target by some amount.  So, I might brew the same version of the recipe several times until I think I've gotten the process "perfect". 

But, I may find that there is an issue with a process or an ingredient that is affecting my ability to hit my target flavors.  As a result, I will make modifications to the recipe (ingredients and planned processes) to strive towards my target beer.  This iteration results in a new "version" of the recipe.  Again, I may brew this version of the recipe several times perfecting my ability to follow the recipe.  And, so on...

The point of the above is that I'm continuing to work towards producing a specific beer...which is indicated by the "title" more than any other part of the recipe.  If I have a concept of "sessions" which are attached to the recipe (more specifically to a particular VERSION of the recipe) then I can see the progression of the results and their impact on the recipe as time marches on.  But, I have one single container that holds all of the data from every single attempt to brew this specific beer.  If all this data is contained together into a single container (call it a "beer" which is made up of a recipe, and a set of sessions) then I can see the progression of that beer through time.  I can see each session, and each version of the recipe, and the resultant flavors, and why I chose to make a specific change, and how that change affected the following versions of the beer. 

History is a powerful tool if your are given the ability to see through it.  Just like in real life, it takes some analysis and connecting of the dots to be able to learn the lessons that history can teach.  It CAN be done using duplicated recipes and a naming convention of sorts, and segregation between recipe and batches.  That's attempting to effect the same outcome.  But, the reason we do that is because the software doesn't give us a metaphor for the concept that we have in our brain: we are attempting to make a beer, by conceiving a recipe, and executing that recipe.  Then we iterate (because we didn't get it right the first time).

Regarding "fermentability":::

Predicting the "fermentability" is hard, actually its impossible.  In actuality, today it is very hard end up with a "partially" fermentable wort.  You can "think" you control it through mash time, and temperature...but, in reality...modern base malt has so much diastatic power that its actually hard to stop the enzyme action before all the starch has been converted.  There are some malt experts who will tell you that the starch is converted within 15 minutes in a well milled sample.  This is especially true anywhere in the middle of the mash temp zone (150-ish).  Today's base malts have enough enzymes to convert 3-5 times their own mass.

So, even if you run them really hot and denature them quickly...odds are that it will convert before the enzymes can denature.  this is true as long as the base malt makes up 50% or more of the grist.  I made a batch recently that was only 1/4 base malt (American 6-row).  Even that mash was converted in less than an hour, and finished completely dry down at 1.010.  So, a lot of times we are fooling ourselves into thinking we have more control than we really do. 

You will have better control over FG through yeast selection, fermentation temperature, and filtering to remove the yeast than through mash temperature and time.
 
I know I'm missing the point, I've read a lot of threads about this and I don't get it.
I don't think I've seen one that describes the difference between a batch, a version and a new recipe.

I understand versions in BS2, it keeps me from adding "V2" to the name when I brew a second batch.

Doing something other than general convention is what would require hoop jumping. I use general computer folder organization and treat master recipes just like recording masters.
 
Beer = ideal target
Recipe = description of ingredients and methods to produce desire target beer
Batch/Session = attempt to execute a specific recipe to produce the desired target beer

Beer: India Pale Ale that tastes of roasty, biscuit with strong floral and citrus aroma and flavor, slight but smooth bittering, an high in alcohol
Recipe: 1.060 OG Maris Otter, 30 IBU nugget at 60 mins, 30 IBU cascade + saaz at 15 minutes, dry hopped  with fuggles (3 additions at 12 day intervals), fermented with american ale yeast at 65F
Batch: 1.054 OG Maris Otter, 1/4oz nugget at 60 mins, 2oz cascade + 2oz saaz at 15 minutes, dry hopped  with 2oz fuggles (3 additions at 12 day intervals), fermented with american ale yeast at 72F...bitterness too harsh, not enough saaz character, unpleasant grassy notes in finish...too fruity in yeast.

Now I ask myself what do I change?  Was it a recipe problem or a batch problem?  Its not a beer (problem with the idea of what I'm trying to make) problem...I didn't hit the target, so I'm still trying to hit that target.

Alternatively, I might have an idea for a chocolate light american lager beer.  I right a recipe for it, and brew a batch of it.  I execute everything and it takes like !#$#@!#$!$...clearly this was a conceptual problem...chocolate and budweiser don't work together---no recipe or perfect batch is ever going to make it taste good.  So, I abandon the beer.
 
I tweak new recipes much like you. Hiding the tweaks inside of a file keeps me from being able to see the history. Being able to see that history in a folder not only allows me to see the tweaks it allows me to base a shopping list off that year.
I've dumped accounting software for my business because it wanted to hide stuff from me. I made a spread sheet to do the math and folder hierarchy to keep track of the years, just like works for me in BS.

When you open a picture in an editing program do the changes to that picture get attached to the picture or do you save it as a different batch of the picture?
If you decide the picture isn't right and go out and take a new picture of the subject is that tacked onto the old picture as a different version or is it a different picture?
Sounds to me like batches is wanting something outside of conventional computer usage (and sound and photo usage).
You save the master and work on a copy. You use folder heirachy to organize.

Predicting gravity is not difficult. I'm accurate ignoring BS's predictions and doing it myself. I was/am doing it with a calculator and a chart in The Homebrewer's Companion in the '90s. Briess gives the fermentability of their extracts. Through trial and error I know the fermentability of my brews based on the chart for the malts and experience with my mash changes, I just have nowhere to enter it so BS can learn to predict my process based off my experience.
What makes predicting impossible is ignoring fermentability and only looking at attenuation (which is actually not that predictable within the range because temperature and nutrients play a huge part). I can adjust the yeast attenuation to suit my process, why not things in the grain section? What's it going to hurt letting me say maltodextrine is 0% fermentable and adjust crystals based on my experience with them?
Try making a Sweet Stout with maltodextrine or lactose believing the attenuation prediction and get back to me on how great of an idea ignoring fermentability is.

 
"Beer: India Pale Ale that tastes of roasty, biscuit with strong floral and citrus aroma and flavor, slight but smooth bittering, an high in alcohol
Recipe: 1.060 OG Maris Otter, 30 IBU nugget at 60 mins, 30 IBU cascade + saaz at 15 minutes, dry hopped  with fuggles (3 additions at 12 day intervals), fermented with american ale yeast at 65F
Batch: 1.054 OG Maris Otter, 1/4oz nugget at 60 mins, 2oz cascade + 2oz saaz at 15 minutes, dry hopped  with 2oz fuggles (3 additions at 12 day intervals), fermented with american ale yeast at 72F...bitterness too harsh, not enough saaz character, unpleasant grassy notes in finish...too fruity in yeast."


Why isn't that the same as,
Style (from the style list)
Recipe out of your recipe folder or recipe pack (the master that remains untouched)
Version (the adjusted master recipe, whether by tweak or unforeseen circumstances)
?

The new version thing is allowing me to do this without having to rename.

I'm thinking back to my old Papazian/extract days and how versions were so different to became new styles. In my notebook they became a new recipe for that style. If they were good they were named and repeated with versions. Ruth Stout had many batches that were kept track of with version numbers. Ruth Stout came out of an unnamed porter tweak (version).
 
Because a style is a classification of beers that have vaguely similar characteristics.  A style encompasses a range of OG, IBUs, color, yeast character, etc.  A Beer is one specific representative of a style: an exact OG, ABV, IBU, hop character blends, etc. 

The difficultly with the version feature is that it ISN'T a version of a recipe.  Its just another name.  When you change the "version" it offers to save the recipe with a new name.  The "version" concept implies a lot more functionality than is included in the version field.  A true versioning system have a single container for all versions, and would allow me to COMPARE two versions of a recipe.  It is a very powerful feature when implemented properly. 

If we had a true versioning system that could compare two versions (and display the differences), then it could also take a session and compare it to the recipe and see the deviations from "planned". 

This concept comes from software development where it has been invaluable for the vast majority of my career.  The trick in a app like Beersmith would be implementing it in a simple way, that gives users the power without the complexity.  I think its doable, but would require some careful planning and prototyping. 

But, honestly..I'd rather see the sessions implemented.  All of the "actual" parameters litter and complicate the recipe design process.  Over on the beerXML forum they are talking about adding "sessions" to beer_xml 3.0.
 
Myk said:
When you open a picture in an editing program do the changes to that picture get attached to the picture or do you save it as a different batch of the picture?
If you decide the picture isn't right and go out and take a new picture of the subject is that tacked onto the old picture as a different version or is it a different picture?
Sounds to me like batches is wanting something outside of conventional computer usage (and sound and photo usage).
You save the master and work on a copy. You use folder heirachy to organize.

Editing a picture is a poor representation of the beer brewing, and recipe design process.  It doesn't include the concepts of desired target, design process, and attempted representation.

I'm a software engineer.  I've used version control software for 20 years.  Every time I edit a file within a versioning system, the changes to the file are computed and managed by the system.  In essence these changes ARE attached to the picture.  At any time in the future I can review the differences between any two versions of the file.  I can even select between various changes and mix and match to make another version of the file.  Working this way has tremendous power and flexability.  It allows you to "see" things that are very hard to see in the manual approach. 

I understand that concepts like this are very hard to understand the usefulness of for those that haven't used them.  But, I promise you that all of that accounting software you use.. or that excel spreadsheet program wouldn't even be possible to develop without a proper versioning system. 

Again, this is mixing two different concepts: versioning and batching.  I don't think versioning is particuarly necessary in BeerSmith.  Cool? sure...especially for engineers like myself....but, probably not for many others.  It's complex to implement.  The work required to implemented it would be high, thus the investment would be large.  I don't see the return being there, in terms of increased sales such that it could ever recoup the engineering cost.

Batching though...its a natural description of what we do when we brew.  You are implementing it manually through your folders--that is NOT the only way.  Its simply encapsulating the data associated with a brew session directly, and maintaining a direct association with a particular recipe.  If implemented well, it would reduce the overhead you have to manage in order segregate the different concepts (your foldering aproach). 
 
Predicting gravity is not difficult. I'm accurate ignoring BS's predictions and doing it myself. I was/am doing it with a calculator and a chart in The Homebrewer's Companion in the '90s. Briess gives the fermentability of their extracts. Through trial and error I know the fermentability of my brews based on the chart for the malts and experience with my mash changes, I just have nowhere to enter it so BS can learn to predict my process based off my experience.
What makes predicting impossible is ignoring fermentability and only looking at attenuation (which is actually not that predictable within the range because temperature and nutrients play a huge part). I can adjust the yeast attenuation to suit my process, why not things in the grain section? What's it going to hurt letting me say maltodextrine is 0% fermentable and adjust crystals based on my experience with them?
Try making a Sweet Stout with maltodextrine or lactose believing the attenuation prediction and get back to me on how great of an idea ignoring fermentability is.

Actually it is from a generic fomulaic sense.  This feature has been discussed with Brad since 2003.  Its never been implemented because there is no published research describing how to predict FG from "%fermentability" and the other dozen plus other variables that affect FG. 

This is really a different topic from the topic in this thread.  And probably deserves its own thread, or find one of the older ones and bring it back to life.

 
"A true versioning system have a single container for all versions, and would allow me to COMPARE two versions of a recipe."

You basically want an undo button that holds the changes forever. I could be for that as long as it doesn't lose my folder hierarchy.
I can go to 2010 brew log, open Brown Porter V1, V2, V3 and compare them side by side. I can even go to 2011 and 2012 and pull all the versions up.
If they're hidden inside of Brown Porter V0, Scottish Ale V0, Cream Stout V0 and Southern Brown V0 how do I see that I brewed 8 times in 2011 and 10 times in 2010?
I can look in my brew log and know what beer I have available to drink without having to go look. I can go back and see my production for various years. I can find a lost bottle and find out what beer it is by scrolling down the list. I sure don't want to lose those abilities.

Maybe you spawn the copy out of V0 and that saves the link to V1 in V0. Then you treat V1 as its own file just like is done now.

I get the impression that this feature is from another program and people don't want things changed from the other program. Realize BS is my "other" program so losing the BS ways of doing things to be like something else leaves me nowhere to go.

"Actually it is from a generic fomulaic sense.  This feature has been discussed with Brad since 2003.  Its never been implemented because there is no published research describing how to predict FG from "%fermentability" and the other dozen plus other variables that affect FG."

That's why I'm not asking for a formula. I want a box to enter my own number just like yeast has. BS can't predict everyone's process, but I can predict my process.

"And probably deserves its own thread"

I agree.
 
Versioning: Not really an "undo" button, more of a "track changes" feature...if you are familiar with that from MS Word. 

Batches/Sessions:  I've heard that other brewing programs have a concept of a session, but I've never used anything other than BeerSmith (I can't bring myself to call it "BS"  :-X).  So for me the idea is NOT borne out of other experience. 

As a long time software engineer, I have a natural intinct to classify, segregate, and agregate concepts.  From day one we are taught  that the comingling of different information is poor design.  We look at organizational problems and try to find the information that belongs together, and the information that belongs separate.  We look at user usage patterns, and look for ways to streamline the man-machine interaction. 

I found myself jumping through hoops (much like you with various folders and naming schemes) in order to separate the Beer from the recipe, and the recipe, from the batch.  Its doable, and it does work.  But, it does have its limitations...or rather, it requires more effort, forethought, and planning on my/your/our part than it has to.  whenever I find myself "jumping through hoops" I wonder how I could change it to reduce my effort.  I ask myself if I'm doing something funky with the software and trying to use it in a way that is other than intended (ie, my usage is unique), or if what I'm trying to do is a natural usage pattern.  I want my software to work FOR me...rather than the other way around.  But, if my particular usage is unique (and outside the scope of the intended design) then I continue to make do.  Like using a screwdriver as a chisel...it may work...but, I shouldn't complain to Sears about its ineffectiveness as a chisel. 

The trouble with side-by-side comparison is that it is easy to miss something.  The user interface isn't designed with side-by-side comparison in mind.  the human brain is very linear, and doesn't do 2-d (all of the recipe forms are very two dimensional with data items spread across and down the panel) comparison well.  Computers can do comparison VERY well, and can then highlight the differences to you. 

As far as your concerns...as a software designer, I would have said that your usage patterns (the things you do with your folder structure now) are requirements for the "sessions" feature.  The whole point of the concept is to make those specific tasks easier.  Any implementation that made those tasks MORE difficult would be a failure.  Its not "organization for organization's sake", the whole point is to make the user operations easier. 
 
How about a file comparison tool?
Judging how Brad has said keeping track of the files inside of a master would be a huge undertaking maybe a file comparison tool would be more realistic.

You could have the comparison tool able to save "play lists" so you could list the versions click on the "play list" and it brings them all up.
Then you're not limited to checking Brown Porter V0, V1, V2, etc. You could compare Brown Porter V2, Mild V1 and Southern Brown V4 to find out if you're really making different beers or different versions.
 
Just take a look at Beer Alchemy.  It's one thing they do very well.  You have recipes and when you brew one it becomes a batch, it looks just as if the recipe was a folder (thou you can open it and look at it and change it) and the batches are all children of the recipe.  Batches have dates and a comparison tab comparing the batch to the original.  You can change just about anything in a batch.  You can "promote" a batch to a recipe if some variant really works and then of course you can then make batches of it.  You can only export recipe's so exporting a bunch does not export the batches just the original recipe.

I used BA for awhile and like it, but there are some issues.  I bought BS because it handles some things a lot better, but it has other issues.  If they got married I think I would really like the kids ;~)

I do sound post for a living and we all use cataloging applications.  One of the strengths of it for design work is that you can keep track of versions.  So system level folder organization of sound libraries has largely been replaced by much more flexible and useful cataloging applications.  The "standard", as much as there is one, uses metadata to track history.  So in actuality this feature IS used in sound work every day by thousands of editors.

Another BIG vote for some way to make this work in a non clunky way in BS.  Maybe the "send to log" could be used to create a trackable "batch" of a recipe?
 
Tom and Jaguar:  You guys are right on in your thought process.  I agree with you 100% that if Recipes and Batches were programmed as you envision it would be great. A Recipe is what I am trying to make- rarely does it meet my expectations on the 1st or 4th try.  The Batch is how many times I tweak something to meet my expectations. I do keep a hand written journal with copious notes on every brew day.  To put these into the Batch file after the taste test easily would also be great.
 
Back
Top