Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Beer XML
Who are we?
Arnd 'Justa' Marijnissen

Peter 'Piele' Tambach  *

*  in order of appearance, not importance
Software and beer
Just good friends ?
Recipe is Code
www.gonemild.com
Brewing is Process
Math is hard (let's go brewing)
Relax
I'm a programmer
The best wheel

is the one that doesnt
require re-invention.

Open Source Software
XML
eXtensible
Markup
Language
xHTML
ODF
OpenXML

BeerXML
our hero
<HOP>
   <NAME>Fuggles</NAME>
   <VERSION>1</VERSION>
   <ALPHA>4.5</ALPHA>
   <AMOUNT>0.250</AMOUNT>
   <USE>Dry Hop</USE>
   <TIME>10080.0</TIME>
</HOP>
<FERMENTABLE>
   <NAME>Pale 2-row Malt</NAME>]
   <VERSION>1</VERSION>
   <AMOUNT>5.0</AMOUNT>
   <TYPE>Grain</TYPE>
   <YIELD>73.4</YIELD>
   <COLOR>3.0</COLOR>
</FERMENTABLE>
<YEAST>
   <NAME>German Ale</NAME>
   <TYPE>Ale</TYPE>
   <VERSION>1</VERSION>
   <FORM>Liquid</FORM>
   <AMOUNT>0.250</AMOUNT>
   <LABORATORY>Wyeast Labs</LABORATORY>
   <MIN_TEMPERATURE>12.8</MIN_TEMPERATURE>
   <MAX_TEMPERATURE>20.0</MAX_TEMPERATURE>
   <ATTENUATION>75.0</ATTENUATION>
   <NOTES>Crisp dry flavor with a hint of mild flavor. </NOTES>
   <FLOCCULATION>Low</FLOCCULATION>
</YEAST>
<WATER>
   <NAME>Amsterdam gemeentepils</NAME>
   <VERSION>1</VERSION>
   <AMOUNT>20.0</AMOUNT>
   <CALCIUM>46.0</CALCIUM>
   <MAGNESIUM>8.0</MAGNESIUM>
   <SODIUM>60.0</SODIUM>
   <SULFATE>24.0</SULFATE>
   <CHLORIDE>73.0</CHLORIDE>
   <BICARBONATE>183.0</BICARBONATE>
   <PH>8.1</PH>
   <NOTES>Gewoon, uit de kraan</NOTES>
</WATER>
<MISC>
   <NAME>Coriander</NAME>
   <TYPE>Spice</TYPE>
   <VERSION>1</VERSION>
   <USE>Boil</USE>
   <TIME>5.0</TIME>
   <AMOUNT>0.025</AMOUNT>
   <USE_FOR>Belgian Wit Spice</USE_FOR>
   <NOTES>Seeds, crushed</NOTES>
</MISC>
<EQUIPMENT>
   <NAME>8 Gal pot with 5 gal Igloo Cooler</NAME>
   <VERSION>1</VERSION>
   <TUN_VOLUME>18.93</MASH_TUN_VOLUME>
   <TUN_WEIGHT>2.0</MASH_TUN_WEIGHT>
   <TUN_SPECIFIC_HEAT>0.3</TUN_SPECIFIC_HEAT>
   <BATCH_SIZE>18.93</BATCH_SIZE>
   <BOIL_SIZE>22.71</BOIL_SIZE>
   <TOP_UP_WATER>0.0</TOP_UP_WATER>
   <TRUB_CHILLER_LOSS>0.95</TRUB_CHILLER_LOSS>
   <EVAP_RATE>9.0</EVAP_RATE>
   <BOIL_TIME>60.0</BOIL_TIME>
   <CALC_BOIL_VOLUME>TRUE</CALC_BOIL_VOLUME>
   <LAUTER_DEADSPACE>0.95</LAUTER_DEADSPACE>
   <TOP_UP_KETTLE>0.0</TOP_UP_KETTLE>
   <HOP_UTILIZATION>100.0</HOP_UTILIZATION>
   <NOTES>Nothing fancy.</NOTES>
</EQUIPMENT>
<STYLE>
   <NAME>Bohemian Pilsner</NAME>
   <CATEGORY>European Pale Ale</CATEGORY>
   <CATEGORY_NUMBER>2</CATEGORY_NUMBER>
   <STYLE_LETTER>A</STYLE_LETTER>
   <STYLE_GUIDE>BJCP</STYLE_GUIDE>
   <VERSION>1</VERSION>
   <TYPE>Lager</TYPE>
   <OG_MIN>1.044</OG_MIN>
   <OG_MAX>1.056</OG_MAX>
   <FG_MIN>1.013</FG_MIN>
   <FG_MAX>1.017</FG_MAX>
   <IBU_MIN>35.0</IBU_MIN>
   <IBU_MAX>45.0</IBU_MAX>
   <COLOR_MIN>3.0</COLOR_MIN>
   <COLOR_MAX>5.0</COLOR_MAX>
   <NOTES>Tasted good with sausage.</NOTES>
</STYLE>
<MASH>
 <NAME>Two Step Temperature, 68C </NAME>
 <VERSION>1</VERSION>
 <GRAIN_TEMP>22.0</GRAIN_TEMP>
 <TUN_TEMP>22.0</TUN_TEMP>
 <SPARGE_TEMP>78.0</SPARGE_TEMP>
<MASH_STEPS>
    <MASH_STEP>
            <NAME>Protein Rest</NAME>
            <VERSION>1</VERSION>
            <TYPE>Temperature</TYPE>
            <STEP_TEMP>49.0</STEP_TEMP>
            <STEP_TIME>20.0</STEP_TIME>
            <RAMP_TIME>10.0<RAMP_TIME>
            <INFUSE_AMOUNT>15.0</INFUSE_AMOUNT>
      </MASH_STEP>
    <MASH_STEP>
            <NAME>Conversion Step, 68 C</NAME>
            <VERSION>1</VERSION>
            <TYPE>Temperature</TYPE>
            <STEP_TEMP>68.0</STEP_TEMP>
            <RAMP_TIME>20.0<RAMP_TIME>
            <STEP_TIME>60.0</STEP_TIME>
      </MASH_STEP>
 </MASH_STEPS>
</MASH>
<?xml version="1.0" encoding="ISO-8859-1"?>
<RECIPES>
   …
</RECIPES>

<?xml version="1.0" encoding="ISO-8859-1"?>
<RECIPES>
  <RECIPE>
  <NAME>Gutrot Ale</NAME>
  <VERSION>1</VERSION>
   <TYPE>All Grain</TYPE>
   <BREWER>Me, myself and I</BREWER>
   <BATCH_SIZE>18.93</BATCH_SIZE>
    <BOIL_SIZE>20.82</BOIL_SIZE>
    <BOIL_TIME>60.0</BOIL_TIME>
    <EFFICIENCY>72.0</EFFICIENCY>
   <RATING>41</RATING>
    <DATE>8 May 2015</DATE>
    <OG>1.036</OG>
    <FG>1.012</FG>
    <CARBONATION>2.1</CARBONATION>
    <CARBONATION_USED>Kegged</CARBONATION_USED>
    <AGE>24.0</AGE>
    <AGE_TEMP>17.0</AGE_TEMP>
    <FERMENTATION_STAGES>2</FERMENTATION_STAGES>

 <STYLE>
 <NAME>Dry Stout</NAME>
 <CATEGORY>Stout</CATEGORY>
 <CATEGORY_NUMBER>16</CATEGORY_NUMBER>
 <STYLE_LETTER>A</STYLE_LETTER>
 <STYLE_GUIDE>BJCP</STYLE_GUIDE>
 <VERSION>1</VERSION>
 <TYPE>Ale</TYPE>
 <OG_MIN>1.035</OG_MIN>
 <OG_MAX>1.050</OG_MAX>
 <FG_MIN>1.007</FG_MIN>
 <FG_MAX>1.011</FG_MAX>
 <IBU_MIN>30.0</IBU_MIN>
 <IBU_MAX>50.0</IBU_MAX>
 <COLOR_MIN>35.0</COLOR_MIN>
 <COLOR_MAX>200.0</COLOR_MAX>
 <ABV_MIN>3.2</ABV_MIN>
 <ABV_MAX>5.5</ABV_MAX>
 <CARB_MIN>1.6</CARB_MIN>
 <CARB_MAX>2.1</CARB_MAX>
              <NOTES>My dad used to like this a lot.</NOTES>
  </STYLE>
<HOPS>
  <HOP>
   ...
  </HOP>
</HOPS>
<FERMENTABLES>
  <FERMENTABLE>
   ...
   </FERMENTABLE>
</FERMENTABLES>
<MISCS>
  <MISC>
   ...
  </MISC>
</MISCS>
<WATERS>
  <WATER>
  ...
  </WATER>
</WATERS>
...

Yeasts,
Equipment 
and
Mash
 </RECIPE>
</RECIPES>
Great
So what ?
Share online
malt.io
Brauhaus.js 
Tapline
zython.me
WordPress plugin
C, Perl, PHP, Go
Start your own site
Create a recipe
Brewtarget
QBrew
Beersmith 2
Brouwvisie
BeerAlchemy.app
(ProMash via conversion)

Android
[BrewersFriend Mobile] Companion for BrewersFriend site
[Beersmith2 Lite] BeerSmith2 Lite, Mobile versionl
[Brewer's Assistant] Recipe Calculator

IOS
[BrewPal 3] IOS recipe calculator and brew-assistant
[HomebewAssistant] IOS Recipe calculator and brew-assistant
[BrewersFriend Mobile] Companion for BrewersFriend site
[BeerAlchemyTouch]Mobile variant of BeerAlchemy.app

Phone, Tablet, Watch ?
Devices , you said?
[BrewCore BrewUI]
Server+ UI software for BrewFactory

[StrangeBrew Elsinore] 
  Server-software to run on RaspBerry PI

Automation of stressy parts
BrewCore + BrewUI
Automation of stressy parts
Hosehead controller
StrangeBrew Elsinore
Automation of stressy parts
Automation of boring parts
BrewPi
Monitor everything
Brewnanny
SHARE
AND
KEEP
ON
BREWING

Use a spacebar or arrow keys to navigate