I have a text field where users can enter a query, and a Search button. When the user clicks on the button, it sends the query to the server, which in turn returns data that I fill in a table below the search controls.

I want to add an Export button, that will export the data to a downloadable file(currently CSV, but I might want to add other formats later). That exported data should obviously be based on the user's query, but what if the user changes the query without reclicking?

Example - the user enters "cats" in the field, clicks Search and the table is filled with cat related results. Then the user enters "dogs", but instead of clicking on Search again, they click on Export.

On the one hand, the query field clearly says "dogs", so the user might expect to get dog data in the CSV. On the other hand, the table is filled with cat data, so the user might expect that very same cat data to appear in the CSV.

Which option should I choose? Which is more intuitive and less confusing to the user?

  • 2
    If the Export button is near the Search button then use the next query, if the export button is after the 'flow' of searching (like under the results) then use the old query. Commented Nov 19, 2013 at 17:11

1 Answer 1


Interfaces should, among others, a) give control to the user, and b) be consistent.

Let's see how these principles apply to your case:

  • Consistency: What you see on the screen and what you get on your file should be about the same thing the entire time. It's like telling a story, the narrator shouldn't jump from one thing to another.
  • Control: The user should be driving the action, the user should be telling the UI what to do. The UI should not be doing anything unexpected.

You might think, how does this help? Well, you have scenarios which give you hints: I search for cats, I see cats, I export cats. It's about cats all the time. So, I'm going to establish a usage pattern by doing this action. If I type "dogs" but don't search, why would I expect to get a dogs file? There's nothing in the usage pattern suggesting this.

So, you can visually enhance your intended usege pattern: if you have a search field, below a table with the results, and even further an export button, the order of the elements will help the user establish a pattern. Or, e.g., if you label the button "Export Table" instead of just "Export".

I'm not suggesting that these are the two definitive solutions, but this is a train of thought you can follow and maybe come up with another solution.

  • Change the text on button - that simple. Now I feel dumb that I didn't think on this...
    – Idan Arye
    Commented Nov 19, 2013 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.