adobe / brackets

An open source code editor for the web, written in JavaScript, HTML and CSS.
http://brackets.io
MIT License
33.27k stars 7.63k forks source link

Themes usability improvements #8946

Open njx opened 10 years ago

njx commented 10 years ago

Users who first encounter the Themes feature via View > Themes might not immediately realize how to install themes. It would be nice to add a little note there that you can install new themes from Extension Manager, or actually have a link that takes you to the Extension Manager Themes tab.

Also, I think it would make sense for Brackets to switch to a new theme as soon as you install it from Extension Manager, instead of making you manually go to View > Themes and switch to it there (since it's very likely that after installing a theme you'd want to switch to it right away).

njx commented 10 years ago

To @MiguelCastillo, low pri. /cc @dangoor @larz0 for opinions

dangoor commented 10 years ago

I think there's another issue open that talks about adding a "Get More Themes" or similar button to View > Themes.

I like the suggestion of automatically applying downloaded themes.

larz0 commented 10 years ago

Tagging #8825.

@njx @dangoor @MiguelCastillo +1 for automatically applying installed theme.

MiguelCastillo commented 10 years ago

Cool, I will take a look at this in the next day or two.

peterflynn commented 10 years ago

@njx This does duplicate two existing bugs, but we liked your variant of this suggestion best so in bug review this is the one we decided to leave open :-) I think it also might be good to put a banner at the top of the Themes tab referring users back to the Themes dialog for more detailed settings.

@MiguelCastillo I started playing with this a bit last weekend, so I can push up a branch to get you started -- the one part that's missing is auto-activating a theme once it's installed. I figure you know the required ThemeManger code better anyway :-)

MiguelCastillo commented 10 years ago

@peterflynn Yeah that sounds good! I have been incredibly busy so I've been pretty inactive around here. :/ Let me know what branch you got going

peterflynn commented 10 years ago

@njx @dangoor Hmm, one snag: when the user clicks "Get more themes" in the Themes dialog, do we confirm or cancel the Themes dialog at that point? (We decided earlier we can't just leave it open and have Extenion Manager be a "child dialog," because that introduces complexity around restarts triggered by Extension Manager, updating the Themes dialog's dropdown when you come back to it, etc.).

Confirming the Themes dialog seems better than canceling, but both choices have the potential to be slightly destructive unexpectedly since there's no easy way to revert changes to the font settings.

If neither one sounds palatable, I wonder if we should fall back on just:

MiguelCastillo commented 10 years ago

@peterflynn I think that canceling seems to have less of a negative impact, I think. Or we could just disable the get more themes button while changes are pending.

dangoor commented 10 years ago

I agree with @MiguelCastillo. If the font settings were displayed live, then I'd say we should confirm what the user is already previewing and jump over to Extension Manager. But, they're not... so the user hasn't actually seen what the result of their tinkering in the dialog looks like, which I think makes canceling a better choice.

The fact that my opinion differs based on whether the values in the dialog are previewed may be a sign that we're best off with the non-clickable message at this point.

Either that, or if we could make it unambiguous and say something like "Get more themes (will save your changes)", but that's a bit ugly.

MiguelCastillo commented 10 years ago

We had discussed about adding live preview of all theme settings... Maybe I should just add that and see how usability changes. Hopefully it will improve the workflow.

What we are trying to do is pushing the usability of the dialogs to the limit. It seems like we could add/move the themes tab from the extensions dialog to the themes dialog. It's a bit different, but it consolidates themes a bit. Just trying to think how we can make the workflow smoother.

MiguelCastillo commented 10 years ago

Also, what do you guys think about adding a reset button to the themes dialog?

marcelgerber commented 10 years ago

We could also add a "Apply" button for semi-live preview. The problem with a "Reset" button is that the user doesn't know whether it's resetting to the old prefs (the prefs when the dialog was opened) or the default prefs.

MiguelCastillo commented 10 years ago

@MarcelGerber "Reset" is to go back to factory settings, which is pretty common... Just a quick look in chrome's settings. Other tools have it.

screen shot 2014-09-11 at 3 09 08 pm

peterflynn commented 10 years ago

Ok, in the interest of getting something simple landed soon :-) Here's what I propose:

I have the first two implemented locally and will push up a branch if @MiguelCastillo has cycles to finish off the last bullet.

Later on we could tackle other improvements like making the dialog offer instant feedback, adding a Reset button, etc.

MiguelCastillo commented 10 years ago

@peterflynn Yup, I like what you have suggested. I will be able to do item 3 tonight. What branch are you using? I will add my changes to that.

peterflynn commented 10 years ago

I've posted the implementation of the first two bullets in PR #9069. @MiguelCastillo feel free to just push your commits directly to that branch, and then we can get someone to review the whole thing together...