Author: Danny Hall

  • Using Label Templates

    Using Label Templates

    You can customize label templates for use with Roastmaster, allowing you to create definitions for custom sheet and label sizes and layout configurations.

    The Custom Label Starter Kit

    The Custom Label Starer Kit contains 8 XML templates, labeled 1 through 8, each designed for a label sheet containing between 1 and 8 labels, as well as a PDF describing how to edit the values.

    You can edit these files in any standard text editor, just make sure the resulting saved file has an”.xml” extension. If you need more than 8 labels per sheet, simply copy and paste a new  block for each extra label on the sheet.

    To customize the label, replace each instance of “MyValue” with whatever value is applicable. You can refer to the PDF “Roastmaster XML Label Structure.pdf” for a description of what each value means, as well as a graphical sample template to give you an overall picture of how these should correlate to a real-world label sheet.

    Note: all measurements should be entered in Imperial inches.

    When you’re finished creating your custom template, you can import it directly into Roastmaster from anywhere on your iOS device – the two easiest ways are to upload it to your DropBox account, or email it to yourself. Navigate to the file on your iOS device, tap the icon and choose “Open in Roastmaster”. Roastmaster will present its import screen. Once imported, the new label description file will be available for immediate use.

    Download the Custom Label Starer Kit

  • Introducing Version 4.0

    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.

    Roast Analyzer

    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.

    1. Your are roasting with a roaster whose manufacturer field is “Behmor”, and whose model field is “1600”
    2. You are roasting with a profile named “P1”, “P2”, “P3”, “P4” or “P5”
    3. You are roasting with a program named “A”, “B”, “C”, or “D”
    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”

    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.

    Duplicate roast

    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

    Bug fixes

    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.

     

  • Introducing Version 3.0 and the Forum

    Introducing Version 3.0 and the Forum

    At long last, version 3.0 went live yesterday morning.

    Thanks to everyone for their enduring patience while awaiting the long-coming update. I, as well, had to call on my own patience reserves over the late-summer and fall in dealing with the less-than-smooth introduction of iOS 5 and Xcode 4, and the bumps they brought with them in developing for Core Data. But, I’ve been told that “All’s well that ends well”, and… in the end, I’m very happy with the update. So, onward and upward!

    I’d like to formally introduce the new forum. One of the things that many users ask for is a way within Roastmaster to import and export data like Profiles, Programs, Curves, Roasters etc. Version 3.0 brings this capability, but without a venue geared toward the app, and way to exchange this data, this feature is limited in its usefulness.

    There are a number of coffee-roasting forums, run by some great people who devote a lot of personal time to moderating them. First and foremost, I have no desire to recreate the wheel. My time is better spent developing Roastmaster, and giving help to users with questions. Even so, I believe the forum will be the perfect venue for a number of things.

    Naturally, forums are geared toward communal discussion and file exchange, so they’ll be a good fit for sharing your own personal data, and searching and downloading others’ data to experiment with yourself. That’s the main goal.

    In addition, though, I want to take a more active role in sharing some of the more common questions I get about Roastmaster, as well as provide some much-needed resources for new users, and those seeking information on some of the more advanced workflows possible in Roastmaster.

    The internal app help files do a good job of explaining the basics of the app, but I’ve dedicated too much time to coding, and not enough to supplying help that gives folks the bigger picture of how the app works, and how to best tailor it to their unique needs.

    So, keep an eye on the site in the coming months. I’m beginning work on a few tutorial videos that will hopefully be a great resource for those with questions, and expanding the support page to offer more help to users coming to the site with questions. In addition, I’m always here to answer in questions you have via email.

    As far as Roastmaster itself goes, my main focus in the coming months will be working on automated readings. Things are finally coming around in the probe market, and I want the app to be ready for products that will most assuredly materialize in the (hopefully soon) future.

    As always – happy roasting!

    Danny

  • Version 3.0 Is on its Way.

    Version 3.0 Is on its Way.

    Greetings everyone, and Happy New Year!

    I hope you were able to enjoy your holidays as I did – spending lots of time with family and friends. I love this time of year, and the way in which it draws everyone together. I hope you had a wonderful season of festivities, and drank (as I did) more than your fair share of coffee!

    1/15/12 – This post was originally a request for a number of sample user databases to test with. A million thanks to everyone who reached out and sent me databases! I keep a running archive of all of my personal and development databases, but it gave me a great peace of mind to have other folks’ real-world data to test with. All of my testing went well, and the update was submitted to Apple yesterday afternoon.

    So, what’s coming?

    Here’s a fairly complete, even if curt, laundry list of the new features and improvements:

    New Features:

    • Label Printing and/or PDF generation for Roasts, Blends, Cuppings and Beans
    • Data exchange (import and export) for Roasters, Profiles, Programs, Curves, Databases and Label Definition Files
    • Dropbox and Email Support for data exchange
    • All internal weight and volume calculations use the extremely precise decimal number format instead of float numbers
    • Database stores all weight and volumes as precise decimal numbers instead of the sometimes rounded float numbers
    • Behmor Curves
    • Custom roaster settings
    • Enhanced Profile and Program snapshots
    • Profile and Program snapshots navigation screens
    • Reusability of Profile and Program snapshots
    • Blend Snapshots
    • Blend by weight
    • Increased max curve temps from 999 to 10,000
    • Price per unit for beans
    • First and Second crack end times
    • iOS 5 compatibility and bug fixes
    • Customizable label definitions
    • More detailed reporting of curve deltas in the full screen graph
    • Facebook bug fix

    Roasting console interface enhancements

    • Dedicated curve button
    • Dock-able graph selector for a larger graph view
    • Graph rescale buttons
    • Kg option in weight choosers
    • Wiper alarm marker in roasting graph
    • More intuitive measurement input in inventory and item choosers
    • Swipe to select curves

    I am very excited about this update, and anxious to get it into your hands. Once it’s live, I want to shift gears and create a little forum section on the site where I can post downloadable files for beginners, and where users can share and exchange their own data. There are a number of great coffee forums on the web. I don’t want to recreate the wheel – just give everyone a place to exchange and discuss their Roastmaster profile and program data.

    Also, I’ll be starting work on some tutorial videos. Admittedly, using some of the more advanced features of Roastmaster carry with them a learning curve. I’d like to create a series of videos to explain these features, as well a couple geared towards getting started for new users.

    Cheers,
    Danny Hall

  • Introducing the ThermoTooth 3000!

    Introducing the ThermoTooth 3000!

    Here it is – what I’ve affectionately dubbed the ThermoTooth 3000 – a fully wireless, dual channel, K style thermocouple prototype. She had her first successful Bluetooth session with my Mac tonight, and even with her limited code, she’s quite a smart gal! Over a simple wireless serial connection via terminal, I am able to select which thermocouple to monitor, and trigger individual Celsius or Fahrenheit readings, or both. No special drivers – just a Bluetooth serial connection.

    For the geeks like me, she’s built on an Arduino Uno prototyping controller board. Stacked on top of that is an XBee shield, providing the networking connectivity beyond the basic USB already present on the UNO. The XBee shield currently houses a Seeed Studio Bluetooth Bee, which provides the Bluetooth connection layer. The two K-style thermocouples connect to the Uno via two Max6675 chips, each providing cold-junction compensation and digital conversion of the thermocouple voltages for its independent channel. The sheer amount of electronics here is definitely overkill – I’m sure the cumulative brains of this could drive a car, but that’s how prototyping works.

    First off – it’s not meant for live production. I built it in the hopes I could pair it with an iOS device, and negotiate a wireless serial connection via Bluetooth. I know the device functions well, but the external connectivity of iOS itself still holds unknowns for me. The XBee shield offers the advantage of being able to swap a regular wireless network interface for the Bluetooth module in case the Bluetooth method is unsuccessful.

    Hopefully, a more permanent solution is on the way. I’ve been contacted by a manufacturer who is currently developing a Bluetooth thermocouple they plan to bring to market this fall. Naturally, this is great news for a lot of us looking for automated readings. They have not discussed the expected price, but the product itself sounds great! The manufacturer has agreed to sending me a prototype for evaluation once the release date gets closer, but in the mean time – I needed something to develop with now.

    This is why I built the TT3000. The majority of the code involved to implement thermocouple support will likely be designing the Roastmaster interfaces and its internal data structures, and setting up the communications framework to be used between roasting curves and wireless devices in general. The Bluetooth serial protocol has seemed quite easy to work with while prototyping the TT3000, so I’m hoping that this venture will be successful, and that adding support for the new product (as well as any others that may crop up), will be fairly easy to add ONCE I get support for wireless thermocouples in general built into Roastmaster.

    I’ll post back here with updates as development progresses. This isn’t at the absolute top of my development list – there are several feature requests/tweaks I want to finish up first, but I plan to be working on this until I find a workable solution.

    As always – if you have any input – please let me know.

    Cheers, Danny