Keyboard Accelerated Visual Interface
KAVI is a set of design principles around grahical user interfaces which are intended to provide the user with a VI like experience within a graphical setting of modern UI's.
- All user interaction must be possible by using only the keyboard.
- All input from the user should flow as if typing a letter. Hands should not be required to completely leave the home row position.
- Special commands, navigation or other types of input must be able to be executed by using key sequences that are as close to possible to that which would constitute normal typing.
- For example, keybinds which use 3 or 4 key combinations or keys far out of reach from the typing flow such as function keys should not be used.
- Navigation to visual UI elements should be direct.
- This differes from current UI paradigms which use tab stops which must be sequenced through to the destination.
- The interface should provide direct access to actions.
- This differs from current UI paradigms which are often hierarchy based. For example the user may need to navigate a series of UI interactions such as cascading menus, tabs, pages etc.
- The UI should assist the user executing tasks by tracking tasks the user often performs in order to provide a fast method of input to select and repeat such tasks.
- The number of keystrokes required for all actions such as navigation and command execution should be short.
These are some of the sources for ideas and concepts influencing KAVI. With KAVI, we want to take a more holistic view of modern UI and see how the UI paradigm can be restructured with our design principles in mind.
- VI text editor
- Ace Jump
- Sublime command pallete
These are currently in-progress definitions that are being refined and added as these concepts are futher explored.
- Lists must be scrollable by keyboard
- Items within the list must be selectable by keyboard
- Navigation to items in the list for selection or action must be direct.
- A user should not have to sequence down one by one in a list. If I see an item in the list I want to select, I should be able to do so directly.
- Lists must be filterable or searchable
- Lists of actions should be executable without additional buttons or controls
- Single action lists should execute immediately on selection without additonal input
- Eclipse Commander - A replacement for the Eclipse Quick Access feature built using the design principles of KAVI. This is currently an Alpha of some of the first attempts at building UI controls with a KAVI paradigm. Based on some of the experience here KAVI will be further revised and defined.