UPDATE:
made some UI changes last night/today based on some feedback, and got the add/remove/edit portion of recipes implemented as well.
http://imgur.com/a/X7rMp
Next up on the todo list is an ingredient/inventory editor, recipe addition/removal/subtraction, and getting all of the data loaded from XML files.
Hi folks,
Hoping to get some UI input from the mac folks who are into the DIY scene. I know there are a ton of calculators out there, but I haven't seen any native mac ones at this point, so I've begun working on my own. I've included a screenshot of what I have so far -- hoping for some feedback with the design so that hopefully I can give something back to the community who's educated the shit out of me. I've still got a lot of work to do..I'm hoping to have all of the add/remove/edit functionality finished up by the weekend..I've been working on this for a couple of days and figured it's functional enough now for some feedback.
The data model is pretty simple..ingredients make up recipes..recipes combined with your UI value inputs affect the mixLab panel in the bottom.
screenshot: http://imgur.com/LL5STiD
I feel like my data model is relatively solid....here are my current data types:
Ingredients:
- Name
- Manufacturer
- Base (PG/VG)
- Gravity
- Cost per mL
- Strength (for Nicotine)
- Notes
Recipes are comprised of an array of ingredients and add the following properties: Recipe Name / Author / Date / Description Percentages (for flavors) Temperature (for those who mix some flavors/ingredients at certain temps) Sequence (for those who believe that order of mixing is relevant) Recipe Level Notes
Thoughts?
First off, great job, making an app is a lot of work and can be a lot of fun when you have an invested interest.
To answer your question, if you want what's trending in UI design then you'll want to learn about minimalist design and implement with that in mind. Busy flows make people cringe these days and yours is looking busy, not bad, just busy.
Now a question for you that may open up something to consider: why not go with a web implementation? The reason is that there are tools (like node WebKit) that can package your web tool as a desktop app for all platforms, yes including Linux. So you can code it once and offer it across the board? Once that's all said and done you can get other tools, (Cordova, Phone Gap) and port the same code to all mobile, yes including windows and BlackBerry 10. Now your app works on web, all desktop platforms, all mobile, and of course tablets. Drops the mic and walks away
I considered that and may do something similar at some point. Honestly there are a LOT of really good web apps out there already, I was just looking to do something OSX native, and the language that it's in allows me to pretty easily port it to a native iOS app at some point if i choose to.
I agree the UI needs some work. It feels like an excel spreadsheet. Also sliders are fairly annoying on anything but a touch screen so text box alternatives would be nice.
I took your advice on the input -- the sliders are still there but are optional, I prefer to use them when sorting out my Ratio and I have the sliders configured to auto adjust PG when VG is slid and vice versa..the nic slider may be removed at some point, I haven't decided yet. It's a bit difficult to get rid of the spreadsheet look as tables are really required to properly show the data and show it in a format that is logical. I may play with the view of the table itself some, but here's an update as to what I've changed the main UI to:
http://imgur.com/a/X7rMp
Looking good. Just from observing the single screen shot, I'd say that chaning the "Target eliquid Amount" to an open text field is better than a dropdown. Reason being: a lot of the time, bottles can really max-out at 30ml and need some bubble space for shaking. I usually mix a 30ml bottle with 28ml of finished juice, just so I have some room to shake.
So, is this app going to come with a pre-loaded database of flavors? Or do we have to input our flavor library manually?
I agree with this. I always mix a little under the actual bottle size (i.e. 230ml in a 250ml bottle if I'm making a big batch).
Additionally, I play a little fast and loose with the VG/PG ratio. My nic and flavorings are all PG, and my base is always VG, usually leaving me with around 85/15 VG/PG. In other calculators, I have to fudge this by claiming that all of my ingredients are VG based. I don't know how your logic is set up, so this might be too much of a rewrite, but it would be great to have "unlocked" VG/PG ratios. I.e., set your percentages for other ingredients, and then simply assume that only one base will be used. Other than that, I'm digging the layout. All of the critical info is right there, without some of the unnecessary fluff I've seen in other calculators.
Great part about the ComboBox control in swift -- you can type in any number and it accepts that as well. Doesn't have to be chosen from the presets, they're just preloaded with 5/15/30/50/120/240/500 or whatever for easy picking
The target liquid amount can be typed in manually into the ComboBox -- the NSComboBox control allows manual user input, so that's definitely doable.
I'll ship the app with a pre-loaded DB of all of the flavor concentrates I know of, but the DB itself will be editable with a UI so that you can enter your own costs and such in, or you'll be able to just edit it with notepad as it'll be either XML or JSON, haven't decided on a storage model yet.
It'd be nice to have a whole bunch of defaults. Defaults on size and price for flavourings purchased. Default on Nic, % used, PG/VG mg/ml. Also default on concentrate % used in a recipe. Eg, Pineapple I always use at 1%. Default on Quantity made. Of course, all can be changed.
Is there an API for ELR? It'd be nice to see their notes, max and min %'s used by the larger community from within your app.
Dropdown for concentrate vendors, ELR can be a mess, with ability for custom, such as when making 'flavour bases'.
What will a native Mac OS app have that a Node/Electron/Python app won't?
I like it a lot. If you need a mac beta tester, shoot me a PM.
I love the cost factor, and the overall UI looks really good. If you need a tester, send me a PM. I have my calculator done in excel with a pivot table, but this would be an excellent upgrade.
Edit: One thing i would add is a flavour database. I sometimes like to give a recipe a kick of something while I'm mixing, and having a way to add a flavour to the recipe on the fly could be useful. Or the ability to create recipes from a different interface with categorized flavour (berry, citrus, bakery, etc.)
You'll be able to for sure -- I've been doing some additional code tonight and my caffeine is kicking in now so i'll likely be up most of the night doing more lol. the screenshot below should indicate how you'll add/edit ingredients to a recipe:
http://imgur.com/ShO8J5r
clicking the gear on an ingredient will allow you to edit it for that recipe, and the +/- will remove selected ingredients or add an additional ingredient from the ingredient library. My plan is to ship the app with a full ingredient library with all of the flavor concentrates from the top manufacturers (TFA/FW/FA/LA/etc) -- might need some help crowdsourcing all of that data but that's probably 3-4 weeks away. My goal is to have the app 'functional' with all of the save/editing functionality done by the end of next week. If i could spend 8-10 hour days working on it I'd have it done by early next week, unfortunately I have to spend those 8-10 hours working on work apps instead, this one's just a hobby ;)
I could port this to Windows using C# with WPF with your permission
I plan on open sourcing it when I'm done. I'm not looking to make anything off of it so by all means if you'd like to, go for it. That being said, there's a really good Windows app out already, botboy references it in his mixing by weight thread.
What site did you use to figure out the formulas for all the ingredients? Currently I have for the nic
requiredNic =TargetBottleSize × TargetNicPercentage
requiredNic = requiredNic / NicMGPerML
This looks both awesome and exactly like something I would use on my Mac. Please let me know if you ever start to distribute or sell it. Currently I'm running with one in excel.
Will there be an area in which you can write notes? Maybe something that lets you add sub recipes for variations on the same recipe?
Really though, awesome job.
Ironically enough insomnia got the best of me tonight and I finished up the recipe ingredient editor..one of the things I'd provisioned for was Notes at the Ingredient, Recipe, and Recipe Ingredient level...
Here it is in action: http://imgur.com/2QhA5ON
Fantastic. It did make me think though. I already have dozens of recipes that I've made. Obviously most aren't great, but there are some that I really liked and make often. Consider making a feature where you can favorite particular recipes and be able to sort through your library with those separated for easy access. Especially considering how some people will literally have hundreds.
Oh, and I know this is a lot more work than necessary, but if you were able to include a reference section based on the notes found here in the side bar for each individual flavor profile, that would be incredible. That's an extra, and likely unnecessary, addition, but I figured I'd mention it. It would be nice not having to go to reddit or the internet to look it up while working on a recipe.
Could the flavor notes be shown when clicked on the flavor in a column or box rather than in a pop up? The app looks very clean tho. I'm definitely interested.
Great project! Definitely needed! You could maybe add dilution or base system, where users can predetermine certain bases or flavor dilutions? making it easier to use them in multiple recipes etc.. just an idea
Any update on this? Is it available yet? I was hoping to use this when I mix up my first batch by weight.