Perhaps you have noticed that in Gmail pressing the key J selects the previous (older) message in your inbox while the K key moves you one message up to a newer conversation, provided the keyboard shortcuts is on in your Gmail account setting. The same keys are also used for navigating items in Google Reader, in Twitter.com for moving between tweets, and it even works with Tumblr.com.

Here the question arises why the developers commonly assign the J and K keys for moving up and down respectively and not any other key combination?

Reason Behind the Secret

To find the answer of this question we have to move back in the history when Bill Joy created the vi text editor for Unix, he used ADM-3A terminal and its keyboard didn’t have any dedicated arrow keys. 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 display.

ADM-3A Terminal Keyboard

ADM-3A Terminal Keyboard

Now the keyboard scenario has been totally changed. They have got dedicated arrow keys for moving Up/Down. But the same J and K keys are still 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.