The best practices on keyboard shortcuts - from companies such as Figma, Notion, and Superhuman:
Implement Gentle Reminders: Whenever the user clicks with their mouse instead of a convenient shortcut - make a small pop up notification that reminds them about the keyboard shortcut. Say something along the lines of "Great job, you could also do this next time by pressing G". This is a non-intrusive method of helping your early users become power users and increase the value of your product.
One Button Keyboard Shortcuts: Power users, developers and people who use productivity tools are getting accustomed to keyboard shortcuts that don't utilize the shift or command function. See how you can use letters like "z" instead of CMD Z or, "k" instead of CMD K. These one button shortcuts will save the user a ton of time over the long run.
Associate your Core Value Proposition of Your Product to the Most Accessible Keyboard Shortcut: Treat the keyboard like valuable real estate. The farther out the key is from your typical typing position (let's say the ~ button), the less valuable the real estate/button is. Just like how sports stadiums are usually located downtown in the city, think of how you can correlate the letters like k, v, and c to the important piece of functionality of your product. For example, if deleting something was an important function on my software, the letter "d" might be a solid key.
Use Previous Unconscious Association + Bias: Everybody knows command z as undo. Use the letter z instead of command z to lower the learning curve to make keyboard shortcuts much easier. At the start for the user, command z will be easier just because of muscle memory, but when you think about the literal action of clicking one button compared to two, z is much more effective.
Understand Fatigue and Muscle Movements: The biggest complaint I have for keyboard shortcuts are when companies make me stretch my hands across the keyboard, use multiple hands, or combine irregular functions like command + control + t or command + option + t. Try your best to not include combinations of command + shift, or the control functions similar to those. Make it as simple as possible.
Don't implement keyboard shortcuts on your first mvp: This just adds extra work and clutter. For your first mvp, you're not 100% positive what actions your users will take, or what they find the most valuable. Use the mvp as a way to aggregate data points —> track buttons clicked, page views etc. You can use tools like Mixpanel, Segment, Hotjar, or Microsoft clarity to do this.
Gamify the Process: Figma taught me keyboard shortcuts and lowered my learning curve. How? By hosting an interactive keyboard shortcut panel pop up, it's taught me continuously. An ineffective onboarding sequence would be when companies bombard you all at once with all of the keyboard shortcuts expecting you to remember it. The way Figma does this is amazing because it's similar to a cheat sheet to the bottom of your screen and shows when you've actually completed one (outlined in blue).
Where keyboards shortcuts fit on the product adoption curve:
3/4 American Adults own a computer, according to Statista. It's fair to say that the computer has gone through the chasms of product adoption - where it's finally reached the laggards.
Now that the hardware + software component has been adopted by the majority of individuals, we still have a long way to go when it comes down to getting the most out of the software that we use in our daily lives.
For example, everybody might have a Gmail, but nobody uses the shortcuts to make Gmail faster and ultimately more valuable to the end user.
What does this mean? I talk more about this concept below.
The education, and adoption of keyboard shortcuts is somewhere in the innovator/early adopter range.
Let's talk about functional effectiveness in comparison to functional efficiency.
Functional Software Effectiveness: The ability for a task to be completed using software, which is more effective in comparison to achieving the task in person or through offline methods. For example, creating a Substack newsletter is more effective than writing and setting up a paper print newspaper.
Functional Software Efficiency: Functional efficiency is under the assumption that the user is using software. This comes from the logic that software is inherently more effective than offline methodology. However, the key difference is that software itself is used more efficiently - in which the function is completed quicker. For example, sending emails with Superhuman is functionally more efficient in comparison to using Gmail (software). Using Notion is functionally more efficient in comparison to using Google Sheets for project management.
The idea of functional effectiveness (software adoption) has reached the laggards. When people own computers (hardware), people use software. The adoption of keyboard shortcuts (which is just one of the many ways that a product can functionally be more efficient), still has a long way to go.
Will there be a Universal Shortcuts Agreement?
We already have this to a degree. For example copy, cut, undo, print etc are all universally agreed upon.
My question: Will there ever be some sort of "shared" or crowdsourced manual between private companies that can agree upon certain keyboard shortcuts?
For example, if you wanted to search or navigate a recent file on Notion, you would press Command P. But, on a service like Persist IQ (used for outbound emails), you would press COMMAND K to open up a similar feature.
✍️🤓 Heads up! Command/Ctrl + K now creates inline links (a la Google Docs.) We are also working on better inline comments to make Notion friendlier for writers.
Just because your product has certain features doesn't mean that people will use them, or even be familiar with them.
You still have to go through proper onboarding, create signals and cues for the user, and go through the process of helping your user eventually become a power user.
I had no idea that services like Outlook and Gmail had "undo send" functionality, and that is one of the features that Superhuman references right on their landing page as a key value prop and makes super accessible.
I use Superhuman, and there are so many times I pressed "z" to double check emails, fix emails, etc.