fecgov / openFEC-web-app

DEPRECATED See https://github.com/18F/fec-cms for fec.gov's code
Other
43 stars 31 forks source link

Design interaction for boolean searches for legal resources #2069

Closed noahmanger closed 7 years ago

noahmanger commented 7 years ago

So that users can create boolean searches when searching legal resources, design an interaction for how they do this.


In our last legal grooming meeting we determined that there might not be enough data on this, but agreed that it could be worth starting design efforts if we have time.

cc @nickykrause

nickykrause commented 7 years ago

Assembling some examples of complex academic/legal/other searches in this Mural 🔒 , for future reference and inspiration:

nickykrause commented 7 years ago

Wanted to offer an update here.

We talked in the design pairing last Friday about the potential for this task to quickly expand in scope, depending on: (a) whether or not we offer boolean search for facets other than keywords (e.g., combinations of requestors or citations or dates), and (b) the extent to which we make boolean searching available outside of the filter tables for AOs, MURs, etc.

In that meeting, we decided that it would be helpful for the moment to narrow our scope to boolean searching for keywords, both on and off the filter tables for legal resources.

This led me to explore two approaches, so far, which I discussed with @jenniferthibault this morning, and which I am summarizing here in separate InVisions. These files contain comments that explain the thinking behind the designs:

One thing that Jen and I discussed was that these two solutions seem to exist at two extremes: The accordion approach attempts to keep the user "in context" as much as possible, while the separate page approach pushes the user "out of context" completely, by taking the person elsewhere.

So, as a next step, I'm exploring a more middle-ground option of using a modal / dialog window to present a special context for filling out the special keyword fields.

Finally, one important thing to note is that none of this, as of yet, reflects any conversation with devs about what is/is not possible for boolean search using our current structure.

@noahmanger - If you have thoughts, feel free to jump in. I am also happy to chat synchronously. Who should I consult with in dev, by the way, if I have questions? Tony/Vraj?

noahmanger commented 7 years ago

Smart thinking on this! The idea of including it in the main search entry hadn't occurred to me, but it seems to make a lot of sense here, particularly because it gives you the chance to learn how to use the different operators. And because it keeps the filter panel from getting too crazy, I think I lean towards this view, especially if you can use the same operators in the regular keyword filter box. Maybe worth doing something to denote that the field supports boolean logic?

As a slight yes and, On the filter side, I could also see something like we do on the data side where we generate checkboxes for each search term, but that translates the operator into a word, like: image

And from a development angle, seems like we could start by providing this functionality from the API and users who are aware of it (i.e. internal folks we tell) could make use of it with regular inputs, and then we could add the front-end functionality to expose it.

@anthonygarvan could speak to what's possible from the ElasticSearch angle.

nickykrause commented 7 years ago

@noahmanger: Thanks! I like the checkbox idea, too -- I will add that thinking to this last design that I'm exploring with the modal window. Also, I agree it would be helpful to somehow denote that the main field supports boolean logic.

In the meantime, assuming that I understand your point, I agree that we can start on the dev of it and make the main search box capable of supporting the boolean operators, even as we figure out the front-end

Planning to update this again later today.

Thanks for weighing in, Noah and Jen!

nickykrause commented 7 years ago

Just adding this as an FYI: I spoke with a couple people from the FEC policy division today. They provided general feedback about the AO search experience (as well as the broader legal resources search experience), and added their concern about the ability to conduct and/or searches in particular.

Seems like more fuel for the argument that getting the ability to do this in the keyword box (even without an elegant front-end) would be helpful for the internal FEC folks to whom we can provide info about how the boolean searches can be composed.

nickykrause commented 7 years ago

Alright. After some research into best practices for modal experiences, I have explored a modal window option ( 🎨 see here that resolves the accordion-within-an-accordion issue mentioned above.


@noahmanger and @jenniferthibault -- I'd love to chat about this in the design sync tomorrow. We can also use that time to introduce the thinking to @jameshupp, whom I should have tagged in sooner (sorry, James! 😞 )

nickykrause commented 7 years ago

Closing this issue because we have discussed with dev and are moving future discussion to the implementation issue