Author: Danny Hall

  • Introducing Roastmaster for iOS 7

    Introducing Roastmaster for iOS 7

    Version 7 for iOS 7 is here! Version 7, you might say… but where did the other versions go? Well, from here on out I plan to align the app version with the iOS version it’s targeted for, so we’re jumping ahead here to catch up. Apple has recently begun to allow downloads of older versions, and I think this type of versioning scheme will be the easiest to understand as iOS moves forward.

    I want to take a moment to offer a very heartfelt thanks to everyone I’ve worked so closely with over the past few months while implementing and refining features, as well as the beta testers who offered invaluable input. This update, code-wise, was probably the biggest one to date. iOS 7 is very different than iOS 6 and earlier with respect to how screens are drawn and displayed – something Roastmaster draws a lot of. When the GM seeds of iOS 7 were released, I realized development time was going to run long. Since I also wanted to hold out for testing on the new iPad, I took the chance to concentrate heavily on both form and function – a very big undertaking to say the least, but one that was definitely due.

    Form

    I’ve overhauled the UI – in part to help Roastmaster blend with iOS 7’s minimalistic design theme, and integrate seamlessly with its new features. More importantly, though, I felt the new version of Roastmaster should have an interface that is familiar, but much more content-oriented – one that takes a back seat to your data – complementing it, and eschewing unnecessary elements that compete with it.

    In line with this, I’ve paid very close attention to typography, colors and iconography in this update. In an app as comprehensive as Roastmaster, running on a platform that is limited to one visible screen at a time, these items are critical in helping you to navigate your data, and also in serving as mnemonic cues – helping you mentally retain your place in the app as you browse. I really hope you enjoy the new look, and find the UI enahncements helpful in presenting and navigating your data.

    Function

    My ever-present goal is to equip Roastmaster with the tools to help you put your data to work for you. I strive to help you easily and intuitively build on past successes – either by direct comparison of current roasts to past roasts and their cupping data, or by using this data in tandem with your ever-evolving custom profiles. This is the means to the end goal of the best tasting cup of coffee possible. In addition to this, it’s important to be able to perform tasks in Roastmaster easily – with minimal effort and thought on your part. Most of the new features are geared toward one of these two goals.

    So many amazing folks have come forward with ideas and suggestions – some I’d already planned, some I’d never even thought of. Thanks to you all! Believe me, I listen to and evaluate every single suggestion. As always, majority rules – so if you see your suggestion on this list, you’re in good company.

    New Features

    User Interface

    • Full iOS 7 compatibility
    • A more simple, open and content-oriented design
    • Improved typography and iconography
    • Support for iOS 7 dynamic text sizing
    • Easily recognizable activity icons now replace the old text-based activity choices
    • All buttons are easier to tap

    Support for two new probes for Data Logging Users

    • Support for the BlueTherm Duo Probe – a wireless Bluetooth probe that supports 2 K Style thermocouples
    • Support for the iCelsius BBQ Probe – a wired probe that attaches to the dock connector, or to a Lightning port via a Dock to Lightning adapter.

    Productivity

    • New inventory report type
    • Analyze recent roasts to quickly view your most recent roast activity
    • Easily turn a completed roast into a profile or program
    • Notes for all items are now edited via a spacious full-screen editor
    • Dedicated numeric keypad for editing node values and times
    • Faster database operations
    • Copying a roast now includes the profile and program, and applies the appropriate curve templates
    • Roast alarms can now be set by tapping on the alarm marker and entering a specific time in addition to dragging on the gauge or graph
    • Several of the past-roast matching algorithms have been shifted to the database side, speeding up queries and greatly reducing memory consumption
    • Roaster setup assistant. Behmor users will find this particularly helpful, as it will automatically configure a Behmor roaster for using and displaying Behmor curves.
    • Better curve comparison for past roast matching
    • Rested age since roasting in days and hours for cuppings
    • Ability to condense or expand an existing curve by intervals of 15 seconds
    • Roasts, blends and cuppings now show the countries of their items in the header
    • Roasts, blends and cuppings can now be filtered by country in the main list views
    • Ability to two-finger tap on the main roast console graph to select a curve from a list of all curves
    • Ability to have roast timers display inverted Behmor time when a Behmor curve is selected
    • Ability to enter cracks for 30 seconds after the roast has ended

    Roast Analyzer

    • Faster scrolling and more responsive navigation
    • Curve targeting mode enables you choose which curves are displayed for targeting:
      1. Profile/Program Mode: Current roast curves are displayed as solid, profile/program curves are displayed as dotted, all other curves hidden
      2. Past Roast Mode: Current roast curves are displayed as solid, past roast curves are displayed as dotted, all other curves hidden
      3. All (The legacy mode): Current roast and current profile/program curves are displayed as solid, other past roast curves displayed as dotted
      4. None: Current roast and current profile/program curves are displayed as solid, all other curves are hidden
    • Live differential temperature projection markers. Select a curve, and create a draggable target with the predicted temperature based on the recent differential energy of the curve.
    • Floating labels for curve levels, crack times and duration milestones
    • Define up to three separate custom deltas to report for the selected curve or node
    • Ability to plot control curves with a reduced height at the bottom of the screen – leaving the top area free for reading curve analysis
    • More intuitive crack buttons: tap once to set the begin time – subsequent taps extend the duration. To clear times, tap and hold.
    • Analyzer now remembers the selected curve, focus past roast and projection markers between views
    • Customizable opacities for graph elements, like current curves, target curves and background
    • More accurate delta times for data logging users (deltas are calculated from recent probe readings – accurate to 1/2 second)
    • Easier curve selection by tapping directly on a curve, or two-finger tapping to invoke a chooser list
    • Preference for alerts to remind you to enter temperature nodes at a customizable interval while in the Analyzer
    • Ability to show a margin around the graph for easier selection of nodes that lie at 0 on the X or Y axis
    • Preference settings to independently set the opacity for X or Y axis grid line markers.
    • Selected curve remains selected when swiping through past roasts
    • Analyzer display is calibrated to minutes, and remembers the last used setting between views

    Looking Ahead

    I’m going to be concentrating heavily on a series of screencast “shorts” – videos geared toward educating users on some of the features and how to perform standard and more complex workflow operations in Roastmaster. Please let me know if you have any suggestions on things you’d like to see showcased, or if you have any specific questions or comments on using Roastmaster.

    I really hope you enjoy the new features in this update, and find them helpful in your roasting workflow. For folks celebrating Thanksgiving – enjoy your turkey, your time off and all we have to be thankful for. For those, and everyone else… as always, Happy Roasting!

    Danny

  • Introducing Version 4.1

    Introducing Version 4.1

    Last night, Roastmaster 4.1 went live. If you haven’t installed it already, head over to the app store, grab the update and check out what’s new:

    • Reporting
    • Tab delimited exporting of report data
    • J Type thermocouple support for Data Logging users
    • Smoother temperature display for Data Logging users
    • The Roast Analyzer now displays crack and duration averages from past roasts as gradient bars in the bottom x-axis legend, removing some of the clutter that could present in complex roast comparisons, and giving a clear way to see how the milestones of your current roast are occurring compared to the past roasts your are targeting.
    • Selected curves in Analyzer now display as gradients, making it easier to discern between multiple current and past curves
    • Tap-and-hold to clone a Bean
    • Many under-the-hood and small usability tweaks
    • Fixed a bug that would result in a crash when attempting to delete a curve from a profile or program, if that curve was copied from a roast in which it was instantiated from a curve template.
    • Fixed a bug that would prevent deletion of a curve template from a Profile or Program

    For Data Logging Users: Roastmaster 4.1 uses the latest Phidgets software – build 2.1.8.20130618. For users with a PC or Mac host, please download the appropriate software and install the Preference Pane (Mac) or Control Panel (Windows). For those with an SBC host, please open the PhidgetSBC Administration Console by double clicking the SBC in the Preference Pane/Control Panel of your desktop computer, navigating to the “System” main tab, then the “Packages” subtab, and clicking the update all packages button. Once your Phidgets software is updated, Roastmaster 4.1 will be able to link to your probes.

    About the Update

    As the app gradually matures with each release, I find my greatest ambition is to enhance the ways in which the data you record is made available to you as you use Roastmaster, not only in the area in which it resides, but in other areas – areas where you need to see it, and where it will be the most beneficial. Alongside of this, an ever-present ambition is to enhance the user experience – making the app as fun and easy to use as possible.

    In the previous update, the Roast Analyzer screen was given a much-needed facelift. This included, among other things, the capability to display multiple roasts, and scroll through each one, seeing the current roast data compared to past roast and cupping data, to help you make informed decisions as you roast. After all, what good is dutifully recording data if you have to hunt and peck to retrieve it? That information should be easily accessible when and where you need it, in a way that makes it easy to understand and recognize patterns.

    This update continues that focus with one of the most requested features this year – reporting. Whether you make your livelihood from roasting coffee, or are a coffee enthusiast who, like me, spends more than your fair share on green coffee beans, it’s important to be able to see how much you roast, blend or cup. Even if you don’t faithfully cup all of your roasts, seeing exactly what you roast is a good indicator of your own personal preferences, and is a great way to see what you like, as well a good means to bring attention to beans, countries or regions you’ve been neglecting.

    What is Reporting?

    Whereas the roasting mode of the home screen graph only displays totals from top-level beans in your roasts, Roastmaster’s reporting engine scours your database, descending through as many levels of encapsulation as your roasts contain to extract the exact weights of the green beans you’re using. So, for instance, if you like to roast blends that are comprised of roasts – the reporting engine will track that bean usage all the way to the beans themselves, reporting the exact weights and cost involved. Pairing this with cost analysis paints a pretty comprehensive picture of not only your roasting habits, but your spending habits as well.

    Version 4.1 introduces 3 report types:

    • Bean Usage of Roasts: An exhaustive actual bean use and cost analysis of your roasts.
    • Bean Usage of Cuppings: An exhaustive actual bean use and cost analysis of your cuppings.
    • Bean Components of Blends: An exhaustive report of bean percentages and projected cost averages of beans per lb or kg of blend.

    Roastmaster’s reporting engine is equipped with flexible features:

    • Advanced automatic and customizable time ranges
    • Ability to group by Region, Country or Vendor, or lump everything together
    • Sorting by Amount, Cost or Name
    • Export to a tab delimited text file, including all of the bean details, amounts and costs, for sending to dropbox, iTunes file sharing or as an email attachment. Special attention has been paid to the data contained in the export – values are normalized and label free to allow easy sorting in your spreadsheet application.

    I encourage you to experiment with the reporting feature, and, if you aren’t in the habit of recording the cost of your beans, to start recording this as you receive bean shipments. The existing bean cost feature is very easy to use, just enter the amount paid, and the weight you received. For instance, you can enter $24.57 per 5 lb – Roastmaster handles all of the math when needed. This information is very helpful when using the reporting feature – especially if you’re on a budget.

    This is just the beginning of Reporting. I have ideas for more reports I plan to introduce in subsequent updates. If you have suggestions for other report types that would be beneficial to you, please let me know.

    Moving Forward

    Lots of things are planned for coming updates. I’ve done a lot of work under-the-hood with this release to prepare for the future. In the data logging arena, I’m in the process of securing test units and the SDKs for two interesting probes: the iCelsius BBQ and the Bluetherm Duo. Both units look promising, and both have their own individual strengths. Now that this update is released, I’ll be diving headfirst into coding and testing for hopeful support for Data Logging users in an update soon.

    Lots of other general features have been suggested by users. International localization, temperature-based alarms and events and iCloud syncing are among the most popular – all things I want to tackle. I’ve even got my own personal favorite ideas that are starting to get some requests – like integrating the coffee roasting taste wheel into cuppings, bean inventory lots/batches/skids to track changing costs and bean aging, and many others. Please let me know what you’d like to see in future updates – I gauge development by popularity – so the most votes win!

    As alway – Happy Roasting!

  • Using Dropbox to Share a Database Among Multiple Devices

    Using Dropbox to Share a Database Among Multiple Devices

    Roastmaster provides simple, convenient methods to export database file(s) from one device for backup purposes, or to quickly import onto other iOS devices. You can save them to the documents folder of Roastmaster on the device for retrieval via iTunes file sharing, attach it to an email, or – by far the easiest – send it to your Dropbox.

    Dropbox accounts, as well as the iOS mobile apps, are completely free. Just sign up for an account, and download the Dropbox app to your iOS device, and you’re ready to use it with Roastmaster.

    Open Drum Door
    Open Drum Door

    How Do I Export My Live Database?

    1. On the home screen in Roastmaster, swipe up on the drum door to open it.
    2. Tap the “Actions” button
    3. Tap “Export Current Database”
    4. Choose the Dropbox icon at the bottom of the export window that appears

    Congratulations! Your database file now resides on Dropbox, as a backup copy to protect you in the case of accidental data loss, and can also be distributed to other iOS devices with the Dropbox app installed.

    How Do I Import A Previously Exported Database From Dropbox?

    1. In the Dropbox app on the target device, navigate to the “Apps” directory and tap to open it.
    2. Tap on the “Roastmaster” directory to open it and list the files you’ve exported from Roastmaster on any of your iOS devices.
    3. Tap on the .sqlite database file you wish to import. The preview screen will open. When the preview window finishes loading, Dropbox may display “Unable to view file – This file type can’t be viewed”. This simply means it cannot generate a preview, and is no cause for concern.
    4. Tap the action button in the lower right of the window, and choose “Open in Roastmaster”
    5. Roastmaster’s Import screen will display. Tap “Import” to import the database. If a database already exists with the same name as the one you are importing, Roastmaster will ask if you want to replace the existing database, or rename it.
    6. The new database is now saved in your database list. If it was named the same as the database you were using before the import, and you chose to replace it, Roastmaster will automatically open the newly imported database and you are ready to go. If you chose to rename the database, you will need to open it first, by tapping the logo above the drum door, and selecting it from your list of databases.

    You’re ready to begin using your new data!

    Note

    If you use this feature frequently to share a database among iOS devices, you may find when you open Dropbox that it is still displaying the preview screen of that database from the last time you performed an import.

    If this happens, YOU MUST dismiss this preview screen, and load it again before opening the database in Roastmaster. Dropbox caches the file when this preview screen loads, and it will still contain the OLD data from the last import, not the NEW data you want to import. Dismissing that screen, and reloading it from the list of Roastmaster files will force it to load the NEW data.

  • Curves – Infinite Control

    Curves – Infinite Control

    Looking for a visual way to record and display variables that change over the course of a roast? Curves are your answer. Control curves and Reading curves offer a graphical way to record, view, and compare any type of numerical data.

    Let’s face it – most of us roasters are tweakers by nature. We fiddle and adjust until we’ve honed in on the perfect balance of all the variables that let us consistently attain what is, to our taste buds, perfection in the cup. Curves are your means to that end. A visual way to record any variable that changes over the course of a roast.

    Temperature is the most obvious of these variables – and the one that most home roasters are concerned with. Professional roasters may have others to contend with. Whatever you want to track, curves can accommodate, and are designed to be extremely flexible and easy to modify.

    How do they work?

    Curves contain time-stamped nodes, or setpoints, for values as they change over the course of a roast. The roasting window displays each curve inside the roasting timeline as a colored line graph.

    Each roasting curve you create can be either a “Control” or “Reading” curve. Both operate similarly in Roastmaster, but are very different in what they actually represent.

    Control Curves

    Control curves represent exact values that are constant between changes, and graph as stair-stepped lines. These usually represent a control on your roaster, like gas flow, air flow or drum speed.

    Reading Curves

    Reading curves represent gradually changing temperatures, and graph as a smooth curve. These usually represent a reading from a measuring instrument, like a thermocouple or pressure gauge.

    How Many Curves Can I Have on a Roast or Profile

    You can have as many curves per roast as you wish. Should you need to track two separate temperature readings, along with heat and airflow, Roastmaster can accommodate. If you need to track each of the three burners on your tricked-out gas grill separately, go right ahead.

    How do I create a curve?

    In the main roast console, tap the curve button next to the graph to create a new Data Curve in the roast.

    Simply tap the blue button near the roasting gauge in the roasting console to create a new curve in a roast–the new curve screen will appear. If you want to track temperature, set it to “Reading”, if you want to track a machine control (like heat, fan or gas) set it to “Control”, and enter the maximum value of the control on the roaster. e.g. If you are tracking Amps, and the amp control on the roaster ranges from 1 to 10, set the maximum value in Roastmaster to 10. Tap “Save” to dismiss the curve screen.

    You can define as many curves as you wish per roast. For instance, you may want to create 1 control curve for the heat setting, 1 control curve for the fan setting, and 1 reading curve for the bean mass temp.

    As you roast, simply tap the digital curve readout to enter a value into the currently selected curve. It will appear time-stamped to the current time on the roast.

    To select a curve, tap the roasting graph to select the next curve in your list of defined curves, advancing through the list with each successive tap. When you reach the end of the list, the selection will be empty, allowing easier comparison of the curves in your roast. Tapping the graph again will start over, selecting the first curve in the list.

    The LED readout displays the value of the selected curve at the current time in the roast (in the curve’s color), or the value of a node (in white) if an individual node is selected. You can select individual nodes, either toward the left or the right, by swiping in that direction on the roasting graph while a curve is selected. If a node is selected, altering the LED readout will change the value of the selected node. Once you’ve changed the value of a selected node, the selection will be cleared so you are ready to enter a new time-stamped node when the value changes on your roaster.

    Can curves be defined for repeated use?

    Absolutely! Three different objects can store curves in Roastmaster: profiles, programs and roasts. Curves can be added directly to a roast and modified while roasting, or be inherited by a roast from the profile and/or program that the roast is using to be used as guides for target temperatures, or machine settings.

    A roast makes no distinction where a curve comes from. The roasting console always displays the sum of all curves that reside in these three locations. So, you can create any number of profiles or programs for your roaster, each containing your favorite curves. When you assign one of these to a roast, its curves will be assigned as well.

    Profiles and Programs are designed to store existing, pre-configured curves as a reference in future roasts. For these situations, Roastmaster also provides a snapshot feature for Profiles and Programs, allowing you to alter curve data slightly during a roast as a means of experimentation, while keeping the master Profile or Program intact.

    If, however, you want to record new data to a curve during a roast you should create a new curve within the roast: control curves for machine settings, and reading curves for temperature readings. These can later be copied and pasted into a Profile or Program as a reference for future roasts.

    The end result of using a profile or program with pre-configured curves, is an easy way to store digital “recipes” for achieving constant roast results from batch to batch. When you load a profile or program in a roast, you’ll have its curves displayed in the graph. From there, just create the curves you want to use to capture new data inside the roast, and record the values throughout the roast.

    Incorporating Curve Templates into a Profile

    You can define “Curve Templates” within a profile or program to speed your workflow. Whenever you roast with a profile or program containing curve templates, new blank copies of those curves templates will be created in that roast for the purpose of capturing data.

    So, when defining profiles and programs, the “Curves” section should contain the pre-configured curves, with data you want to match on new roasts, and the “Curve Templates” section should contain templates that will be duplicated in new roasts for the purpose of capturing data in the new roast.

    Can inherited curves be edited without altering the original profile or program?

    Yes. As you roast, you may want to experiment and alter an inherited curve. Roastmaster will create a snapshot of the profile or program, and changes will be made to the snapshot instead of the master. This allows you complete freedom with curves, so tweak all you want.

    Snapshots always know what master they were created from. When the roasting console polls your past roasts to display data, and you have the profile and/or program selectors enabled, both snapshots and masters are considered a match regardless of whether or not their curves are the same as your current curves. For this reason, we advise always having the curves selector button enabled – this will check all curves inside a roast, profile or program against those in your current roast, profile or program (respectively) to ensure that matches are only made with roasts whose curve structures, and their corresponding nodes, are similar to the current structure.

    Manual Editing

    Curves can also be edited with the standard iPhone table view like other Roastmaster variables. Tap on any curve in a table view (or the blue disclosure button if not in edit mode) to show the curve details view. You can change any of the nodes’ values or timestamps, as well as the name, notes, rating, and even display color. Custom colors make it easier to remember which curves are which.

    Copying and Pasting

    Curves can be copied to a dedicated clipboard by tapping the action button at the top of a curve details screen, then selecting “Copy”. You can paste copied curves into a program or profile via the action button at the top of their details screen, or a roast by tapping the middle button in the curve editing wheel.

  • Exporting and Importing Data

    Exporting and Importing Data

    Roastmaster makes it easy to share key data types with other users, or a database between iOS devices.

    Exporting Data

    From the detail view of any of the supported data types, tap the action button in the upper left corner of the screen. You will be presented with the export view. Choose the method you wish to use to send the file:

    • Upload to your Dropbox account
    • Email as an attachment
    • Save the file to your Roastmaster documents folder on the iOS device, for later distribution via iTunes File Sharing

    Importing Data

    Roastmaster makes iOS aware of the file types it supports, so a data import can be initiated anywhere on your device that you encounter one of the supported files, such as a web page in Safari, your Dropbox app or email attachments. To initiate an import, simply tap the file, and choose to open in Roastmaster. Roastmaster will launch and present you with the import view.

    Details About Data Types

    Profiles

    Export: Profiles are exported as a .pfe file from the profile’s detail view. You can opt to include or exclude any snapshots associated with it.

    Import: Profile (.pfe) files can be imported into any roaster in your database as either a profile or program.

    Programs

    Export: Programs are exported as a .pge file from the program’s detail view. You can opt to include or exclude any snapshots associated with it.

    Import: Program (.pge) files can be imported into any roaster in your database as either a profile or program.

    Curves

    Export: Curves are exported as a .cve file from the curve’s detail view.

    Import: Curve (.cve) files can be imported into any profile or program.

    Roasters

    Export: Roasters are exported as a .rse file from the roaster’s detail view. The exported file will include all of the original’s profiles and programs. You can opt to include or exclude any snapshots contained in its profiles or programs.

    Import: Roaster (.rse) files are imported into the live database.

    Databases

    Export: Databases are exported as an .sqlite file from the database’s detail view.

    Import: Database (.sqlite) files are imported directly into Roastmaster’s list of databases.

    Note: some email services are not friendly to SQLITE database files, and may erroneously encode their MIME data. If you are emailing database copies as a backup, please test with your email provider to ensure that your MIME attachments are handled correctly.

    Using the database import/export feature is a great way to share a database among all of your iOS devices, or to easily create offline backup copies to protect against accidental data loss. From the home screen, tap to open the drum door, then choose “Export current database…”. Simply choose your desired destination.

    To import, simply tap the icon of the file anywhere you encounter it in iOS (for importing from Dropbox, navigate to the file in the iOS Dropbox app, tap it, then tap the action button and choose “Open in Roastmaster”.)

    When importing a database, if the name of the database is the same as the current database, Roastmaster will give you the option of replacing the current database, or renaming the imported database.

    Label Definitions

    Export: Currently unsupported

    Import: Label template (.xml) files are imported directly into Roastmaster’s list of label definitions.