In that past I’ve designed software that is for a rather specific user base. With a new product coming up in the next few months +-6 (if all goes well) we are attacking a much broader user base with a more diverse experience level.
I’m having some trouble clearing my mind (forgetting old way’s) at the mid-higher user experience level. I’m trying to find a usable way for a user to search and filter data. I would like it ideally to cover the curve on the different user experience levels.
It has to be a separate form or view part as the base views are different i.e. it’s not always a list of data or a calendar etc.. There are several visualization types in which a user can manipulate and use the data.
At the lower user experience level we have a full text search just a text input.
Lower user experience level mockup:

At the higher user experience level we want to allow specific field filtering (using and, or, all, any etc..). All with the necessary operators or combinations translated to a readable language.
Multiple nested conditions, and spanning of tables/databases (transparent for the most part). Trying not to let a user get bogged down with logic.
Now in some systems this may be overkill, but we expect a large percentage of the more experienced user base to use this for quick reporting purposes (due to the visualization possibilities).
In the past all data started as a list so we had columnar drill down filtering, and the optional advanced filtering similar to the below mockup. No longer possible, as the starting visualization of data on a primary table is user preference and can change at any time between different types/sets of data.
I’m thinking that the best way is to allow the user to build a sentence/phrase so fields, criteria, operators, additional conditions etc.. become parts of that.
So below is a higher level mockup as it is now. I realize it’s not ideal (doesn’t reflect well on sentence/phrase idea) and would like to ask input on way’s to implement this correctly. Keeping in mind that for example a filter could also be something like “Show all records that changed last week” so instead of a date picker you would have a list of choices (last week, last month, yesterday etc..)
Higher user experience level mockup:
I looked at a lot of usability stuff on the subject but almost all of it is a very basic user level or to complicated for a non technical person.
I want a new user to be able to eventually use the advanced tools as their experience progresses so that they can get more value out of the product. I don’t feel comfortable that with the above advanced type of interface a new user will be able to get to a productive stage with this part of the product.
I realize this is a broad question.
It’s a mock up so no graphics have been thought about yet, however if your willing to throw out some ideas in that area I’d love to see/hear it.
I’d really welcome any kind of push in a direction that makes sense, advice, experiences, criticism, ideas, links, and anything else anyone is willing to provide/share.
Much appreciation , and Thanks.
-jason