10 Jan 2006

Search Goodness

No, I am not talking about beagle, I am talking about some really nice polish that went into gedit search interface recently.
paolo added highlighting of the matches and Steve Frécinaux (who by the way has been rocking on the plugin front!) contributed a patch to address some of the problems with the new interactive search UI. Now using it is a real pleasure: you hit ctrl+K, type the some letters (it finds-as-you-type), use arrows (or the mouse wheel) to quickly cycle through the matches and then either hit Esc and return to the original cursor position or Enter to move to the current match. With Shift+Ctrl+K you can clear the highlighting.

For those wondering why we did it this way instead of a firefox-like search bar and why we still have the search dialog and why $(your_question_here) here and…
here are some of the reasons:

  • I don’t like the search bar :)
  • We experimented with many UI variants on the branch, including a bar at the bottom, a bar at the top and a side pane and we were not satisfied with them. Keeping the dialog (which at least is a well known interface) among other things allows us more flexibility in the future since given the time constraints we didn’t want an half-assed UI now and be forced to change it again in the next cycle.
  • Incremental search is very useful, but doesn’t solve all cases and doesn’t work well for search&replace so we need two complimentary UIs
  • The new search may be a bit undiscoverable since it can only be activated through the keyboard, but that’s not too bad given that it is an advanced feature and that for the casual user the search dialog will do just fine. If someone just wants to search a word and uses the Search menu we don’t want to overwhelm him with the choice of which search UI to use.
  • The interactive search doesn’t take any space away from the text, it doesn’t cause unwanted scrolling and reflowing and it doesn’t cover the matched text
  • Did I mention that I don’t like search bars?

By the way, in the screenshot you can see some cairo sweetness courtesy of Jeroen: the right margin alpha overlay… however it seems to cause slowdowns on some videocards/drivers combination, so we are still discussing it.

Update: company sent me this awesome screen record (1.7 MB) of the incremental search done with his brand new screen recorder byzanz.