Incremental Feature Search in Applications

I'm a big fan of incremental search. But incremental search isn't just for navigating large text documents. As applications get larger and more complicated, incremental search is also useful for navigating the sea of features that modern applications offer.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/06/incremental-feature-search-in-applications.html

The IntelliJ IDEA IDE also has search boxes in a lot of windows, especially in the main config window.

I don’t know how long it has had them (I’ve only started really using it recently), but it’s quite nice.

I’d prefer it if applications became a tad simpler. Searching is hit and miss at best – fine for properties whose names you know, almost useless for features you don’t immediately know the name of.

Not that Word should be stripped of its features altogether, but it’s doing the work of at least three distinct applications. I’d rather have them all developed separately and shipped as a bundle than one bloated app.

Is it me or is the ribbon/toolbar thingy just the Office 2004 (Mac version) sidebar but stretched out, made neater and stuck at the top…? I’m not sure I’d call it innovative anyway – it just looks like any other control palette to me (in the toolbar position), but maybe I’m missing something.

A little over 2 years ago, Apple shipped in OS X 10.4 Tiger incremental search on System Preferences, aka Control Panel, which is a great feature for people that don’t have that stuff memorized. And lets not forget, iTunes has had incremental search for a number of years.

This is something I really, really like about Emacs. Everything - everything! (auto-completes, open file prompts, spellcheck, help, compiling windows, error messages, program output - for starters) - is plain text in Emacs, and it all has incremental search. I’ll be sure to check out isearch in Office when it’s default - I don’t use it enough to have it installed on my home comp.

That’s not to say Emacs is a shining example of a good UI :). It took me months to get proficient with Emacs, and it honestly wouldn’t be worth it if I didn’t spend the bulk of my time at a keyboard. It’s interesting to me that more apps /dont/ have isearch - it seems like a very intuitive feature, even for novices.

Of course maybe the new types of feature search and the other ilk is just a reminder that Office has way too many “features”.

Who uses even 25% of all the features that Word has ?

I will admit that Emacs is a good example of where more features are generally useful, but that is a case of a tool that was made by developers for developers.

Good to see MS finally implementing features that others invented at least 20 years ago.

In emacs, we call this a completion buffer. I.e.:

M-x find-f TAB

will cause emacs to find all commands beginning with find-f. It’s been around at least since at least emacs 19 (circa 1993). Probably even before then, but I’m not that old.

To actually name someone who should get credit for incremental search as a key feature of software, it’d be good to point out Jef Raskin.

If you’re really into incremental search, check out Raskin’s Archy. I don’t know if it’s still being developed, but it’s a pretty cool idea.

One of the best productivity enhancements I’ve used lately is the incremental search app.

On OSX I use QuickSilver, on windows I use launchy.

Quicksilver has the amazing ability to give you incremental search through the menu tree of any Mac app. I would love this ability in a windows app.

Here’s a video that describes the feature in all it’s glory:
http://www.themerlinshow .com/ep/008-howto-quicksilver-application-menus

Also, boo for crappy URL filtering.

I use and love the Quicksilver based incremental menu searching that Tom mentions above.

Using this in conjunction with a href="http://www.ergonis.com/products/keycue/"KeyCue/a have made my shortcut knowledge go up by quite a bit. If quicksilver were able to display the shortcut that is associated with the menu item, that would be and even bigger boost to productivity. I’ve thought about making this my first foray into quicksilver plugin development, but haven’t gotten around to it yet.

The latest version of Eclipse (3.3, currently still going through Release Candidates), has a fantastic new shortcut, cmd-3, that allows searching for commands in much the same way, but groups things nicely. If you use eclipse, I highly recommend getting 3.3 and trying the cmd-3 shortcut. It completely replaces 10-15 common shortcuts that I had to keep in my head all the time.

So are we finally going to UNIX command line with perfect tcsh/bash completions?

After the redesign of Apple’s website, it is now MUCH faster and convenient to use search than to actually navigate to the subpage you want.
So I guess active search is on for real, even for navigating websites.

Those of you who use Opera might recognise the same style of searching in opera:config…

Incremental search is great… if you know what you are looking for. Problems arise when the search only looks for exact matches to the word of phrase you are typing.

Incremental search doesn’t mean exact matching (see e.g. QuickSilver)

And you’re right of course, IS is cool, IS with fuzzy matching is much better.

Visual Studio does sort of have an incremental search for commands- it has “Visual Studio Commands” that you can use in a console to do some common operations. It won’t help you track down obscure settings in the properties windows though:

CTRL-D jumps you to the “find” box
’’ switches you to console mode
Then it’ll autocomplete the various aliased commands and even filenames. The most common one I use is “of filename.cpp”

It’s worth checking out if you work in Visual Studio- I very rarely open up the solution explorer anymore because this is so much faster.

I’m fairly sure that one of the videos from the Leopard sessions at WWDC06 showed menus with a search box (in the Help menu, I think) you can use to find items. I’m struggling to find anything on Google about this, and I don’t really want to download all the videos again to find the right section. Anyone know what I’m talking about?

XCode lets you search through the build settings. I don’t know why Visual Studio doesn’t have this feature yet. Sometimes you are not sure which category a particular setting belongs to. So you click on each one of them, and scan through the list that comes up for the property you are looking for. This can be made so much easier by just providing a search box at the top of the “Properties” dialog. Maybe some day…

Never make the mistake of associating Microsoft with innovation.

Noel - that’s an interesting shortcut in visual studio. Is there a good URL to start finding out more about that?

Since I spend most of my day in visual studio, workflow improvements are a big deal. Usually I jump around my projects using incremental search, global search, F12, a cpp/header flip macro, and launchy. The nice thing about launchy is that it’s configured for my main project, and opening files doesn’t require typing the entire name of the file. This means that more verbose/descriptive class names are easy to use, because between intellisense and launchy, I don’t constantly have to be typing them.

I think it’s interesting that less-integrated incremental search beats integrated project browsing, at least for my preferences.

dmenu from http://www.suckless.org does this for application lauching.
you open it and start typing and the list of applications in filtered as you type. But it can also be used to launch any application even applications that aren’t in the list.