Good interface design is tough. Like any form of engineering, the devil is in the details, and it is the little things that often determine whether a program is hard or easy to use. Whenever we make even small interface changes, we can go round and round about the various pros, cons, and potential pitfalls. Even then, we don’t always get it right.

One little thing which I think we have gotten right is this: when you enter a search and hit return, your search argument stays put. In other words, if you enter “Adam” and perform your search, “Adam” will remain displayed in the argument entry box. That way, if you then decide to search for “Adam” AND “Eve,” you can simply refine the search you’ve already done. I think for most Accordance users, this seems like a no-brainer.

Apparently, though, the merits of this behavior are not so self-evident to other software developers. I’ve recently seen two programs in which the search argument disappears once a search is performed. In other words, if you type “Adam” and hit return, the search will be performed but the word “Adam” will be cleared out of the search field. If you then want to find “Adam AND Eve,” you would either have to locate “Adam” in a search history list or type it all over again. That’s nothing more than a minor annoyance in the case of “Adam,” but it can be a major hassle when you’re engaged in original language research.

Let’s say you do a search for γίνομαι in Greek. As you explore your results, you decide you want to search for a particular form of γίνομαι, such as the imperative. In Accordance, you would simply add @ [VERB imperative] to the end of your previous search and hit return. In other programs, you must enter γινομαι all over again. Now let’s say you want to search for aorist imperatives. Once again, in Accordance, you just add your additional constraint to the previous search, while in other programs, you either have to start over or find the previous search in a search history list.

If users of other programs get used to going to the search history in order to keep refining their searches, then I suppose this interface design choice only requires one additional step. But how many times in the course of a study does that one extra step get repeated? Does that additional bit of work discourage users from further refining their searches? I imagine it would.

As I said, good interface design is tough. In the context of these  other programs’ overall design approaches, I can see why they made the choice they did. But the disappearing search argument nevertheless creates an unnecessary and oft-repeated step for the end user—a step which Accordance users never have to worry about.