Introducing Version 4.0
It is with great excitement that I can finally announce that Roastmaster 4.0 for iOS is live on the App Store! It’s been a long wait for many folks itching for the update – 10 months to be exact. For me, it’s been 9 months of development – lots of fun, and lots of hurdles. For the folks patiently waiting – thank you for your patience. I knew going into this update, based on the features I wanted to tackle, that it would mean a dry spell for updates, but I couldn’t be happier with the end product.
Some of the great new features in this update:
- Data Logging Add-On
- Roast Analyzer
- Curve Templates in Profiles and Programs
- Better Handling of Numbers in International Locales
- Auto Behmor Curves
- Clone Roast
- Hide Beans with Zero Inventory
- Decimal Numbers in Cupping Scores
- Show Automated Bean Tally for Roasts
- iPad Retina
- iPhone 5 Retina
- Miscellaneous Bug Fixes
- Internal Speed Improvements
Data Logging add-on
Far and away, the most requested feature over the past year has been data logging – a means to automatically record roast temperatures during a roast, instead of having to enter each and every node manually. I was more than happy to oblige, because data logging has long been something I wanted to tackle as well. In fact, some of the code hooks for data logging have been there since I wrote the first lines of code dealing with curves themselves.
The first question you may be asking right now is “What probes are supported?” Well, unfortunately, there is no prebuilt commercial thermocouple I’m aware of that is compatible with iOS (at least for the temperature range required for roasting coffee). The majority of probes on the market are USB, which – as far as iOS is concerned, is utterly useless, as there is no formal USB support on iOS devices. Apple does offer a USB camera adapter, but that is not the same thing as a programatic USB stack built to handle communication with devices using the standard USB protocol. In fact – devices attached over this adapter have to emulate a keyboard in order for information to be passed to iOS apps – something no probe is built to do. Any attempts to bypass this would get an app rejected in an instant.
So, the solution? Phidgets! Phidgets are amazing little pieces of hardware, designed primarily for prototyping, or environmental sensing or control projects. Where they really shine for us coffee roasters, is that they can be accessed over a standard ethernet network, like is used in common WiFi network environments – something Apple does not regulate. Roastmaster now has the ability to, with the Data Loggin option, link to Phidgets Temperature Sensors via a network host and report, and automatically log, temperatures throughout a roast from one or more K type thermocouples.
Check back often for more information on Data Logging in Roastmaster. There are also detailed help files in the app that can be accessed from the Data Logging store in the Probe section of Utilities. For now, though, see the Data Logging Guide for an introduction to how Phidgets can be implemented in your workflow, as well as a parts list for the hardware you’d need to get started.
Roastmaster has always let you record lots of details about your roasts. Though it’s easy to manually browse through that data, there’s not been an easy way to graphically see details about all of the roasts of specific beans and blends, and the associated cupping data. Also lacking was a way to graphically browse roasts that relate to a current roast – a way to not only see more details of a range of past curve data, but also the cupping data tied to those past roasts. Having this data at your fingertips, in an format that is easily browsable during a roast, is indispensable for putting that data to good use in shaping the current roast.
Well, I’ve given the full screen graph a big and much-needed facelift – turning it into the Roast Analyzer. The Analyzer can be accessed from several areas of the app: the home screen, bean and blend details screens, and of course, the roasting console. When accessed via the roasting console, the analyzer will be populated with the same past roasts that are being displayed in the graph, as well, of course, as the current roast. When accessed from a bean or blend details screen, it will contain all of the roasts of that particular item.
You can flip through the roasts displayed in the analyzer with the arrow buttons on the left and right side of the graph, or swipe along the bottom horizontal axis to pan through them quickly. Cupping data for the roast currently being viewed will be displayed on the left side of the graph as an average of all the cuppings of that roast.
There are lots of UI improvements as well: clear markers with icons for durations, crack times and alarm time (both current and the focus past roast), sharper text, better rendering at higher zoom resolution, basic roast controls, the ability to set a roast alarm as well as a host of other small improvements.
Curve templates in Profiles and Programs
This one should be a big time-saver for a lot of folks. Profiles and Programs have always allowed you to store curves. These curves are designed to be instructional curves (in the case of “Control Curves”), or target curves (in the case of “Reading Curves”)–basically recipes for a roast. Version 4.0 introduces the concept of “Curve Templates”. Designed to speed workflow, Curve Templates function as placeholder curves, allowing you to set the name, color, curve type, probe binding for Data Logging users–all of the important curve details, and have new, identical curves automatically generated in a roast whenever you use that profile or program.
Better handling of numbers in international locales
Before this update, Roastmaster did not address the numbering formats of users in locales that do not use the “.” (period) decimal separator. Users in France and Germany, for instance, use “,” (comma) as the decimal separator. These users were forced to enter and read numbers and dates in the US format, rather than their native formate. To make matters worse, one of the main areas of data entry would not honor decimals in any regard for users whose locale was not set to US. These issues have been resolved – international users should notice that number entry now occurs correctly, based on their native locale. My sincere apologies to these users – and thanks for your patience.
Auto Behmor Curves
Lots of folks have been asking for a way to make Behmor curves automatically populate a roast, instead of having to manually define one for every roast. I drug my heels a bit on that one, because, as popular as the Behmor is, only a percentage of Roastmaster users are roasting with a Behmor – lots are shop roasters with Probat or Diedrich machines, or home roasters with one of the other home appliances on the market. To avoid cluttering the interface, I have, and will continue, to avoid anything roaster-specific in the UI design of the app. That, coupled with the international language barrier, made it a bit troublesome as to how to give Roastmaster the “smarts” it needs to be able to tell what profile, program and weight setting to use, in a database model that I designed to be flexible with organization, data use and naming schemes.
I finally settled on a solution that was non-intrusive for folks who do not use the Behmor, and effective for those that do – simple string matching. Following is a list of conditions. If the “Auto Behmor Curves” preference is enabled, and the following conditions are met in a roast, Roastmaster will oblige by automatically creating a Behmor curve for you in that roast. Note: for any of the string patterns listed, the name must either match that string, or begin with that string followed by a space – e.g. a Profile titled either P1″ or “P1 Behmor Profile” would both be considered a positive match.
- Your are roasting with a roaster whose manufacturer field is “Behmor”, and whose model field is “1600”
- You are roasting with a profile named “P1”, “P2”, “P3”, “P4” or “P5”
- You are roasting with a program named “A”, “B”, “C”, or “D”
- You are roasting with a Custom Weight Setting named “.25” (or “1/4”), “.5” (or “1/2”) or “1” AND that Weight Setting belongs to a Weight Setting Type named “Weight”
Naturally, those Profiles, Programs and Weight settings should represent the corresponding settings on the Behmor machine itself. Following these rules, you’ll find that roasting with a Behmor is a lot faster and more intuitive. I use auto Behmor curves every time I roast with my Behmor – hopefully you’ll love it like I do.
If you often roast the same bean, especially back-to-back in batches, you’ll appreciate this one. In the main roast list, tap and hold on any roast to duplicate it as a new roast, with the roasted items and roaster already filled in–ready to roast.
Hide beans with zero inventory
This was probably the third most requested feature. In any of the bean list views or bean choosers, you can pinch zoom to hide and show beans that have 0 inventory. Pinch-swipe apart to hide out of stock beans, pinch-swipe together to show all.
Decimal numbers in cupping scores
Prior to this update, cupping scores were limited to integers. You’ll now be able to enter cupping scores as decimals for each category, as well as the cupping correction.
Show automated tally of roast ingredients
If you like to roast blends, this one will come in handy. You’ll notice a blue button with a scale in the “Roasted Items” section of a roast. Once you’ve tagged the item(s) you’re about to roast, tap this button to show a list of the green beans you need. Roastmaster will tally up every bean, recursing through blends, and present a list with weights.
iPad Retina support
iPhone 5 Retina support
Finally squashed the elusive “Inconsistency” error that would occur if you closed a database, and tried to navigate the app without opening another database first. Hopefully, only a few folks encountered this, but it’s been bothering me for some time.
I really hope you enjoy the new update, and find the new features helpful. If you have any questions, just let me know.
I want to use ‘Behmor Curves’. However, I don’t understand the following:
4. You are roasting with a Custom Weight Setting named “.25″ (or “1/4″), “.5″ (or “1/2″) or “1″ AND that Weight Setting belongs to a Weight Setting Type named “Weight”
I don’t understand. For ‘Monkey Blend’ I do 10 oz. roasts with the Behmor set at 1 lb., P3, B. Nowhere in Roastmaster do I input 1 lb to a Weight Setting named “Weight”.
I also don’t understand what a ‘Curve’ is supposed to look like. I have high hopes that it will look like the diagram for P3 (in my example) on page 15 of the Behmor manual.
I don’t know if that curve should appear for previous roasts or only for the next roast (and how to make it appear).
Please don’t consider this as a complaint or a criticism. I value the Roastmaster App greatly and am happy to see it developed further.
Not at all – thanks for asking – if you have that questions, chances are others will too.
I introduced Behmor curves last version, but you had to create them manually. In a roast whose roaster name contained “Behmor”, you’d tap the curve button, choose “Create Behmor Curve…”, then choose the three Behmor settings you were using on the machine itself: Program, Profile and Weight. Roastmaster would create the appropriate curve in the roast.
Now, with the new version, you can set this to happen automatically via the preference setting. The weight setting you ask about is an attribute of a roaster. So, just go to your Behmor roaster in Roastmaster, define a new “Custom Setting Type” and name it “Weight”. Then, in that custom setting type, create three new “Custom Settings”. I use “.25”, “.5” and “1”. Then, when you tag that Behmor roaster in a roast, another field will popup in the “Roaster” section of the roast titled “Weight”. Tap that and you’ll be able to choose one of the three custom settings you just defined.
The Behmor uses all three settings to determine the actual curve it’s using for the heating elements, so Roastmaster needs all three as well. If you follow the naming rules, the curves will be created automatically whenever you tag all three items in a roast. The resulting curve should look like the ones in manual, except that you won’t see the short ramp ups and downs the manual shows. From my tests with a voltmeter and conversations with Joe Behm, these are absolutes and the ramps in the manual are for illustrative purposes only.
Note: Roastmaster will let you time shift the curves, just as you can on the machine, and produce the same curves after the time shifts that the machine is using, with respect to whether they are happening before or during the roast. Just select a Behmor curve. The graph scale buttons will become time shift buttons. Tap the time shift buttons as you tap the machine buttons, and all will stay in sync. The beauty of having graphical Behmor curves in Roastmaster is that you’ll be able to really experiment with time shifts. The new Analyzer features will make it easy to swipe between roasts, and see how the time shifts, or different program, profile and weight combinations you use affect Cupping scores.
Thanks always Jerry for the kind words. Hope this helps. Let me know if you have any more questions.
Thank you for the prompt response.
You should be aware that you have a very busy interface, with buttons here and there not labeled. So it’s difficult to follow instructions even though you are ‘crystal’ clear. For the benefit of other users here is what I did to implement the new ‘Auto Behmor Curve’ feature:
On the bottom row of buttons, the left one called ‘Home’ took me to the BIG roaster graphic .
There is an arrow in the upper LH corner. That took me to ‘Preferences’.
(Whatever you do, make SURE the hit the ‘EDIT’ button, top RH corner.)
2nd from the bottom is ‘Auto Behmor Curves’: I turned that ON.
Now done with ‘Preferences’ (top line) I go to ‘Roasters’ (8 from the top).
I touch the Behmor button. I make sure that the Model = 1600 and the Manufacturer = Behmor.
Half way down the page is ‘Custom Setting Types’.
When you get into that you can add a name, ‘Weight’.
Under that you can add settings of .25, .5 and 1 (…that correspond to the weight selections on the Behmor.) Don’t get confused with the weight you put in at the start of the roast that has to do with inventory control. My roast sizes are 10 oz. I put that in at the start of each roast. Later, for that roast, I put in the Roaster, Profile P1, Program A, Temp. and Voltage, …and then, under Voltage, a new item appears: Weight, where I put in 1 (lb) because that’s the setting I put into the Behmor. I roast 10 oz and set 1 lb (no preheat).
ONLY THEN, when you glance up at the upper RH corner you see the P1 graph (like in the Behmor manual) instead of what was there before.
However, there are no previous roasts shown, matching that bean and those settings because (I suppose) the curve for the 1 lb weight setting was not there on my old roasts.
This is just wonderful. I predict that I will be able to finally use profile P2 and ‘drop the notch’ right into the end of the 1CR (as Joe Behm intended).
But Danny, this is a perfect example of a useful, sophisticated program that can hardly be described in any manual, unless by a series of examples such as the one I have just done.
There are just too many buttons. That brings to mind that wonderful line in Amadeus where the King of Austria (?) criticized Mozart’s music as having “…too many notes!”
so great to see that the phidgets work for you and the automatic data logging is up and running now. Congrats.
Just a quick question as I did not purchase the nicely priced logging feature yet. Do you support J type thermocouples too? My roaster has those and they are not exactly the same as a K type. The phidgets board does support them.
Sorry, not yet. It’s an easy addition, programatically speaking, so I will try to add that soon. The Phidgets hardware does support them, but my initial research showed very limited temp ranges for the types other than K, so I stuck with that to try and make it easy. The J range should more than suffice for home roasters, though shop roasters would probably need to stick to K types.
Thanks for the feedback, and for pointing me in the right direction a year ago!
Do you envision for the future some sort of import function whereas .txt or .csv temperature logs can be downloaded into the application, eventually via a router or Bluetooth protocol. I have a portable USB datalogger connected to a K thermocouple installed in the roaster. It records the logs on the thumb drive itself, which I then download to a PC. Obviously as long as there are relatively few points, I can enter them into Roastmaster application manually, but for say 10sec interval points that would be a bit of a stretch to do after each roast. Thank you for a great product!
Thanks for the kind words!
Yes. I want to make that happen soon. Would you be able to send me a sample output file?
When I wrote the import and export feature a few updates ago, I had this in mind, and coded a few hooks for this situation to make it easier to add it in the future. So, part of the groundwork is already laid. This is becoming one of the more requested features, and I can understand why, so I’m giving it a good deal of importance.
Would be nice to see a sample file, though, if you’d be willing. If so, please send to firstname.lastname@example.org
Any chance on this coming to Android? I have a playbook, and it runs android. Of course would love to see a native playbook app but… android works too. I have it for iPad already but switching devices. I’d pay again for it on playbook if you could do it!
Sorry, I don’t have any immediate plans to port to Android, though I’m getting that question a lot lately, and I realize it would probably be a worthwhile venture. Codewise, Roastmaster is a huge app, and it would be an equally big undertaking, given the fact that it’s a database application and bound so tightly to Apple’s Core Data. I’d personally like to have it on both platforms, so I never say never, but not in the immediate future – sorry.
I wonder if the application form is displayed in Spanish?
I’m sorry, at the moment Roastmaster only exists as English. I do want to localize to other languages though, Spanish is one that I want to include.
I just bought Roastmaster and loaded it onto my wife’s iPad yesterday. I then roasted a batch of coffee in my Behmor 1600 and this morning with further reading abut Roastmaster realize I would like to add to the information I listed in the Roast description I created yesterday. Is there a way to edit past Roasts? I looked more closely at the beans this morning in better light and see they really only achieved City, not Full City and wanted to change it. I can see that I will finally be able to learn a lot more as I roast with the use of this amazing data base. I have only been roasting in the Behmor since April, and have not really tinkered much within particular batches of beans. Just feeling out what we like as we drink only espresso here, except when we travel.
Thanks for the programming!!!
Peace & Respect,
Josh Lichterman, Ph.D.
Grass Valley, CA
Thanks for the kinds words!! I’m with you – mainly an SO espresso guy myself. Well, except for when I have only remnants left, then it’s “Potluck Espresso” blend week. 🙂
Yes – you’ll need to tap the Edit button in the upper right in order to put a record into edit mode, and you’ll be able to adjust the basic details, like the roast degree you want to change.
Let me know if you have any questions about using Roastmaster with the Behmor – it has several curve features targeted for Behmor users. Since lots of folks use the app with different roasters, those features aren’t up front.
Now that the update is released, I really want to get back to my tutorial videos. I’ve started one for the Behmor – I’ll try to get that up soon.