Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI improvement #206

Closed
jrvieira opened this issue Oct 10, 2021 · 8 comments
Closed

UI improvement #206

jrvieira opened this issue Oct 10, 2021 · 8 comments
Labels
C-Project A larger project, more suitable for experienced contributors. S-Moderate The fix or feature would substantially improve user experience. T-UI Involves the user interface. Z-Feature A new feature to be added to the game. Z-User Experience This issue seeks to make the game more enjoyable to play.

Comments

@jrvieira
Copy link

jrvieira commented Oct 10, 2021

The current 3 pane UI is cumbersome. Users often report typing in the wrong pane which is frustrating and error prone. Screen usage can also be optimized.

Better key based navigation

Navigating the interface should be intuitive and immediate. The more frequent an action is expected to be taken, the less painful we need to make it for the user. Single key mode change should always be a guarantee (for instance, currently there are situations where we force user to either press Tab twice or use a modifier combination, which is bad).

Collapsable panes

Panes like the inventory could be collapsable. The UI should leave space for future complexity.

Unobtrusive REPL

The REPL doesn't need to be a pane nor does it need to be visible while inactive. It can be activated with a convenient key press such as / or Enter before each command, or alternatively we could demand that the user closes the REPL before continuing using the rest of the interface. I can't think of any reason for it to occupy more than 1 line on screen (except when inserting multiline commands) so i propose that it stays a single line (plus borders) at bottom of the screen that grows when multilining and disappears when inactive.

@jrvieira jrvieira added the Z-Feature A new feature to be added to the game. label Oct 10, 2021
@byorgey byorgey added T-UI Involves the user interface. Z-User Experience This issue seeks to make the game more enjoyable to play. labels Oct 10, 2021
@byorgey
Copy link
Member

byorgey commented Oct 10, 2021

Thanks for the ideas! Yes, I often end up typing in the wrong pane too. Something definitely needs to be improved.

Having the REPL occupy only one line makes sense, that would be an easy change.

Should the REPL be focused by default, and require a special key press to do anything else in the UI? Or should a special key press be required to open the REPL, as you suggest? I kind of feel like I personally would prefer the former but I am actually not sure.

@byorgey
Copy link
Member

byorgey commented Oct 11, 2021

Actually, I think it can be useful to see more than one line of the REPL at a time. At the very least you sometimes want to refer to the output of the previous expression.

@jrvieira
Copy link
Author

jrvieira commented Oct 11, 2021

Good point. That reminds me of ghci's it. Maybe keep the last output visible and bound to it.

Something like:

it = "tree"
> ...

@xsebek
Copy link
Member

xsebek commented Oct 15, 2021

Some thoughts:


use a modifier combination, which is bad

Actually I could use more modifier combinations - say Ctrl+ moves selection in inventory panel or Alt+ to move map.

@byorgey byorgey added C-Project A larger project, more suitable for experienced contributors. S-Moderate The fix or feature would substantially improve user experience. labels Mar 28, 2022
@byorgey
Copy link
Member

byorgey commented May 18, 2022

  • collapsible panes sound great, but would need a special brick widget to replace them when collapsed (no idea how hard that is)

Don't think it would be that hard, actually.

@xsebek
Copy link
Member

xsebek commented Aug 5, 2022

Better key-based navigation

I suggest implementing #523 so that everyone can customize to their hearts' content. 😉

Collapsable panes

What I imagine is putting a button on the panel line, so that clicking it toggles the panel. That way beginners will not be too lost. There could of course be a keyboard shortcut too. 🙂

The button could look like Open REPL or just simple ^^^.

The thing is, we do not currently allow clicking on buttons in the game. 😅

Unobtrusive REPL

Sure, it could just be collapsed or we could allow resizing it. A configuration file would be nice for this.

We could also add buttons for increasing/decreasing panel size (^/v) or figure out how to let the mouse drag the separating line.

@byorgey
Copy link
Member

byorgey commented Aug 6, 2022

The thing is, we do not currently allow clicking on buttons in the game.

This is easy though. We already allow clicking on things in the game. You just have to declare a Widget to be clickable and then handle the resulting click events. It just so happens we don't have anything called a "button" but it's really no different than handling any other kind of mouse clicks.

or figure out how to let the mouse drag the separating line

That does actually sound harder. I don't actually know how to handle dragging with brick.

@xsebek
Copy link
Member

xsebek commented Nov 1, 2022

Closing this in favour of #813 and #523.

@xsebek xsebek closed this as completed Nov 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Project A larger project, more suitable for experienced contributors. S-Moderate The fix or feature would substantially improve user experience. T-UI Involves the user interface. Z-Feature A new feature to be added to the game. Z-User Experience This issue seeks to make the game more enjoyable to play.
Projects
None yet
Development

No branches or pull requests

3 participants