Developing Reports for Roastmaster iOS app

Several months ago I decided to try to develop my own reports from RoastMaster data. I contacted Danny Hall, the app’s developer, on the Roastmaster app forum for advice on creating queries from the database. The database management system that Roastmaster uses is SQLite which is commonly used in web applications and other small applications where it is desirable to have the DB embedded in the application rather than running as a separate process. The app user’s database is easily exported on an iPad to the user’s dropbox account. I did some of my development work on my PC primarly using a free application called SQLiteStudio. It is very easy to use. The only shortcoming is there is no printing fuctionality whatsoever. In fact, none of the free applications for SQLite seem to have that feature! Because of this, I am currently using the SQLite3 command line tool to create reports. The tool runs in a windows command window and uses “dot” commands. .help shows a list of commands. You can enter the command line interface from the windows command window.

sqlite3 rm.db

enters and loads the rm.db database, my Roastmaster database. I renamed it from My Database.sqlite, which is the default name after the database is exported from Roastmaster.

The SQLite logo as of 2007-12-15
The SQLite logo as of 2007-12-15 (Photo credit: Wikipedia)
Enhanced by Zemanta

RoastMaster–New beta version

I’m testing a new version of RoastMaster that is out in beta. Puddie has been testing it and suggested to the developer, Danny, that I might like to do the same. Danny is extremely friendly and gracious and really seems to want to please his users and make the app as good as possible. It is already very good. I need to study the improvements so that I can specifically test them.  Here is a list that he sent to us:

New Features

User Interface

  • A more simple, open design
  • Improved typography
  • Improved iconography
  • Support for iOS 7 dynamic text sizing
  • Notes for all items are now edited via a spacious, dedicated full-screen editor
  • Activities are displayed with easy-to-understand activity icons


  • New inventory report
  • Copying a roast now includes the profile and program
  • 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
  • All buttons are easier to tap
  • Dedicated keypad for editing node values and times
  • Turn a roast into a Profile or Program
  • Better curve comparison for past roast matching
  • Roast age in days and hours since roasting is now displayed for cuppings in two ways:
    1. The days between roasting and cupping date is shown in the main table
    2. The days between roasting and the current date is shown by tapping the clock button in the “Cupped Items” section of the table
  • Ability to condense or expand an existing curve by intervals of 15 seconds
  • Roasts, Blends and Cupping now show the countries of their items in the header
  • Roasts, Blends and Cuppings can now be searched/filtered by country
  • Two-finger tap on the main roast console graph to select a curve from a list of all curves


  • Support for Bluetherm Duo Probe (hopefully)
  • Support for iCelsius BBQ Probe (hopefully)

Roast Analyzer

  • Live temperature projection
  • 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
  • Customizable delta times: define up to three separate custom deltas to report for the selected curve or node
  • More accurate delta times for data logging users (deltas are calculated from recent probe readings – accurate to 1/2 second)
  • Easier curve selection via one of two new methods:
    1. Tap directly on a curve to select it in the same way you would select elements in a drawing program.
    2. Two-finger tap anywhere in the graph to display a list of curves, grouped according to the current targeting mode
  • Curve targeting mode lets you choose which curves are displayed: either profile/program, past roast, all or none.
  • Labels for crack and duration milestones, current temp of curves, all or none
  • Preference for alerts to remind you to enter temperature nodes at a customizable interval
  • Ability to show a margin around the graph
  • Multifunction crack buttons. Tap once to enter the start time, tap again to enter the end time. Subsequent taps will give you the option to clear the stored times, or extend the crack duration.
  • Ability to independently show or hide grid line markers for either the X or Y axis via a preference setting that also allows any level of transparency.
  • Ability to have control curves graph with a reduced vertical height, locked to the bottom of the screen via a preference setting – leaving the top area free for reading curve analysis
  • Selected curve remains selected when swiping through past roasts
  • Analyzer display is calibrated to minutes, and remember the last used setting between views