dwyl / dwyl/app

EPIC: Desktop Keyboard Shortcuts

Open
#263 1 comment 2 reactions 0 assignees View on GitHub
discuss enhancement epic technical
Dominant language
Dart
Stars
152
Forks
22
PR merge metrics
No merged PRs in 30d

Description

As a person attempting to _maximise_ my **personal effectiveness**,
I use [**Keyboard Shortcuts**](https://en.wikipedia.org/wiki/Keyboard_shortcut) in Desktop/Web Apps whenever they are available to speed up my interactions with the App. e.g: [GitHub](https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts), [Gmail](https://support.postbox-inc.com/hc/en-us/articles/207256687-Gmail-Keyboard-Shortcuts), [YouTube](https://support.google.com/youtube/answer/7631406), [VS Code](https://medium.com/flutter-community/flutter-visual-studio-code-shortcuts-for-fast-and-efficient-development-7235bc6c3b7d), [Apple Mail](https://www.lifewire.com/apple-mail-keyboard-shortcuts-2260755) and [Fusion 360](https://www.autodesk.com/shortcuts/fusion-360)
I would like to have **Keyboard Shortcuts** in the dwyl App to perform **_all_ major functions**.

# Todo

We should respect the ["Sacred" Keybindings](https://en.wikipedia.org/wiki/Keyboard_shortcut#%22Sacred%22_keybindings) and make them perform the desired actions in the @dwyl app:

+ [ ] **`g N`** - Open the **`new`** input dialog and focus the input so that I can just start typing. Note: we can't use **`⌘ N`** in a web browser because that is "New Window".
+ [ ] **`space bar`** - Select an item (_for categorising, moving or marking as complete_)
+ [ ] **`g O`** - **Open** the **_categorisation_ interface** with the selected item.
+ [ ] **`⌘ S`** - **Save**. This should simply display a message like in Figma; "your changes are saved automatically, no need to save manually".
+ [ ] **`ESC`** - Escape out of the current input mode.
+ [ ] **`g I`** - Show the notifications "***inbox***"
+ [ ] **`⌘ Z`** - ***Undo*** the last action.
+ [ ] **`⇧ ⌘ Z`** - **_Re_-Do** the undone action.
+ [ ] **`g F`** - **Find** (_open the search dialog_) to search for a string of text in all your data.
+ [ ] **`⌘ ,`** - **Open _Preferences_**

I think we should have the _same_ keyboard shortcuts for _specific_ functionality as Gmail because it's the most widely used web-based email client so people who are already using those shortcuts (_the [power-user](https://en.wikipedia.org/wiki/Power_user) [early adopters](https://en.wikipedia.org/wiki/Early_adopter)_) can feel "at home" and immediately use them!

https://litmus.com/blog/email-client-market-share-trends-first-half-of-2018
![top-email-clients](https://user-images.githubusercontent.com/194400/73019893-66a02880-3e1c-11ea-9e98-4a7e7b9b4657.png)

The next most popular email clients are Apple's iPhone and iPad Mail program which don't have keyboard shortcuts. We are _open_ to considering adding the **Outlook** shortcuts if enough _users_ request it. But we need to focus on the "core" shortcuts first and then allow other developers in the community to create a "pack" of shortcuts that are familiar to people.

In _addition_ to having [sensible defaults](https://en.wikipedia.org/wiki/Convention_over_configuration) for our Keyboard Shortcuts, we need to create a way for people to define their own Keyboard Shortcuts and _disable_ specific keyboard shortcuts. In some cases people will have _conflicting_ shortcuts that we do not want to interfere with so we need to allow people to disable/replace each shortcut.

# **Epic** ?

This issue is _definitely_ an ["epic"](https://www.agilealliance.org/glossary/epic).
We need to break it down and form a _sprint_ (_milestone_) around it.

Opening this issue to capture thoughts. Please share yours! 💬

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.