A WIMP GUI framework such as the one implemented in wxWidgets
has a fixed mode of operation,
in that the meaning of all GUI controls is fixed.
A Modal GUI has different modes of operation as a function of time.
It does not use (windows) spatial layout constructs.
Instead it lays out *interaction time* as a sequence of modes.
The advantage is you get the full-screen to design your app
and whenever you need a menu or other control, you just pop it up
and after you have made your selection or data entry you pop it off.
I have implemented a Modal GUI engine inside a wxWindow that is available at
https://github.com/Rohit-Agarwal-Khitchdee/ModalWX
Since it's inside a wxWindow, it can be mixed with a WIMP UI using wxAUI.
Check it out!
Modal GUIs : An alternative to WIMP GUIs
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Modal GUIs : An alternative to WIMP GUIs
Last edited by Rohit Agarwal on Tue Aug 16, 2022 4:14 pm, edited 1 time in total.
Re: Modal GUIs : An alternative to WIMP GUIs
Hi, I just read the description about your work.
One question: what does the word "WIMP" mean?
One question: what does the word "WIMP" mean?
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Re: Modal GUIs : An alternative to WIMP GUIs
WIMP
stands for
Windows, Icons, Menus and Pointers
It's a way to summarise the features of the UI paradigm we all use.
stands for
Windows, Icons, Menus and Pointers
It's a way to summarise the features of the UI paradigm we all use.
Re: Modal GUIs : An alternative to WIMP GUIs
OK, I see.Rohit Agarwal wrote: ↑Tue Aug 16, 2022 4:13 pm WIMP
stands for
Windows, Icons, Menus and Pointers
It's a way to summarise the features of the UI paradigm we all use.
While, it looks like for Modal GUI we have to remember a lot of hot-keys? Like the VIM or emacs?
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Re: Modal GUIs : An alternative to WIMP GUIs
Unlike VIM or Emacs, you only have to remember 3 or 4 hot keys.
This is because there is a mechanism to pop-up an onscreen selector
that can be used to issue a command.
ModalWX for example only has 2 hotkeys currently
one for code folding and one for jumping to or returning from
the definition of a symbol.
I expect that to go up to 4 once we add in build and debug features.
In general, lets say you need 16 controls in your UI.
You take the most frequently used controls (say 4) and map them to shortcuts.
The remaining controls (12) you map to onscreen pop-ups.
That way you provide all your app's functionality, while speeding up
the most often used functionality.
On-screen controls need 2 keystroke sequences, one to pop-up and one to select,
so they're a little slower.
This is because there is a mechanism to pop-up an onscreen selector
that can be used to issue a command.
ModalWX for example only has 2 hotkeys currently
one for code folding and one for jumping to or returning from
the definition of a symbol.
I expect that to go up to 4 once we add in build and debug features.
In general, lets say you need 16 controls in your UI.
You take the most frequently used controls (say 4) and map them to shortcuts.
The remaining controls (12) you map to onscreen pop-ups.
That way you provide all your app's functionality, while speeding up
the most often used functionality.
On-screen controls need 2 keystroke sequences, one to pop-up and one to select,
so they're a little slower.
Re: Modal GUIs : An alternative to WIMP GUIs
Sounds good, I hope you can put screen cast (maybe video, maybe gif) on your github page to show those operation features.
Thanks.
Thanks.
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Re: Modal GUIs : An alternative to WIMP GUIs
Thanks for the feedback.
I'll try and make that more clear in the write-up on Github.
Edit: I added a screen-capture of ModalWX's Modal GUI in action. Check it out!
I'll try and make that more clear in the write-up on Github.
Edit: I added a screen-capture of ModalWX's Modal GUI in action. Check it out!