Welcome to my inbox. Things that got taught the same day at Ctrl-F: the file system metaphor, right clicking, refreshing web pages, copy/pasting, taking screenshots, attaching files, and reading (or copy/pasting) error messages. The difference between web pages, programs, and email. The notion that computers behave in a predictable manner and that experiences on them are connected to each other across individual tasks.
Before embarking on LiberWriter I would have thought you were exaggerating for comedic effect.
OTOH, the flip side is that you can accomplish things that for these people are essentially 'magic', and when employed to save them countless hours, earn you vast amounts of gratitude, as I'm sure you're aware.
It is interesting how many comments on this page are focused on the short-cut rather than the underlying functionality. Ctrl-F itself has nothing to do with it and is purely incidental. The real rub here is that people don't understand that they can search for a sequence. This is equivalent to losing your keys and then locating them only by sense of smell.
I wrote an app for a large customer (a bank) that automates some mainframe jobs from the unix side, then publishes its logs in a very simple webpage with only PRE html tags.
I was amazed and confused when some users, all of them mainframe developers, came to me to ask if I could put a search box into that page. I replied "come'on, use Ctrl+F". You should see the look in their faces when they saw me doing it, with the keyboard first, then from the "Edit" menu. They replied "yeah, but most users don't know they can do that". I ended up incorporating a (slow) javascript search box from the web into that page. Now they're happy.
So it's not just grandpa who doesn't know about Ctrl-F.
It makes me think that we need a new type of class in schools across the land immediately. Electronic literacy.
Negatory. We need to improve our UI metaphors. In the case of finding something, holding down one key while pressing another has no parallel to real life searching.
Let me tell you a story about my mum trying to view a slideshow on a mac. She double clicked on one of the photos (double clicking didn't come natural for her, but that's another story). Then she tried using the left and right arrows. Nothing. I noticed that Preview was only loading up the photo she clicked on, so there was only one photo in the slideshow. I helped her by selecting all the photos and dragging them onto the preview application.
But select-all and drag onto an icon had no real life metaphor for my mum and I didn't even bother trying to explain why it worked. (Maybe if there was some image of a slide projector and she could drag each image into a slot...but then again, I've got a terrible UI brain...)
tl;dr: if the UI is broken, fix the UI, not the end user.
There's a lot to be said in terms of better UI design. But at some point you really can't eliminate any more: there has to be a baseline of new interactions that someone must learn.
Pushing peddles, turning a wheel, and shifting a stick into different positions didn't have many parallels to real-life actions before the automobile was invented, but people learned that UI regardless.
> holding down one key while pressing another has no parallel to real life searching.
Yeah, but having a device instantly find something for you among a stack of 100 pages also has no parallel to real-life searching. The parallel to real life searching is paging through pages one by one, or browsing an index - precisely the things we're trying to get away from.
If you stretch your search for metaphors too far you end up with outdated ones nobody knows about - like for searching it'd be the old library card catalog. Heck even today, I bet a majority of computer uses have never used a filing cabinet with documents in folders.
At some point we have to create new metaphors, when the digital realm create opportunities that never existed in the real world
I disagree. If we want our society to take full advantage of the technology, we need to remove the training wheels and ditch the tired old half-assed and extremely limited metaphors.
It's time we started using technology like adults, instead of children. The UI may be far from perfect, but the end user is the bottleneck here.
The ctrl-F issue is a perfect example: the problem is not that people don't know the key combination or that the UI is bad, the problem is the they can not imagine such blatantly obvious functionality would be there in the first place. If they did, they would have found the damn keys/icons/gestures, no matter how obscure.
The thing is I think end users are evolving. I find that the generations that grew up before pervasive computers were pervasive are the ones having the most issue with these things. When I watch my 7 year old nephew use a computer 10 times better than his parents, it makes me thing that maybe designing UI to match "real life" concepts might not work so well for future users. Desktops, folders, ... those concepts that are supposed to match real things are now becoming a hindrance and limitation on the older computer users today. Just the idea of having the same file be part of multiple folders is complicated for some users.
My point is that software offers possibilities that go way beyond our real-life experience; there might not always exist a good real-world metaphor for all useful operations, at which point education becomes crucial.
>In the case of finding something, holding down one key while pressing another has no parallel to real life searching.
Ok, so you would recommend what? A single key? But remember, it needs to work in a text editor where you're actually typing stuff.
Of course, searching is such a fundamental verb that there probably should be a dedicated key on keyboards for it. In fact, on android phones, one of the four standard hardware buttons is for search. But the designers of most software have to work in the absence of such sensible input devices.
> Negatory. We need to improve our UI metaphors. In the case of finding something, holding down one key while pressing another has no parallel to real life searching.
I rather strongly disagree. You're essentially saying: we should limiting the capabilities of tools (regardless of whether they are electronic or not) to things that already have a direct and obvious parallel to previously existing things that are wholly obvious.
That essentially means: we should stop all progress. Absolutely not. Human beings are tool users, and tool _makers_. We make new tools to serve new problems. We learn how to use them. Via this mechanism, we advance.
I can definitely vouch for this. I have a lot of exposure to medical back office staff, and I do a lot of trainings with them for my company's medical software. I'll no longer be shocked when I recommend that they just search the page for a name, and their first attempt is to start reading the whole page.
This highlights a few important facts. First, you can't write good software without being out in the "field" and really observing how your users use your product. It's very easy to get in the pattern of writing software for other techies. Second, something very simple as learning how to use Cntrl-F can drastically improve someone's quality of life. You don't need to build a fancy new algorithm, but you definitely do need to design a great intuitive user experience.
It's really eye opening in a good way. Teaching my Mom how to use her first computer (which had Windows 98 on it) was all I needed to fully understand why Mac mice only have one button.
I actually strongly disagree with the idea of an Electronic Literacy class, at least I disagree with it as a class which basically teaches people tricks like control-f that can save them time. Let me relay a story:
In college I worked as a T.A. for in intro programming class for non majors. For some the course started out teaching the students to use Nano as a text editor and assumed that they would choose a more full featured editor whenever they saw fit. Now Nano is a really bare bones editor, it doesn't even have line numbers. And not having line numbers is a serious problem when you're trying to debug c++ compiler errors that reference lines by number. I kid you not I saw kids counting down 100s of lines from the top of the file to get to the listing of the errors.
Now the thing about this situation is: these were perfectly electronically literate people. They all knew about Ctrl-F. And could easily be taught more tricks. The problem is they'd never grasped the philosophy of computers. Specifically that when a task that's so simply stated is taking too long there's normally a better way to do it. Or if there isn't it's an opportunity for you to make a better way to do it.
All of the students simply assumed that if there was a trick they'd have been told about it already so no one inquired further.
Hey, don't diss nano like that. Try alt+c, or ctrl+g. Looks like you didn't try looking for a solution either (=
First thing you should teach in a class like that is to teach them to fish for tricks in the manpages/docs rather handing them individual tricks throughout.
Yeah, too many developers don't seem to have a good understanding of the average user (and don't do any usability testing), and end up spending a lot of time on arcane features that most people don't use or don't want to use (but are forced to). Like so many keyboard shortcuts and hidden menu options. In general, if it is out of site (like in a menu), it is out of mind. Or software is designed for text input since it is easier to code than visual interfaces.
We tech-savvy people think ctrl-f is so basic we can barely conceive how could anyone not know it. How could they not?
Somewhere there is a discussion group where people can't believe people don't know you can wear something other than geeky looking clothes. They can't believe someone would wear baggy jeans, a baggy t-shirt they got free at a conference, and white sneakers.
To say other people don't care is accurate, but doesn't do justice to the diversity of interests out there.
They have other priorities.
Yes, some are lazy or daft, but while you figured out how to use ctrl-f other people were learning to ski, climbing a mountain, jumping out of a plane, learning to dress fashionably, picking up girls, picking up guys, teaching their kids piano, etc. Even the lazy ones probably enjoyed being lazy and don't care about streamlining their searches. And the daft ones, well, if they have a learning disability or something like that, that's their story.
Viewing people having other interests as something to learn from and celebrate makes the world a different place. The humility that comes with it leads to much more learning about the world.
The really interesting point is that people don't seem to put any thought into what should be possible with a computer.
Intuitively, people with a decent mental model of how text is processed by computers would expect that the computer could search through that text, and look for a command in the program to do that. But many people's mental model is that they are looking through a sheet of paper displayed on the screen.
That doesn't really mesh with the quote, which was, "I do these field studies and I can't tell you how many hours I've sat in somebody's house as they've read through a long document trying to find the result they're looking for."
This is a valid point. I'm in Germany and half of my software is localized, so search is Strg-S, the other half is not, so search is Ctrl-F or F3, or /, or whatever.
Of those of us making up the 10% who do use Ctrl/Cmd + F (or '/', or some keyboard shortcut for find); how many find themselves saying "Ctrl F" out loud when looking for something on a piece of paper (or somewhere in local space)?
I constantly catch myself chanting, "Ctrl F, Ctrl F, Ctrl F" in frustration as I search for a lost item or try to find a keyboard shortcut on a quick reference sheet that's printed.
It'd help if there was a way to trigger a search dialog via javascript.
document.searchfind.open();
and have that open up the browser's search box - be it a dialog or a bar at the top or bottom. That would allow us to associate clicking an icon with action that brings up a search input.
Or hey... have the search dialog always open. Many users (most?) at least understand the notion of internet search, and it's helped a lot that there's an internet search box at the top of all major browsers for the past several years.
Adding a default 'page search' box that's open all the time would be a big signal to users that this functionality even exists in the first place.
I'd say the same thing for privacy - screw 3 levels of SSL certificate hell and warning - give everyone a little cookie icon that shows, in nice easy language, the sites tracking you and the data they have stored in your cookies, and give an easy way - from the main browser screen - to poof them away. Shrill warnings about "web privacy" would go way down if the average user had one-click access to see what's being tracked.
There really isn't a way to learn hotkeys other than searching for them and practicing, and people expect computers to be intuitive so much that they never do that. I wonder how many people aren't consciously aware of how much faster they could get at using their computer if they spent an hour learning.
Middle-aged to elderly women LOVE hotkeys. Show them how to cut/copy and paste text with Ctrl-C|X|V and they are hooked. Ctrl-A to select everything is another such gem.
Or holding Shift or Ctrl to select multiple items (eg files to delete).
They always(!) lighten up and smile when I show them (no hyperbole!).
I wonder if it would be better if we would make software actually less intuitive to use, and by doing so, forcing people to spend that hour to learn at least some basics.
So many complain that sometimes it is this or that shortcut. That shortcut seems to only change in IDEs and common dev tools. Usually changing because the C-f is used for some other more common coding task.
In programs used by the general public I have a hard time finding when C-f(cmd-f for mac users) is not the standard for search.
Schools should have a class on finding data. When I was in school we had to have at least one electronic source in our papers. This was supposed to help kids learn how to look up data electronically. They should take one day every year to teach kids how to mine that data with google, and things like c-f. This would allow the kids to find the data they need much faster, and may actually make them enjoy finding and learning more.
This is one of those things I'm constantly explaining to friends, clients, and others. It seems so trivial to me, the ctrl+f brings up the search dialog, but at least if someone doesn't know the shortcut surely they would know of the search dialog itself? I've found over the years this is definitely not the case, anything that's not blatantly obviously with buttons on the browser is never known by the majority of the people that I interact with.
In terms of this particular feature, I love CTRL+F and I use it on a daily basis.
This is a case where the MS Visual Studio forced on me at work poisons my mind. Ctrl+F brings up some big ugly search modal, while Ctrl+D pops straight to the quick search text box. Whenever I switch from VisStudio to a web browser (or pretty much anything sane), I always catch myself trying to bookmark a page instead of search. (Of course my prefered search key is / but that's not really an option here....)
That 90% of people don't know about 'Find' functions (^F/⌘F)? Boggles.
It might be worth trying incremental search in Visual Studio (it's like "find as you type"). I use it with Emacs keybindings (CTRL-S for forward search, CTRL-R for backward search), but I'd imagine you can bind it to whatever keystroke you want. There is no dialog, you simply hit CTRL-S (or whatever it is bound to), then start typing and it immediately goes to the next occurrence of what you have typed; you hit CTRL-S again to go to the next occurrence.
Incremental search changes the way you navigate text beyond using it for searches. Want to move to particular place in the text file quickly without using the mouse? Pick the most unique string near it and incremental search to move near it, then use regular keyboard movement commands to get to it (if the unique string itself wasn't where you wanted to be).
I put a keyboard shortcut into an operating system once - Action-delete to clear the keyboard buffer. You know, you were compiling on a command line and tried to type in the next command and messed it up and wanted to go home but now you have to either kill the build and start again, or wait half an hour for the build to complete and retype the line?
I never found anybody else, ever, who knew about this one. I used it a dozen times a day.
I wonder if this is going to become even more of a problem as OS's become more gesture-based like iOS and Lion. All of the three- and four-finger swiping actions in Lion are amazing and useful, but only if you know about them and can remember them. Apple stores do a pretty good job of educating people when you go in to buy a new Mac, but "pinch with 5 fingers to open launchpad" might be harder to learn than "cmd + f"
[+] [-] patio11|14 years ago|reply
[+] [-] davidw|14 years ago|reply
OTOH, the flip side is that you can accomplish things that for these people are essentially 'magic', and when employed to save them countless hours, earn you vast amounts of gratitude, as I'm sure you're aware.
[+] [-] ryanklee|14 years ago|reply
[+] [-] gfodor|14 years ago|reply
[+] [-] ojosilva|14 years ago|reply
I was amazed and confused when some users, all of them mainframe developers, came to me to ask if I could put a search box into that page. I replied "come'on, use Ctrl+F". You should see the look in their faces when they saw me doing it, with the keyboard first, then from the "Edit" menu. They replied "yeah, but most users don't know they can do that". I ended up incorporating a (slow) javascript search box from the web into that page. Now they're happy.
So it's not just grandpa who doesn't know about Ctrl-F.
[+] [-] resdirector|14 years ago|reply
Negatory. We need to improve our UI metaphors. In the case of finding something, holding down one key while pressing another has no parallel to real life searching.
Let me tell you a story about my mum trying to view a slideshow on a mac. She double clicked on one of the photos (double clicking didn't come natural for her, but that's another story). Then she tried using the left and right arrows. Nothing. I noticed that Preview was only loading up the photo she clicked on, so there was only one photo in the slideshow. I helped her by selecting all the photos and dragging them onto the preview application.
But select-all and drag onto an icon had no real life metaphor for my mum and I didn't even bother trying to explain why it worked. (Maybe if there was some image of a slide projector and she could drag each image into a slot...but then again, I've got a terrible UI brain...)
tl;dr: if the UI is broken, fix the UI, not the end user.
[+] [-] Pewpewarrows|14 years ago|reply
Pushing peddles, turning a wheel, and shifting a stick into different positions didn't have many parallels to real-life actions before the automobile was invented, but people learned that UI regardless.
[+] [-] kalleboo|14 years ago|reply
Yeah, but having a device instantly find something for you among a stack of 100 pages also has no parallel to real-life searching. The parallel to real life searching is paging through pages one by one, or browsing an index - precisely the things we're trying to get away from.
If you stretch your search for metaphors too far you end up with outdated ones nobody knows about - like for searching it'd be the old library card catalog. Heck even today, I bet a majority of computer uses have never used a filing cabinet with documents in folders.
At some point we have to create new metaphors, when the digital realm create opportunities that never existed in the real world
[+] [-] rickmb|14 years ago|reply
It's time we started using technology like adults, instead of children. The UI may be far from perfect, but the end user is the bottleneck here.
The ctrl-F issue is a perfect example: the problem is not that people don't know the key combination or that the UI is bad, the problem is the they can not imagine such blatantly obvious functionality would be there in the first place. If they did, they would have found the damn keys/icons/gestures, no matter how obscure.
[+] [-] nkassis|14 years ago|reply
[+] [-] perlgeek|14 years ago|reply
My point is that software offers possibilities that go way beyond our real-life experience; there might not always exist a good real-world metaphor for all useful operations, at which point education becomes crucial.
[+] [-] starwed|14 years ago|reply
Ok, so you would recommend what? A single key? But remember, it needs to work in a text editor where you're actually typing stuff.
Of course, searching is such a fundamental verb that there probably should be a dedicated key on keyboards for it. In fact, on android phones, one of the four standard hardware buttons is for search. But the designers of most software have to work in the absence of such sensible input devices.
[+] [-] arantius|14 years ago|reply
I rather strongly disagree. You're essentially saying: we should limiting the capabilities of tools (regardless of whether they are electronic or not) to things that already have a direct and obvious parallel to previously existing things that are wholly obvious.
That essentially means: we should stop all progress. Absolutely not. Human beings are tool users, and tool _makers_. We make new tools to serve new problems. We learn how to use them. Via this mechanism, we advance.
[+] [-] gcr|14 years ago|reply
[+] [-] siavosh|14 years ago|reply
This highlights a few important facts. First, you can't write good software without being out in the "field" and really observing how your users use your product. It's very easy to get in the pattern of writing software for other techies. Second, something very simple as learning how to use Cntrl-F can drastically improve someone's quality of life. You don't need to build a fancy new algorithm, but you definitely do need to design a great intuitive user experience.
[+] [-] city41|14 years ago|reply
[+] [-] jdoliner|14 years ago|reply
In college I worked as a T.A. for in intro programming class for non majors. For some the course started out teaching the students to use Nano as a text editor and assumed that they would choose a more full featured editor whenever they saw fit. Now Nano is a really bare bones editor, it doesn't even have line numbers. And not having line numbers is a serious problem when you're trying to debug c++ compiler errors that reference lines by number. I kid you not I saw kids counting down 100s of lines from the top of the file to get to the listing of the errors.
Now the thing about this situation is: these were perfectly electronically literate people. They all knew about Ctrl-F. And could easily be taught more tricks. The problem is they'd never grasped the philosophy of computers. Specifically that when a task that's so simply stated is taking too long there's normally a better way to do it. Or if there isn't it's an opportunity for you to make a better way to do it.
All of the students simply assumed that if there was a trick they'd have been told about it already so no one inquired further.
[+] [-] LordLandon|14 years ago|reply
First thing you should teach in a class like that is to teach them to fish for tricks in the manpages/docs rather handing them individual tricks throughout.
[+] [-] mypov|14 years ago|reply
[+] [-] carols10cents|14 years ago|reply
My favorite thing about nano is that the commands are always at the bottom of the window for you-- no remembering needed. ^C and ^W are right there ;)
[+] [-] edtechdev|14 years ago|reply
Other examples are all the keyboard shortcuts in Google's web apps: http://www.google.com/support/reader/bin/answer.py?answer=69... or having to type the name of an application to use it in Ubuntu Unity or Gnome 3, or Wikipedia's syntax, which excludes most users from contributing: http://calacanis.com/2007/02/20/technological-obscurificatio...
My rule of thumb generally is to pretend I am designing for an 8th grader. That may still be overshooting a bit though.
[+] [-] scelerat|14 years ago|reply
That was my impression anyway after doing about four years of IT and lab support for student government and activity groups at a large UC in the '90s.
The ones who did were bound for engineering or science, or were simply practically curious.
[+] [-] spodek|14 years ago|reply
Somewhere there is a discussion group where people can't believe people don't know you can wear something other than geeky looking clothes. They can't believe someone would wear baggy jeans, a baggy t-shirt they got free at a conference, and white sneakers.
To say other people don't care is accurate, but doesn't do justice to the diversity of interests out there.
They have other priorities.
Yes, some are lazy or daft, but while you figured out how to use ctrl-f other people were learning to ski, climbing a mountain, jumping out of a plane, learning to dress fashionably, picking up girls, picking up guys, teaching their kids piano, etc. Even the lazy ones probably enjoyed being lazy and don't care about streamlining their searches. And the daft ones, well, if they have a learning disability or something like that, that's their story.
Viewing people having other interests as something to learn from and celebrate makes the world a different place. The humility that comes with it leads to much more learning about the world.
[+] [-] drinian|14 years ago|reply
Intuitively, people with a decent mental model of how text is processed by computers would expect that the computer could search through that text, and look for a command in the program to do that. But many people's mental model is that they are looking through a sheet of paper displayed on the screen.
How to change this is going to be difficult.
[+] [-] dpcan|14 years ago|reply
I think most people know Edit->Find
Do 90% of people not know what a keyboard shortcut is? Yeah, I believe that.
[+] [-] nooneelse|14 years ago|reply
That doesn't really mesh with the quote, which was, "I do these field studies and I can't tell you how many hours I've sat in somebody's house as they've read through a long document trying to find the result they're looking for."
[+] [-] weinzierl|14 years ago|reply
[+] [-] imperialWicket|14 years ago|reply
I constantly catch myself chanting, "Ctrl F, Ctrl F, Ctrl F" in frustration as I search for a lost item or try to find a keyboard shortcut on a quick reference sheet that's printed.
[+] [-] eru|14 years ago|reply
[+] [-] akavi|14 years ago|reply
[+] [-] mgkimsal|14 years ago|reply
document.searchfind.open();
and have that open up the browser's search box - be it a dialog or a bar at the top or bottom. That would allow us to associate clicking an icon with action that brings up a search input.
Or hey... have the search dialog always open. Many users (most?) at least understand the notion of internet search, and it's helped a lot that there's an internet search box at the top of all major browsers for the past several years.
Adding a default 'page search' box that's open all the time would be a big signal to users that this functionality even exists in the first place.
I'd say the same thing for privacy - screw 3 levels of SSL certificate hell and warning - give everyone a little cookie icon that shows, in nice easy language, the sites tracking you and the data they have stored in your cookies, and give an easy way - from the main browser screen - to poof them away. Shrill warnings about "web privacy" would go way down if the average user had one-click access to see what's being tracked.
[+] [-] windsurfer|14 years ago|reply
Perhaps if there was an api to tell browsers to keep it open, it would be okay.
[+] [-] doublesprout|14 years ago|reply
[+] [-] aw3c2|14 years ago|reply
Or holding Shift or Ctrl to select multiple items (eg files to delete).
They always(!) lighten up and smile when I show them (no hyperbole!).
[+] [-] zokier|14 years ago|reply
[+] [-] Adkron|14 years ago|reply
In programs used by the general public I have a hard time finding when C-f(cmd-f for mac users) is not the standard for search.
Schools should have a class on finding data. When I was in school we had to have at least one electronic source in our papers. This was supposed to help kids learn how to look up data electronically. They should take one day every year to teach kids how to mine that data with google, and things like c-f. This would allow the kids to find the data they need much faster, and may actually make them enjoy finding and learning more.
[+] [-] kentbuckle|14 years ago|reply
[+] [-] pwpwp|14 years ago|reply
[+] [-] jneal|14 years ago|reply
In terms of this particular feature, I love CTRL+F and I use it on a daily basis.
[+] [-] cydonian_monk|14 years ago|reply
That 90% of people don't know about 'Find' functions (^F/⌘F)? Boggles.
[+] [-] nileshk|14 years ago|reply
Incremental search changes the way you navigate text beyond using it for searches. Want to move to particular place in the text file quickly without using the mouse? Pick the most unique string near it and incremental search to move near it, then use regular keyboard movement commands to get to it (if the unique string itself wasn't where you wanted to be).
[+] [-] JoeAltmaier|14 years ago|reply
I never found anybody else, ever, who knew about this one. I used it a dozen times a day.
[+] [-] athst|14 years ago|reply
[+] [-] aquark|14 years ago|reply
Particularly if I end up using the trackpad at an angle so a vertical (to me) swipe is more of a diagonal on the trackpad.
[+] [-] chromic|14 years ago|reply
[+] [-] ahenchan|14 years ago|reply