Monday, July 23, 2007

Keyword filtering, or I hear the '70s are making a comeback!

It's a strange thing thinking about the evolution of interfaces for microcomputers. We started out with command lines, and then went to smarter command lines, and then swapped those out for GUIs. Browsing for the right command using windows, icons, and menus was supposed to be easier than trying to recall arcane command names and options, and yet here we are going back the other way. The rise of feature-laden applications and operating systems has led us back to relying on text, again, as Google Desktop finds itself preinstalled on my newest work machine and both Apple and Microsoft tout the built-in search facilities of their latest Operating System offerings.

And how is Eclipse related to this? Adopters probably realized early on that adding each preference page into their products had a cost: it made it harder for a user to find the important one. Eclipse 3.2 brought us the org.eclipse.ui.dialogs.FilteredTree control and used it in the Preferences and project Properties dialogs, helping to alleviate some of that problem. It searches the names of the individual pages for matches against what the user types into a text field, automatically benefiting from string externalization of the page titles. But did you know you it can go deeper? I present the org.eclipse.ui.keywords extension point. It allows you to define a list of keywords which can then be used for additional hits in the filter field, allowing a search on formatting to reveal WTP's formatting-related preference pages:

Not bad for an extra couple of words.

No comments: