Why do Gmail and other Web Apps use j & k Keys for Navigation?
If you have enabled keyboard shortcuts in Gmail, you may have noticed that pressing the J key selects the previous (older) message in your inbox while the K key moves you one message up to a newer conversation.
The same j & k keyboard shortcuts can be used for navigating items in Google Reader, for moving between tweets on Twitter.com, and it even works with Tumblr.com.
So why do developers commonly assign the k and j keys for moving up and down respectively and not any other key combination?
When Bill Joy created the vi text editor for Unix, he used a ADM-3A terminal and its keyboard didn’t have any dedicated arrow keys (see illustration above). Instead the keys h, j, k and l were inscribed with arrow symbols and these keys, in combination with the CTRL key, were used for moving the cursor on the screen.
The keyboard layouts have changed (they got dedicated arrow keys) but the same j & k keys are still popularly used for moving the cursor up and down inside the vi text editor. And since most developers have their roots in the Unix world, they implemented the same shortcut inside their web apps.
Wikipedia has more details on the history of vi and the HJKL keys.
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory