It actually 'hurts' watching people wasting their time with awkwardly slow things on their computers. I keep telling people to use the Home/End keys to jump around in a line, to just hold down Shift for selecting text, pressing Alt to jump/select/delete a whole word, etc. I'm not sure if the average HN reader is aware of these tricks, but a bunch of developers I've met were not until I told them.
I can't watch people clicking the new tab icon, clicking in their URL bar, enter the site name and then switch back to the old site to keep on reading. All it takes is a simple Cmd+L, URL, Cmd+Enter. Same with clicking links.
If you only use your browser twice a day, you probably wouldn't care, but a lot of "tech-savvy" people don't actually have basic skills in using a computer. This is something I hate about today's tech being 'beginner-friendly'. You don't need to know anything about it to use it. I grew up with this, but I still wish people were forced to sit down and learn some basics about Computers, at least how to properly use them, before they could actually use them.
The problem comes later when the current generation of programmers starts creating interfaces of their own without all the keyboard shortcuts because they never grew up using any.
Windows 10 is already showing signs of this, in previous windows versions hotkeys were everywhere, they made sense, and they were even easy to discover if you turn on the "underline hotkey" option. In windows 10 even basic shortcuts such as alt+left to go back is missing in most apps, some apps accept backspace but others don't, moving around menus with the keyboard arrows works some times and some times not, tab order totally doesn't make sense and it just shines through that nobody in Microsoft even thought of trying the apps with keyboard only.
Just because something can be used with a mouse doesn't mean you have to, i frequently hear people saying that they use the terminal instead of explorer because they don't like the mouse. Well, explorer is one of the most keyboard friendly programs ever once you take some time to learn it. In a folder, just type half the foldername and then enter and you are in, alt+d to go to navigation bar. Alt+up to go up one folder is 2 keys instead of 5 for cd[space]..[enter]. Ctrl+x/c/v instead of cp or whatever, "right clicking" can be done with that weird button between alt+gr and ctrl on the right side of your keyboard, in that menu each line has an assigned button which will be underlined. There are many more tricks and I can't list all of them here, i just strongly encourage people to try using it without using the mouse, you will find out there is not a single action that requires it.
IBM were the people that got the function keys and short cuts right, that filtered through with their early work with Microsoft for Windows back in the day.
There is some saying about those that don't know their history repeating mistakes that has happened with the situation you describe.
That goes both ways. I bought a cheap Win 10 Tablet (x86) and haven't figured out how to get back from Chrome Browser Fullscreen via F11. The Onscrean Keyboard doesn't seem to support Fx keys.
Yes that is a big issue as well as new keyboards (like the new Google Pixel keyboard) coming on the market lacking keys people who code and/or use shortcut have gotten used to.
There might be a bit of a gap coming, maybe a few years, when the people who aren't used to keyboard shortcuts start developing UIs, but, I'm interested in seeing what the people whose experience has been primarily tactile and visual (tablet users, gui users, smartphone users) come up with.
I've got a feeling it'll be like watching grandma say "Rotary phones were FINE!" until she gets that first smartphone with the contacts list, then she goes "Oh, wait, what's your phone number? I just always use the contacts."
You need to enable the "Standard Keyboard layout" in PC Settings.
However, you don't need a key to exit Chrome full-screen from a Windows touch device. Just tap near the top of the window and Chrome should display the link that says "Exit Full Screen".
Well, using the terminal instead of explorer in Windows because people don't like the mouse is quite extreme, but using the Far Manager for the same reason is more common, at least in my environment.
I used to think the same until I used Plan 9 with its rio windowing system and Acme editor revolving heavily around mouse chording. I no longer hold prejudices for preferring cursor movements over keyboard shortcuts, unless it's obviously more inefficient as opposed to more of a subjective grayness.
In fact, it's quite tragic how the mouse is somehow seen as a "luser" tool, in favor of keyboard manipulation-driven interfaces being seen as more elite. No one writes mouse-driven interfaces for programmers anymore, which is a sad waste.
By the way, none of this is basic computer skills. It's purely arbitrary UI convention and nothing more. Someone decided to bind certain key combinations to reflect a particular semantic action, but it is by no means fiat in the slightest. You're confused.
You won't believe the time you save by just binding 'esc' to a mouse button. 'enter' also, but to a lesser extent. Every time you're mousing and a dialog appears, you have escape and cancel. It's also very useful in photoshop and games.
I learned it from working on AutoCAD with a puck on a tablet. One of the buttons was binded to 'esc', and the right button acts as an enter. Later when I switched to mouse, the 'esc' mouse button was the thing I missed the most.
GUI interaction is more intuitive and thus easier to learn (children learning tablet use without previous instruction for instance) so yes everyone uses their mouse as they do not know better. Most experienced users use either a mix or only keyboard. For things like coding or writing books and papers (and many other uses; I believe it to be the case for most common uses of Photoshop as well); I dare you any day of tĥe week in a contest where you use only GUI without keyboard shortcuts and me on only keyboard for coding and see who is more productive. I think we can calculate from what mouse movements you need it is probably not physically possible for you to win that. Not that that says all as for the general population GUIs feel more productive compared to the effort you need to actually learn to beat that 'natural' productivity they got from nature.
Like the commenters on that article say and like I said: I fully believe this goes for most computer users. I would like to see these stats for experienced coders during a day long coding session. The challenge stands anyway.
Sure, but a disproportionate amount of repetitive strain injury relates to mouse use. Effective use of the keyboard is not about being elite, it is the easiest and most affordable way to minimize injury.
I haven't used Plan 9, so I'll have to take you at your word that the mouse in an effective preferred method of input in its UI. I would be very interested if you had some specific examples of how it is used. That said, there are very real differences between methods of input that go far beyond "arbitrary UI convention" and that make one or the other substantially better suited for certain actions.
For example, the mouse is excellent at quickly moving to an arbitrary small area on a screen. Take as an example the operation of jumping to a particular character in a text file. To do this in emacs, I first move vertically either by looking at the line number of my target and jumping to it, or by moving in blocks (e.g paragraphs or code blocks) then by lines. Then I move the cursor to the correct horizontal position, first by blocks (e.g words, lexemes), then by characters. If my hand were already on the mouse, I think in a substantial proportion of cases using the mouse would be faster.
But there are other considerations. There is a noticable context switch moving my hand from my keyboard to my mouse and vice versa. Also, the mouse is only really good at moving to an area: moving to a single pixel is quite difficult; moving to a particular character is somewhat slower than moving to a word. This imprecision is related to the redundancies (i.e non-injectivity) in translating 2D analog movement to a 2D discrete position and mapping that to some action. In contrast, keyboard commands tend to be discrete, precise and minimal. While I could press the wrong key, that's a fairly substantial mistake; pressing a key off-centre or pressing it a bit harder than usual doesn't change the outcome of the command wheras a minute movement of my hand could easily make my mouse input skip over to something unintended.
One application the mouse excels at is clicking hyperlinks, or something hyperlink-like. Generally, these areas of input are large enough that a little bit of imprecision is acceptable and the 2D input can be very efficient. This comes up in emacs, for example when navigating info pages. You can either cycle through the hyperlinks in a document with TAB and Shift-TAB, or you can use the mouse. While it's a trade-off, generally I find the mouse to be far more comfortable.
The keyboard also offers an exponentially larger space of possible inputs for a given input length. The 2D input space of the mouse is quite large, but its imprecision considerably limits the space of useful inputs (i.e it would be a bad idea to assign a different command to each pixel of the screen). Like the keyboard, this can be expanded by successive commands, for example with a nested menu or compound actions such as click-and-drag. However, each element of the mouse input is slower -- wheras a keyboard command sequence can be entered as a whole from memory, each stage of the mouse input generally requires responding to new visual input (e.g a new submenu that has opened) and another distinct physical movement.
There is something to be said for combining keyboard chords on one hand with the mouse in the other, this allows much of the flexibility of the keyboard commands, but is still only really useful when the input is well suited to the somewhat idiosyncratic properties of the 2D cursor.
Finally, I think the most important factor for many people is the context-switch between touch-typing and keyboard-and-mouse. In this situation, even if the mouse is a better input method (e.g for clicking a hyperlink), then there may still be considerable advantages overall to just using the keyboard.
One other thing I don't think you've covered is that keypresses have a clear intent.
CTRL-W means "close tab" in a browser, SHIFT-HOME means "select to beginning of line" in a text field.
With a mouse, it's frustrating to try and resize a window and click one pixel off the edge, and bring a background window to the foreground instead - because there's no encoding of your intent to perform a resize operation so it's as likely that you were trying to reorder windows.
It also means that to make up for this, GUIs are trying to guess your intent - just try selecting all the text except the first character, or including the first character, or to the end of line not including the newline, or to the end of the paragraph not including the beginning. Different programs, different environments, will jump both ends of your selection around and/or make it very hard to get down to the letter, as they override your movements while wrongly guessing your intent.
It also means keyboard commands can be fired off in series, without waiting to see the results - especially with the awful trend of personalized menus - with a mouse + GUI you have to wait for the screen redraw between movements so you can respond to what's drawn. With a keyboard you can hammer ALT+F, X, N for File -> Exit -> No don't save, and know it will just work, no matter where the dialog appears, or where the 'exit' has moved to on the file menu, or where the cursor is on screen. Which is great for remote desktop sessions, but also it feels less annoying.
In a text editor something like easymotion for vim or I think ace jump for emacs makes this very easy to do with the keyboard. Ex I press 1 key then the desired character I would like to jump to say y all ys on screen are replaced with 1-2 yellow characters typing those jumps to that location. There are actually several plugins for this and several different ways to set this up. Some variations include typing 2 target characters leading to fewer possible matches. On net though you can jump anywhere on the screen in 3-4 keystrokes.
Another example hyperlinks plugins like pentadactyl and vimperator have a function wherein you hit f to highlight all the links which are marked with letters so basically you can click any link with 2-3 key presses. Obviously this doesn't work with anything involving hovering clever expanding menus but for a large portion of cases I find using pentadactyl keys better than a mouse.
We're definitely lacking in basic keyboard shortcuts training for people. That ought to be the first class someone takes when learning to use computers.
While the mouse and trackpad have their advantages and uses (especially with gestures), there are many cases where the keyboard is significantly faster and saves a lot of time.
I see people not even being aware of the shortcut to save something (Cmd/Ctrl+S) and navigating slowly to click the Save icon (and similarly for New, Open, etc.). There are several more examples of basic navigation using Arrow, Home, End, Pg Up, Pg Down and their combinations with Shift or Ctrl that people are not aware of.
The most painful one is watching someone work with MS Excel using the mouse for almost everything - one of the best productivity tools used in a very inefficient manner.
I also see people being resistant to learning some of these shortcuts when explained to them. That's a big bummer. :(
To me personally, it doesn't help that Libre Office Calc has its own set of shortcuts that are different from MS Excel (for example, inserting a line break in a cell can't be done with Alt+Enter like in Excel but instead with Ctrl+Enter). This causes friction when moving between applications and operating systems. You'd think application developers would support people's habits from popular applications and make things easier.
To me it is less about training than discoverability. If you expect my mum to register for a classroom training or go to a training website you can wait a long time. But she is the typical user who needs to get into keyboard shortcuts
I remember going to a user testing session, and marvelling at people (and it was a clear majority of the 10 or so people we tested with) scrolling the long web page by moving their mouse pointer over to the scroll bar (and it was a huge monitor, so that was a long way), clicking and dragging up and down.
I had just gotten so used to, well, every other way of scrolling (mousewheel, trackpad, arrow keys, page up/down...) that I'd almost forgotten that scroll bar existed.
I guess there's not much we can do about that: scrollbars are at the mercy of OS and browser vendors really.
As long as they're fast with it, who cares? I've seen people use their mouse for everything and do things a lot quicker than others who knew the hotkeys.
In my case, I would say I'm fast with computers and I sort of know the hotkeys, but I use 3 different OSs and two different browsers on each. Each browser has different hotkeys. Now add to that 3 different keyboards with different layouts. All of these things overlap in your head.
Instead, I installed a mouse gestures addon on each of my browsers and it works much better. Mouse gestures don't depend on keyboard layouts or browser/OS quirks.
I think the worst part is actually getting people to use your site correctly. People usually have no idea how URLs work especially for sites that have different URLs for when you are logged in and when you aren't. They also don't know how to use link share and how to figure out which things are clickable and which aren't.
I agree completely. I'm currently working on a text editor tutorial [1], and one element I emphasize is learning how to use keyboard shortcuts. Future tutorials [2] will cover shortcuts for browsers and other apps as well.
Cmd+L, URL, Cmd+Enter
This trick doesn't work in Firefox, so I prefer Cmd-T Cmd-L URL Enter, which works in basically all browsers. But the point remains the same: these little productivity hacks add up, and after a while it's hard to imagine doing without them.
> This trick doesn't work in Firefox, so I prefer Cmd-T Cmd-L URL Enter
I didn't understand what doesn't work in Firefox in your example. I use keyboard shortcuts while entering URLs and Firefox has the widest support to fill domain suffixes. Cmd/Ctrl+L takes you to the address bar. Type "domain" and then Cmd/Ctrl+Enter to visit www.domain.com, Shift+Enter to visit www.domain.net, Cmd/Ctrl+Shift+Enter to visit www.domain.org. AFAIK, the original Ctrl+Enter for www.domain.com was from IE, but I haven't seen IE or Chrome support these additional combinations out of the box.
In Chrome or Safari, typing the URL and hitting Cmd-Enter opens the site in a new tab in the background, allowing you to keep reading the tab you're in. This is why _jomo mentioned "then switch back to the old site to keep on reading," which you don't have to do if you use the Cmd-Enter trick. But that trick doesn't work in Firefox.
As I mentioned, the Cmd/Ctrl+Enter to go to a ".com" domain has been in Firefox (since the beginning of the browser) and comes from Internet Explorer. That's not going to go away.
To me, the behavior of Chrome and Safari are quite annoying since I'm so used to getting to a ".com", ".net" or ".org" domain with the keyboard shortcuts in Firefox. :)
Not knowing/using keyboard shortcuts is one of the banes of developer productivity. Using the mouse to right-click, copy, right-click, paste is bad enough when a "standard" user does it but for a developer it's painful.
Agreed. It's nuts to me when I see a fellow developer manually scanning code instead of searching. Then slooooooowly selecting text with the mouse, grabbing an extra letter or two, going back, not getting quite enough, going back again, then right clicking and scanning the context menu for copy, then scrolling to paste and . . . you get the idea.
If I'm ever in a situation to be in charge of a hire, part of the interview is going to watch them work on something to see if they are using at least some reasonable shortcuts. Don't have to be a VIM power user, but cut, copy, paste, home, end are a bare minimum in my opinion.
How exactly are you doing this? I just did CMD+L and it focuses the URL bar as expected, but after typing out a URL and hitting CMD + Enter it opens the URL in the current tab. Option + Enter opens the URL in a new tab, but it also switches focus to that new tab.
Edit: Tested and works in Google Chrome and Safari Browser.
Yes but the parent comment said that they can open a URL in a new tab without automatically changing focus to that tab. This can be useful when you want to check something after you are finished on the current tab. Unfortunately it does not work as described. CTRL + T, type URL, then CTRL + Shift + Tab will open a new tab and then return to the previous tab.
I meant that I type enough of what I want to open for it to be the first suggestion. The result is that I only do one chord though which feels easier to me. I guess it is about the same though.
That's Ctrl+T, URL, Enter for most desktop computer users. I imagine that the weird, inconsistent, hard to decipher and ultimately confusing symbols that Apple chooses to display for some reason don't help people that are forced to use OS X.
I bet that most people don't know about all of the secret handshakes in iOS either, like the four finger pinch to show running tasks and switch between them.
I told em so many times. They will just not care using it. The difference is in the approach. First time we used the search in page, we went there expecting to find such a feature. Until they find themselves asking "what the hell, isn't there a way to search in a page?" they won't use and remember it.
I think that's caused by the already high level of distress the average user is feeling when using a computer to browse anything else than Facebook. If I remember good how it was for me, they would go like "ok now I'm doing this, browsing this new webpage and I got so many things to remember already, the site name, how I got here, will I find it again, ...", "do you know that you can search a page with this key combination?? Stop! That's just too much! I will learn about it when I finally arrive at level 2 of my progress on using computers."
I think this is partly the case, coupled with a general assumption that computers are magic. What is really fascinating is to listen to someone work out a very complex logic problem verbally, then have no idea how to fix it because the computer is "too difficult."
I wonder what would happen if I answered every question with "Press F1."
I used to work with a guy who got way in over his head as a result of being buddy buddy with the boss. He inherrited packaging of applications from another guy who saw the writing on the wall and noped his way out of the company...
This guy would google how to do each step in packaging an application, each time he had to do it or modify an existing package, and would often manually scan 100s of lines of scripts looking for a particular keyword, and still to this day does it, even though i would bring up use of ctrl+f every single time he would ask me for help, litterally hundreds of times. I got to the point where i would tell him to let me know when he found the line he was looking for and then i would walk back to my desk, it never failed that 10 minutes later he would text me ok, i found it. After walking back to his desk and helping him, he would move on to the next step, google what he needed to change, and then try to prevent me from going back to my desk while he spent another 10 minutes scanning lines of text to find the keyword he was looking for... to this day, i bet he is still not using ctrl+f.... sickening that someone can get away with that in IT.
I've noticed something else about less-computer-savvy folks. They have a harder time finding items at various locations on the screen by name. If I tell someone to click on e.g. the 'Tools' menu item, they'll spend a lot of time focusing on different parts of the screen trying to find it. They don't seem to be taking in the 'entire' screen at once and pinpointing all the visible words.
Well, my idea about this is actually that we're so used to our eyes going to the top of the screen when we hear the word "menu" and regular people don't have the same associations.
I think if I went to a platform that followed a different design paradigm than I was used it, I'd have my eyes roaming all over the screen as well.
Maybe ... but my point was that even when searching for an arbitrary word on the screen, I notice that I'm significantly faster than a non-savvy user. E.g. if I'm on a call with a support desk and they're walking me through some steps on their website, I find I can easily 'take in' the entire screen and focus on that one word they want me to click on. Of course, I know a website is a bad example here, given that I could've just pressed Ctrl-F, but the idea holds for other complex non-searchable UIs too.
I think searching for things on the internet should be taught as a core competency, like reading, writing, and arithmetic.
I feel like way too much of formal education is focused on memorization. Especially now that we have this ubiquitous searchable memory called The Internet, this time should really be spent teaching kids and young adults how to actually do things.
But education focused on developing skills has its roots in trade schools, where kids with bad grades were sent to learn how to retread tires. That precedent makes skill-driven education a tough sell to parents. But I think technology has advanced to the point where skill development is the way to go.
There's also resistance from academics who believe distilling university down to a way to attain job market viability somehow cheapens academia; that academics should at least to some degree be academics purely for the sake of academics.
But I really believe that if someone has internet access and can wield it well, knowing things is a problem that will solve itself over the course of that individual's life. So why don't we just get on with actually doing things? That's the part of education that benefits most from instruction and traditional academic social structures anyway.
I think that there is a problem with the 'three 'R's' not being taught properly. I am shocked to find people hired to write copy for the internet and lacking basic standards of literacy. Product copy, newsletters, blog posts for 'social media' and that sort of stuff requires some ability to spell, the sort of ability that most people on this site had when they were aged 11.
There are also those that 'learned' to write with Microsoft applications that capitalise the first letter of a sentence. When these people are allowed to use something like Wordpress that does not have this magic, what happens? All notion of punctuation goes out of the window and they do not care. They really don't and little things like spelling and grammar shows that, plus if challenged they state that it does not matter as there are more important things - as if!!!
IMHO the 90% that cannot use CTRL+F cannot spell or use punctuation. They have the reading age of a small child.
Ctrl-F in Outlook wants to forward your message - that's f@cking annoying.
Slightly related: I'm a long way from being a vi guru, but even so it's possible to astound people who only know the basic commands; I remember using 'xp' to swap two chars over that completely blew someone away, had to explain that it wasn't in fact some secret incantation
In a similar vein, one of my coworkers, who is a programmer, almost never uses the shift key. If he needs a capital letter, he just turns on caps lock, then types the letter, then turns caps lock back off. I assume he must still use shift to type things like curly braces and dollar signs, but he's so slow an error prone from using caps lock so much (he sometimes leaves it on by accident and then types half a line before realizing it's in all caps and deleting it.
I strongly disagree with the idea that computer programs should be designed so that no "help" is required. It only works in the simplest of applications.
In my opinion, a bigger issue is that most "help" dialogs are so badly written that they are pretty much useless. They are too often written by a developer who doesn't have a clear understanding of the typical use cases. When was the last time you found anything useful behind the F1 key?
I see the effects of this in freshmen and newbie developers who don't ever look at the manuals or documentation because they are used to it being non-existent or unhelpful. I hate to be saying RTFM, but I have to because reading the docs is a useful skill, unlike memorizing how a certain tool works.
Heh. Back when I had to use a Sun keyboard for years at a time, I physically removed the giant Help key because it was right next to Escape and I kept hitting it by accident. Each accidental Help would introduce an obnoxious pause as the system launched some help window that stole my focus on top of it all.
While certain commands are clearly good to learn, it does require consistency across applications. One or two offenders, especially high-profile ones (Outlook!), can screw it all up.
If a user does start exploring short-cuts and keeps being "burned" by unexpected behaviors, they will un-learn those short-cuts because they just aren't useful.
Or hold Command (⌘) if they have a Mac and KeyCue.
(It uses the accessibility information for the visually-impaired to construct an exhaustive list of every possible key-binding in the current application context. Another example of many of designing for accessibility paying dividends for beneficial, unintended uses.)
KeyCue lets you perform the action by interacting with the semi-transparent HUD and has themes to make adjustments. 20 € is crazy high for modern app pricing, definitely not at an optimal supply-demand point.
Here's the zillions of options, which vary widely in usefulness:
Plus, you're buying support and sustainability (unless someone were to torrent it, which risks malware and reduces support & sustainability).
Cheat is very limited. It won't show modifier-only keys as KeyCue does, and it won't even let me take a screenshot of it (because that involves Shift).
Minimal and free, or expensive, pretty with features: pick one. ;)
When I read the headline, I couldn't for the life of me remember what Ctrl+F does — because I use it without thinking! Since remembering the hand movement, I've almost forgotten the description.
90% of people using a computer right now do so because the computer provides something they want and what they want can be achieved with the mouse/touchscreen, at a reasonable rate for them.
Click this. Swipe that. Tap out a facebook/twitter post. Gratuitous use of autocorrect. These are the reality of that 90%.
Don't let your impatience lead you to treat these people poorly. Let them learn by example. If you're sure they'll see the value in a shortcut then go for it but back the fuck off if they don't respond well.
Or the one that drives me crazy; the user sees a squggly-line under a word early in the sentence they have just typed. To back-up to correct it they use backspace to erase the entire sentence back to that word, correct it and then re-type everything again, laboriously slowly.
I have to rise from my seat and look out the window whilst they do so.
Many people now access the web from touch devices most of the time. I've often been frustrated by the lack of access to keyboard shortcuts in mobile browsers/mobile apps, but perhaps that's what a lot of people are habituated to?
On the same topic, lack of a uniform cut-copy-paste mechanism in Linux makes me jealous of the Mac people every single day.
On a Mac, you can use Cmd-C to copy from vim and paste into Firefox or your shell/terminal. Try doing the same thing in Linux (even with the IBM CUA [1] approved Ctrl-Insert and Shift-Insert)
well my 2-year old thinkpad does not recognize 3 finger touch. I would much rather have a uniform cut-copy-paste command rather than wait for some funky hardware support .. or upgrade.
If there was some magical way to get gnome-terminal, vim and firefox/chrome honor a universal cut-copy-paste shortcut... then I'm golden. This is more of a political than a technical problem.
Yes, I know I can remap keys in firefox, in gnome-terminal and browsers. But then they dont work in skype.. or something else. I would pay good money if there was a kickstarter around this.
which is part of the problem. Users don't even consider "I spend so much time doing this, there must be a better way". Coupled with the "I don't read manuals" attitude dooms people.
So systems are designed for people to get away with zero effort.
And from that we end up with baby toys instead of the best tools.
I was tempted to ask which keyboard shortcuts I should know about, but it's difficult to free recall all the ones I know, let alone list them concisely.
I can't watch people clicking the new tab icon, clicking in their URL bar, enter the site name and then switch back to the old site to keep on reading. All it takes is a simple Cmd+L, URL, Cmd+Enter. Same with clicking links.
If you only use your browser twice a day, you probably wouldn't care, but a lot of "tech-savvy" people don't actually have basic skills in using a computer. This is something I hate about today's tech being 'beginner-friendly'. You don't need to know anything about it to use it. I grew up with this, but I still wish people were forced to sit down and learn some basics about Computers, at least how to properly use them, before they could actually use them.