Brewtarget / brewtarget

Main brewtarget source code repository.
GNU General Public License v3.0
315 stars 134 forks source link

UI clean up #193

Open rodrigoA opened 8 years ago

rodrigoA commented 8 years ago

Hi,

I have some ideas and I'm already making some changes on the UI. To sumarize:

My proposal is not to change functionalities, but enhance those that already exist by making the UI more consistent.

As a homebrewer I would like to contribute and this kind of work (UI/UX) I like.

I have some questions, maybe you guys can help clear them out...

  1. Why some displays have a Cancel button and others don't?
  2. Why an "Off" icon was used on Cancel button?
  3. Why on Tab Recipe, there is a dropdown to choose the style and after that a push button is used to change the style details? Couldn't we use a dropdown to pick a style and then an edit button to edit its details?

Thank you,

Rodrigo

mikfire commented 8 years ago

I would welcome any help from somebody better at UI/UX than I am. I think there is a lot we could do to bt to make it better, and to lessen the learning curve.

I honestly have no answers to the first two questions, even though they are good ones.

The third one I can address a little. The drop down list and the push button are actually acting on two completely different elements. When you assign a style (or equipment profile, or hop, or almost anything else), brewtarget creates a copy of that item and assigns the copy to the recipe.

The dropdown box, then, makes a copy and assigns that copy to the recipe. The push button edits that copy. This is one of the more confusing aspects of brewtarget and I have no idea on how to make the concept clearer.

Mik

On Mon, Feb 15, 2016 at 6:47 PM, rodrigo notifications@github.com wrote:

Hi,

I have some ideas and I'm already making some changes on the UI. To sumarize:

-

UI Improvements and clean up

1.

Keep the frames, but reduce the layout borders. We will gain some space, but mainly a more clean visual. 2.

Make the state of buttons reflect the current selection: - It is possible to select more than one cell for different rows, although it is not possible to edit those items simultaneously. So, if the user do this kind of selection, we could disable the edit button. - Disable the edit and remove buttons when there is no selection. - The same goes for all other displays. 3.

Tables would like better if the columns fit the table width. 4.

Implement context menus and shortcuts for tables (Fermentables, Hops, Misc, Yeast, Mash, etc ...) 5.

Make Extras and Brewday tabs internal layout consistent with the Recipe Tab. 6.

Make consistent the layout of all displays triggered from the toolbar and some of the "Tools" menu.

My proposal is not to change functionalities, but enhance those that already exist by making the UI more consistent.

As a homebrewer I would like to contribute and this kind of work (UI/UX) I like.

I have some questions, maybe you guys can help clear them out...

  1. Why some displays have a Cancel button and others don't?
  2. Why an "Off" icon was used on Cancel button?
  3. Why on Tab Recipe, there is a dropdown to choose the style and after that a push button is used to change the style details? Couldn't we use a dropdown to pick a style and then an edit button to edit its details?

Thank you,

Rodrigo

— Reply to this email directly or view it on GitHub https://github.com/Brewtarget/brewtarget/issues/193.

In a world of ninja v. pirate, I pilot a Gundam

rodrigoA commented 8 years ago

Got it. Thank you for the answers.

Could we use currentIdexChanged (signal ) for the combo to make the copy you mentioned @mikfire ? So, everytime the user changes, let's say, the Style it makes the copy, and then an edit button (we already have for other displays) will trigger the edition dialog for the chosen style.

idea

Not a big change, but for me, as a new user, it looks more intuitive that I'm editing that style. Therefore, it is still not clear that it is a copy.

Well, just ideas ..

theophae commented 8 years ago

@rodrigoA I had this in my mind since I've started to use Brewtarget. This should be changed for all this kind of field. Do not hesitate to suggest a pull request with this change :-)

rocketman768 commented 8 years ago

@rodrigoA looks like a better interface to me if you make it work. It's not inadvertently inserting new entries into the database is it? I can image that when you programatically set the combobox index based on the recipe that a signal from the combobox might trigger another equipment copy.

rodrigoA commented 8 years ago

@rocketman768 not there yet, but will keep it in mind.

theophae commented 8 years ago

The solution would be to delete the copy every time the equipment or style is selected. This means any modification on the local copy is lost, but it seems perfectly logical.

Another general point about the UI: Could it be possible to make Brewtarget looks the same on every platform ? I'm using it under Gnome Shell and it looks not so good. This would avoid a lot a small display problem. I don't know if it is an easy thing to do, but it would be great.

rodrigoA commented 8 years ago

@theophae We could tweak the configuration of the components (borders, frame style, etc ...) in a way to have a look that is not too different between plataforms. Personaly, I would like to see a GTK look and feel when using my Fedora station, and also would like to see a Windows look and feel when using windows. Answering your question: Yes, we can do that by setting a style to the application (QApplication::setStyle(QStyleFactory::create(< style >))).

theophae commented 8 years ago

If we can tweak the interface so that the border and margin are smaller in GTK it would be really great.

rodrigoA commented 8 years ago

Hi,

Now I'm dealing with calculators under the "Tools" menu. There is a mix of dialogs that use a button "Calculate" to do the math, and others just do it automagically when text is changed.

There are some advantages and disadvantages on each approach, but I'm removing all "Calculate" buttons for the given reasons:

What you think? Agree? Disagree? Why?

rocketman768 commented 8 years ago

:sunglasses: do it. The simpler the better.

rodrigoA commented 8 years ago

Hello!

I kindly ask any of you to clarify some aspects of Mash, Mash Editor and Mash Design.

  1. Is there any specific reason for not having a Explorer Tree for Mashes as we have for Equipments or Styles?
  2. For a given recipe we cannot edit the equipment being used and at edition dialog add a new one, since the options to remove and add are disabled. I personaly like the way you guys did it. On the other hand, it is possible to create a brand new mash on the fly, but only in the "Mash" tab. It is not possible to create a new "Mash" sequence if we trigger this option from the toolbar.
    I'm just asking about this, because I had to play a little bit to understand how that part works. Is there a reason for that?

What you think about moving this mash option to the "Recipe" tab like this:

mashrecipe

Why, you might ask, the reason is to keep it consistent with the other two neighbors:

toolbar

This way we could add as many mash profiles we want through the very cool Mash Designer, if triggering the option from the toolbar. If the user triggers it from the recipe (as shown in the picture above), we could add the mash steps, edit existing mash steps etc . . .

To do all the above, if you guys like it, I need know (question 3)

  1. What does the Mash Wizard do? The version I have only asks for "Mash Thickness".

I also would like to unify the NamedMashEditor with MashEditor dialogs. They basically have the same information.

Well these are some ideas.

So the resulting dialog will have almost the same look and feel the remodeled Equipment and Style Editor:

equipementspng

styles

This is the first draft. Suggestions and critics are welcome :)

draftmashprofiles

\ Edit: The CANCEL** buttons will be removed due to #198

THank you

Rodrigo

mikfire commented 8 years ago

I will answer the last question first, because it is easier. The mash wizard simplifies creating a single-infusion mash. Create the first step with only your target temperature, click the mash wizard and give your preferred thickness. The mash wizard will then figure out the volumes of water needed for a single infusion and a single batch sparge, as well as temperatures. It can be more complex than that, but that is how I tend to create mashes.

There are a few reasons why there is no mash tree. None of them are good, but they are why I didn't implement.

I find the named mash feature to be confusing enough that I simply don't use it. I create an unnamed mash schedule for each recipe. So for me, the mash tree would be empty and cluttering up the screen. An unfortunate aspect of open source projects is that I work on what provides me value, and hope other people find it useful. Since I would derive no value from implementing it, I haven't.

I wasn't really sure how to display the information intelligently. I created the trees long before I added the subfolder feature. Without some concept of a subfolder (for example, how brewnotes are shown on a recipe), there was no good way to display the information in a tree. I could likely do it now, but it would take a significant amount of effort for a feature I don't use.

Finally, I really want to redesign the mash interface. Almost every person I have asked has said how confusing the mash editor is. I remember I found it horribly confusing for a long time. Unfortunately, I've written too much code around it and I can no longer remember what confused me. (I wonder if it was the named mash feature?) The problem is that I haven't figured out how to redesign it. Until I do, putting effort into the mash tree doesn't seem a good investment of my limited time.

Mik

On Mon, Feb 22, 2016 at 11:00 PM, rodrigo notifications@github.com wrote:

Hello!

I kindly ask any of you to clarify some aspects of Mash, Mash Editor and Mash Design.

1.

Is there any specific reason for not having a Explorer Tree for Mashes as we have for Equipments or Styles? 2.

For a given recipe we cannot edit the equipment being used and at edition dialog add a new one, since the options to remove and add are disabled. I personaly like the way you guys did it. On the other hand, it is possible to create a brand new mash on the fly, but only in the "Mash" tab. It is not possible to create a new "Mash" sequence if we trigger this option from the toolbar.

I'm just asking about this, because I had to play a little bit to understand how that part works. Is there a reason for that?

What you think about moving this mash option to the "Recipe" tab like this:

[image: mashrecipe] https://cloud.githubusercontent.com/assets/3500393/13240787/31a32706-d9c4-11e5-841c-e087d6b7bd60.png

Why, you might ask, the reason is to keep it consistent with the other two neighbors:

[image: toolbar] https://cloud.githubusercontent.com/assets/3500393/13240874/05e3cce6-d9c5-11e5-9022-451696cd8d66.png

This way we could add as many mash profiles we want through the very cool Mash Designer, if triggering the option from the toolbar. If the user triggers it from the recipe (as shown in the picture above), we could add the mash steps, edit existing mash steps etc . . .

To do all the above, if you guys like it, I need know (question 3)

  1. What does the Mash Wizard do? The version I have only asks for "Mash Thickness".

I also would like to unify the NamedMashEditor with MashEditor dialogs. They basically have the same information.

Well these are some ideas.

So the resulting dialog will have almost the same look and feel the remodeled Equipment and Style Editor:

[image: equipementspng] https://cloud.githubusercontent.com/assets/3500393/13241124/16d828d8-d9c7-11e5-8109-beb471b97732.png

[image: styles] https://cloud.githubusercontent.com/assets/3500393/13241136/2883cf9c-d9c7-11e5-9181-8f39e1fa0c26.png

This is the first draft. Suggestions and critics are welcome :)

[image: draftmashprofiles] https://cloud.githubusercontent.com/assets/3500393/13241330/9dc5f98c-d9c8-11e5-958f-f5009e19f102.png

THank you

Rodrigo

— Reply to this email directly or view it on GitHub https://github.com/Brewtarget/brewtarget/issues/193#issuecomment-187515612 .

In a world of ninja v. pirate, I pilot a Gundam

theophae commented 8 years ago

From my point of view, the mash editor is a bit inconsistent as is and I also prefer to treat mashs like equipments. Currently Brewtarget allows to save mash, but it is not natural at all. I aslo think that the the mash thickness should be saved somwhere so that it can update automatically (or with one button pushed if too heavy).

Regarding the water addition for the mash-in, I'd like to have a parameter that indicates a constant amount of water to be added at mash-in in addition to the water calculated for the mash thinckness. This need comes from the fact that my equipment (~30L) has nearly 8L under its false bottom, and because of that, I needs to play every time with the mash thickness value to get those liters. I think that the best place for adding these parameters is in the equipment editor because this volume under the false bottom and the value you usually choose for the mash thinkness is closly linked to you brewing process. The mash thickness value set in the equipment should be taken as the default value, but it must be possible to change it in the recipe to be flexible.

Sorry for this off topic, I would create a new enhancement topic for this point if you prefer.

@rodrigoA : I am very happy with all your suggestions.

rocketman768 commented 8 years ago

@rodrigoA suggestions look good to me. The manual has info on how the mash wizard works if you still have questions.

Also, are you actively coding this? If so, will you submit a pull request with "[WIP]" in the title so we can see your work and try it?

rodrigoA commented 8 years ago

Sure. I'm actively coding, but I had to rollback my changes for the mash wizard. Sadly, it became more complicated than I thought and need study the code a little bit more to do accomplish what I've described before. The other dialogs are just fine. [WIP] == work in progress ?

mikfire commented 8 years ago

@rodrigoA, I don't know if this will help but I it may. I spent some time figuring out how the mash designer works, and I usually try to document when I do that. It is for the designer, not the wizard so it may not apply.

The interface is arguing with me, so here's a dropbox link

rocketman768 commented 8 years ago

[WIP] == work in progress ?

Correct

onesnzerosimon commented 8 years ago

"Make Extras and Brewday tabs internal layout consistent with the Recipe Tab."

I like this, much better if the brewer can make notes easier, without clicking too much :)

rodrigoA commented 8 years ago

@onesnzerosimon Where did you pick this quote from? Would you mind to elaborate a little bit? I`m not sure I got the "whole load of info" part.

:)

onesnzerosimon commented 8 years ago

sorry, i goofed on the cut and paste for some reason… fixed. I like the idea of having my notes at hand… less clicking to get to them at least. Also, if I AM on the "Extras" tab, but I'm scrolled down, say, to view the "Carbonation Volumes" field for example… the "Notes" tab is now off screen. I feel it should be beside the Recipe, Extras and Brewday tabs.

I have a few ideas, i need a few moments to mock something up.

pricelessbrewing commented 6 years ago

Some things I would like to see changed in the UI at some point.

Left pane ingredients: Should be able to add or remove any columns that an ingredient can have, so that you can sort for hops you have in inventory, or hops that have high amounts of humulene etc. Similar for grains, Would like to sort by diastatic power, inventory, or yield.

Similar with ingredients database windows (ctrl+H for hops). Should be able to remove, or add columns as desired.

Equipment should be able to show mashtun and kettle volume, and boil off rate. Boil time is better tied to the recipe as it's a process variable, not an equipment variable, which is an issue with beerXML 1.0...

Yeast should show attenuation at the minimum.

Bottom window (fermentables/hops/misc/yeast/mash). Again the ability to add/remove/rearrange columns would be pretty great.

Same thing, fermentables and hops should be sufficient for 99% of users. Yeast should show attenuation.