Tag: Roastmaster

  • Expanded Curves

    Expanded Curves

    Figured a take a minute and let everyone know what I’m working on at the moment. I’m wrapping up work on expanding the concept of curves to include temperature data collection.

    Turns out there are a lot more people using thermocouples than I thought. For them, the concept of roasting curves is a little lacking. Curves were designed to provide a way to record the settings you adjust throughout a roast – i.e. roaster controls. I had always planned on implementing temperature reading curves in addition to control curves, it was just a little further down on the list (along with a full screen graph – more on that in a moment). I’ve received a lot of email feedback on the subject, and happy to report that temperature curves are now my main focus.

    So… thanks to everyone for the email feedback – and suggestions. The next update is close to being done. Unfortunately, Apple is closing the iTunes Connect portal that developers submit to on Thursday, and it won’t reopen until the 28th. I should be able to submit the update after that. Then we’ll just have to wait through the usual approval process – probably a week.

    So, what’s new? Temperature reading curves, mainly. They can operate in either Celsius or Farehnheit, and are the same entities as the existing control curves. They can be assigned to profiles, programs or a roast. They only two main differences beyond the existing control curves are: they are exempted from past roast matching (since they are readings and not controls) and they graph as a standard line graph (connect-the-dot style as opposed to stair-stepped style). If you’ve been entering your temperature readings in curves as you roast – all you’ll have to do is tap a toggle switch on each of these curves to convert them to the new temperature reading style.

    If you’re left wondering how you’ll fit all those readings on the minimal screen real estate of the graph, don’t worry. Help is on the way. This is going to have to be accomplished over the course of a couple of updates. The upcoming update will introduce a preference setting for the default graph time. This is an interim solution for those anxious to start collecting temp data. You can set the graph to display any interval from 1 to 30 – and should go a long way to eliminate node-congestion on the graph for shorter roast times.

    After this update, I want to turn my attention to creating a full screen graph. A zoomable and pan-able graph that will take over the screen whenever the device is rotated to the horizontal orientation. I think this will be a fast and intuitive way to clear the screen of the details of a roast and let you concentrate on the data. This has been in the plans for Roastmaster since the beginning – it’s exciting for me to finally be to the point of making it happen.

    Here are a few screenshots from the upcoming update.

    As always – let me know your thoughts on Roastmaster.

    Danny

  • Version 2.0

    Version 2.0

    Hi all!

    Most of you have already updated to version 2.0. Hopefully you’ve had to a chance to explore some of the new features, and find them easy to use. I was very happy with the way curves fleshed out in the long run, even if it took a bit of back-tracking in my design approach. I wanted them to be intuitive and flexible, and above all – easy to use. Sorry for the wait!

    Here’s a punch list of the new features/changes in Roastmaster 2.0…

    • Roasting Curves
    • Expanded Profiles and Programs
    • Profile and Program Snapshots
    • Benchmark Past Roast Matching Mode
    • iTunes File Sharing
    • Editable Cupping Dates
    • Post-Roast Weight Field
    • Alarm Dispatch to OS in iOS4 (so you will be notified if the phone is put to sleep)
    • Improved Roasting Graph
    • Setpoint Alerts for Active Curves
    • Bug Fixes

    A few words about iTunes files sharing… I realized after release, that this is completely undocumented, so here’s how it works. If you’re running iOS 4 and the latest iTunes, while your iPhone or iPod touch is connected, navigate to the “Apps” tab of the device in iTunes. At the bottom, in the File Sharing section, you should see Roastmaster. Select it, and you will be able to copy either the Databases or Backup Databases folder to your desktop. Inside this copied folder, you will find your Roastmaster SQLite database(s).

    If you ever have the need to copy a database back to Roastmaster, simply drag one or more database files (not the folder itself) into the root level of “Roastmaster Documents” in the iTunes window. They should end up listed with the other folders. Roastmaster will find it the next time you launch the app (it must be a fresh launch – not an awakening from background), and will import it as a live database.

    This probably goes without saying, but for those of you familiar with SQL databases, or anyone for that matter, do not modify the database outside of Roastmaster and attempt to use that copy with Roastmaster again. This feature is only intended for backing up databases for safe keeping, sharing databases, and for those that wish to broadcast or export their data to other sources.

    I plan on posting again in a few days about the immediate future plans for Roastmaster, so drop back by soon. And please let me know how the new features are working for you. I’m anxious to hear!

    Cheers

    Danny

  • Database backups

    Database backups

    Probably the second-most requested feature is the ability to export a Roastmaster database for either safekeeping or to use for other purposes. Taking a small break from roasting curves, I finished the coding for this feature tonight.

    In addition to its own internal backups, and the backups that are created when syncing with iTunes, Roastmaster now supports file sharing via iTunes. You can copy your Databases or Backup Databases directories from you iPhone/iPod Touch/iPad to your computer via iTunes. Inside these copied folders, you’ll find the sqlite database files. Should you need to reimport them later, just copy them back to the shared folder and Roastmaster will import them at the next launch.

    This feature will be available in the next update.

    Cheers!

  • Roasting curves progress

    Roasting curves progress

    Figured I’d take a break from coding tonight to post an update on roasting curves. They are basically completed, and in the beta-testing stage. Though it’s not ready to release yet, it getting close. I took a slightly different path than the one I originally started out on, but the result is something that I feel is even better than I had anticipated.

    Based on the feedback I’ve received, people like the roasting interface.  I struggled to add what, in actuality, is a very complex concept, in a way that is unobtrusive to those that don’t need it. The premise of any good iPhone app is simplicity. Roastmaster is certainly not a simple app, but I’ve tried very hard to keep it looking and feeling as simple as possible. I’ve tried to carry that over into the implementation of roasting curves. Take a look at the progress so far.

    Default roasting console showing 1 selected curve
    Default roasting consol showing 1 selected curve
    Roasting screen with the gauge in curve entry mode, and graph in benchmark mode
    Roasting screen with the gauge in curve entry mode, and graph in benchmark mode
    Roasting screen with the gauge in curve entry mode and 1 node selected
    Roasting screen with the gauge in curve entry mode and 1 node selected
    Curve details view

    The concepts behind curves are simple…

    • Any roast, profile or program can contain as many curves as you like
    • Each curves can contain as many nodes as you like
    • Nodes can be entered in one of three ways… by dragging the silver ring around the gauge (when in curve mode), tapping and entering text into the digital temp readout (will be timestamped at the moment of editing), or by accessing a dedicated table view like other Roastmaster variables.
    • Tapping the new gauge mode button will toggle between the standard gauge mode, and curve mode (the gauge shrinks to half-size, encompassed by a draggable temperature ring, and three curve editing buttons). Tapping the mode button again will return it to the standard mode.
    • Each curve has a customizable maximum value variable (500 is default). This will allow you to track either degrees or arbitrary values (such as tick marks on a gas grill, or stove, etc.)
    • Whole curves and individual nodes can be selected and modified from either the roasting console, or via a dedicated Curve view like other variables.
    • Curves can be copied and pasted between roasts, profiles and programs

    Hand in hand with the new curves, I’ve beefed up the graph view to support the addition of curves. It’s finally become more what I envisioned when originally designing it. I shared many of your thoughts on the shortcomings of the graph view and set out to fix them on this release.

    • The graph view now displays all of your curve data. The selected curve is filled with a transparent version of its unique color, and stroked thicker than any other unselected curves, with visible nodes. Unselected curves are visible, but with a thinner stroke, and no fill color or nodes.
    • Tapping the graph view toggles the selected curve – stepping through all of the curves with successive taps.
    • The graph view now displays duration data of the roasts it is previewing, in addition to 1st and 2nd crack data
    • It now also displays past curve data as well, at a user-definable transparency setting
    • The graph can now function in “Benchmark” mode. Tapping the blue magnifying glass icon in the selector strip above the graph will put the graph into benchmark mode. You can manually select as few or as many roasts as you like to be displayed in the graph. This gives you ultimate control over exactly what data and what roast you are trying to match. This is a very powerful and much-needed feature.

    I’m still a few weeks away from finishing up testing, and final tweaking on roasting curves and benchmark matching. This is my number 1 priority until it’s finished. I need to tie all of this into Roastmaster’s automatic past roast matching algorithms, but I don’t anticipate that being terrible difficult. To those of you waiting… thanks for your patience – I believe it will be soon!!

    Also – I want to thank everyone who’s contacted me with kind words, requests and suggestions. I take all of your suggestions to heart. Roasting curves is by far the biggest feature request, so naturally, the one I tackled first. Having access to the database is a close second. I am trying to get that taken care of in the next release as well.

    If you use Roastmaster, and like it – please spread the word!

  • Planning Roasting Curves

    Planning Roasting Curves

    Now that version 1.1.0 is up and running on iOS4, it’s time to shift efforts to what I knew would be the number 1 feature request for Roastmaster – editable roasting curves.

    Believe me, I’ve given this a lot of thought – even back to the initial steps in development. While working on Roastmaster, I laid all of the groundwork necessary to make sure this first big new feature could be implemented as easily and quickly as possible. It’s no small undertaking, given that all of the home roasters have different ways of dealing with heat curves. Some, like my beloved Behmor, have profiles and programs hard coded that are not editable. Some, like the Hottop allow you to save your own custom profiles, with roasting curves preserved from roast to roast. Others, like the Genie Cafe, or even tricked-out BBQ grills, are completely manual – allowing you free control, but no programmability. (This is from research only – I only own an Alpenrost and Behmor, so please correct me if I’m wrong)

    This brings up a lot of questions about how profiles are saved for individual roasters. For instance, when I roast 400g of Ethiopian Yrgacheffe in my Behmor on profile 2, I can rest assured that that profile is the same exact profile I roasted with when I first purchased the roaster – it can’t change. A hottop owner, though, may have changed  that profile many times over the life of the machine, so the profile and any associated curves in Roastmaster must be unique to each roast, instead of shared between them like profiles and programs are at the moment. I have plans on how this will be handled in the completed version, but I do have some questions for users who are anxious to see roasting curves.

    Let me start by explaining the track I am on at the moment. The roasting console view shows a small graph with a timer wiper. I’m thinking that, when viewing the roast console, if the device is rotated to landscape orientation, the graph will zoom full screen, with condensed versions of the start/stop button, 1st and 2nd crack buttons, and the timer. With the graph occupying the full screen, there is room to comfortably add a control strip for roasting curves. Curves plural? I think so. Most home roasters will only have need for 1 heat curve, but BBQ grill roasters might have 2 or 3 different burners to contend with – and possibly benefit from curves for each. The larger screen real estate should make it quite comfortable to scroll, zoom, add and delete curves, and adjust points on those curves by dragging them. The graph might optionally display very light representations of past roasting curves, superimposed on the background, to give you an idea of what curves you used for past roasts. This is how I had envisioned the graph to function, so I’m excited to finally be working on it!

    Once a roast is complete, the action button at the top left of the standard roast console (once you rotated the device back to portrait) would give you the option to export that setting (time and curves) to a Roastmaster roaster as a stored profile if you planned on doing the same on your roaster appliance.

    I’m asking for input because, well, first of all – users are the majority vote in this app, not me, even though I use it every time I roast. More importantly, though, I don’t own any of the roasters that would benefit from roasting curves, so I want to see if my thinking is in line with how you think they would best be implemented. Please give me any comments, thoughts or suggestions you have – and especially any corrections if my research on the roasters mentioned is not accurate.

    I’m all ears…