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 line number filter #2016

Closed noahmanger closed 7 years ago

noahmanger commented 7 years ago

So that advanced users can filter receipts and disbursements by the line number they were filed for, and so that they understand why they can't filter older data in this way, design the interation for this filter.


When filers fill out a schedule A form for an itemized receipt (see this form for an example), they designate a "line number" for the transaction: image

That line number corresponds to a line on the "detailed summary page", meaning, it describes the type of receipt or disbursement it is: image

There's a couple challenges here:

There's two things we should address in the design:

  1. How do we present the filters to both include the name of the line number, which is important for technical users, and also the label, which helps it make sense for everyone else?
  2. How do we enable/disable the filter when looking through time periods where the filter isn't available?

I've tried to include all the background here, but sorry if I made it sound more complicated than it is. Happy to talk through or pair.

Completion criteria:

cc @nickykrause

nickykrause commented 7 years ago

@noahmanger: I'm going to rephrase the problem to make sure I understand what you're saying.

We're talking about adding new filter(s) to the receipts and disbursements advanced data tables. So, a new filter in this panel (as well as the matching disbursements panel): image

We are doing this because we have reason to believe that users want/need to be able to filter receipts and disbursements to show only certain "types" of receipts or disbursements. As an example, for receipts, this can include the following types of receipts:

We believe that advanced users will want to filter by the line number itself, while others will not know how what the line numbers mean and will likely need clearer labeling.

To complicate matters, it is not enough to say something like "Line 15" and expect it to have a universal meaning, because the line numbers are different for different forms. (So, I think you're saying that in order to offer line-number filters, we would first need to know what specific form the person is concerned with? This is the muddy part for me.)

Finally, these filters should only be available for receipts/disbursements filed on or after a specific date in the mid-2000s.

I hope that's all accurate, @noahmanger ?

noahmanger commented 7 years ago

Exactly!

nickykrause commented 7 years ago

I have looked at this issue from multiple angles. The different fields that we are seeking to add (Receipt type, Form/Line Number) are intricately related and, depending on how we choose to present the controls, could create increased levels of complexity for implementation, which we may or may not want.

I talked with Noah a bit about this yesterday, but I'm going to drop a summary here, along with some art boards. It may be easiest to just talk more about this at the design pairing on Friday, rather than trying to discuss on this thread, but people are welcome to comment nonetheless.


Proposal

All three of the art boards below deal with Receipts (for now). In all cases, I am proposing that we...

Beyond this, I have explored three possible proposals for how the filters could work. These options are outlined below.

Feedback?

@noahmanger and others who may want to discuss: I'm happy to collect comments here, to chat on the design pairing on Friday, or to schedule something separate before Friday.


Options

Drop-down

This one is the most simple/blunt of the options.

Essentially, the idea is that we offer a drop-down menu from which users can select either a receipt type or specific Form/Line number combinations. I'm thinking that if the user selects the category header (the "receipt type," such as Contributions from individuals), then all three of the relevant checkboxes would be added. We use a somewhat similar pattern to this in Latest Updates. However, the drop down menu is VERY long. drop-down

Checkboxes

This one is a little tricky because it separates the form selection from the receipt type/line number selection. The result of this separation is that the options available in the Receipt Type/Line Number field will depend on which Form (or forms) the user has selected. However, it may not be clear, visually, that this dependency between the two fields exists.

Further, it may be technically complicated to change the receipt type/line number automatically and conditionally, and there may be use cases that I'm not thinking of which could make this less feasible.

checkbox

Toggle

This option also separates the form selection from the receipt type/line number selection, but it attempts to simplify the conditional dependency by limiting users to looking either at all the forms or one, individual form. This option consequently offers less flexibility than the checkboxes, but I think it reduces the possibility that there are weird use cases I'm forgetting, and it may make it visually clearer that the form selection is related to the receipt type/line number selection below. toggle

PaulClark2 commented 7 years ago
Receipts F3 F3X F3P
Public funding 16
Contributions from individuals 11(a)(i) 11(a)(i) 17(a)(i)
Contribution from political parties 11(b) 11(b) 17(b)
Contribution from political committees 11(c) 11(c) 17(c)
Contribution from the candidate 11(d) 17(d)
Transfers from other committees 12 12 18
Candidate loans 13(a) 19(a)
Other loans 13(b) 13 19(b)
Offsets to operating expenditures 14 15 20(a)
Offsets to fundraising expenditures 20(b)
Offsets to legal and accounting expenditures 20(c)
Loan repayments received 14
Refunds of contributions made 16
Other receipts 15 17 21
Transfers from non-federal account 18(a)
Transfers from Levin Funds 18(b)
PaulClark2 commented 7 years ago
Disbursements F3 F3X F3P
Federal operating expenditures 17 21(b) 23
Federal share allocated operating expenditures 21(a)(i)
Non-federal share allocated operating expenditures 21(a)(ii)
Transfers to other committees 18 22 24
Fundraising disbursements 25
Exempt legal and accounting disbursements 26
Candidate loan repayments made 19(a) 27(a)
Other loan repayments made 19(b) 26 27(b)
Loans made 27
Contributions to candidates and committees 23
Independent expenditures 24
Coordinated party expenditures 25
Refunds to individuals 20(a) 28(a) 28(a)
Refunds to political parties 20(b) 28(b) 28(b)
Refunds to political committees 20(c) 28(c) 28(c)
Other disbursements 21 29 29
Federal share allocated Federal Election Activity 30(a)(i)
Levin share allocated Federal Election Activity 30(a)(ii)
Federal Federal Election Activity 30(b)
nickykrause commented 7 years ago

What's new and how to respond

In this post, I'm doing two things:

There is a lot to take in here, and it might be easier to meet about it. @jenniferthibault and @noahmanger, if you want to meet, that's fine with me. Feel free to say so. Otherwise we can chat on this thread.


The update

I had a long talk with @jenniferthibault yesterday, which was quite helpful.

A few key takeaways from that call:

With all of that in mind, I have revisited the checkbox pattern, while also staying aware of my conversation with Noah, which had focused on reducing the front-end dev complexity of the filters. (Specifically, Noah and I had talked about minimizing the need to dynamically and conditionally change the drop-down menu options for line numbers based on which forms are selected.)


New designs

The result is the following checkbox pattern, which, like the previous designs, does not yet address the question of what the entire filter panel might look like. More to come on that below.

This new pattern suggests that we have...

checkbox - receipt type first

As the screenshot indicates, there are several other filters that would be affected by this proposed change. Specifically:


Putting this in context of the full Receipts panel

The addition of the Receipt type (line number) and Recipient type (form) filters would also probably necessitate a restructuring of the receipts filter panel altogether. I have proposed several options for that as follows, with my preference being Options 1 and 1a: checkbox - receipt type first - full panel

jenniferthibault commented 7 years ago

@nickykrause thank you for the comprehensive rationale & mockups. I'm on board with 1a for our first trial, I think it's still a smart idea to surface the most-used filters.

We may want to do some slight wordsmithing of the filters. This might not yet be the right place/time to do that, but I want to log thoughts here so I don't lose them after a deep dive review.

noahmanger commented 7 years ago

Hate to be a wet blanket, but I think we should talk about this, since this design entails a pretty significant chunk of front-end work to implement. Sorry, I don't think I did a great job explaining this when I looked at the original designs. The issue is that each line-number + form combination is a single value passed to the API: i.e. line_number=F3-11b. And each filter checkbox can only send one value at a time. i.e. a single checkbox can only have a value of F3-11b. So to do this we'd need to create custom components that pass multiple line number values when selected.

Ultimately anything is possible, but there's a definite cost to implementing a more complicated component here. If the user experience difference is meaningful enough that we want to prioritize it, then fine, but we should just recognize and plan accordingly.

jenniferthibault commented 7 years ago

😳 Yep let's sync up! It would be helpful to have more background on what the actual user need is here, and what users/personas this line number filter serves. Nicky and I weren't fresh on the details of that, which felt limiting, and I think you know more about it @noahmanger.

Scheduling now.

nickykrause commented 7 years ago

Here we go again!

Met with @noahmanger and @jenniferthibault today. I now understand that, at least for the moment, we can't separate out the Receipt type (line number) from the Recipient type (form).

(Meaning: These can't be separate filters that are used in combination.)

In light of that, we are left exploring options that present users with the ability to select from all possible combinations of Receipt types and Recipient types, as unique options. As the original drop-down option demonstrates (see above), this is a LONG list of things.

Originally, if we had to use a giant drop down, I suggested that users should at least be able to select the category heading (e.g., "Contributions from individuals") and have the system automatically select all the different iterations that contribution type across all forms. However, it sounds like this will be a technical lift in itself, and we'd prefer not to do that right away.

We are also thinking that the main purpose for these filters, at least initially, will be so that we can link users to an itemized data table from the Financial summary for a candidate or a committee, which means that users are unlikely to be manually applying these filters, but, rather, to be linked to a table where they have already been applied.


Options

Option 1 Option 1 (the simplest option) would basically be the drop down option I presented before, except, in this case, we would not make the category headings selectable. As this screenshot shows, we could consider adding plain language for the Form - Line number listings, but the drop down menu gets sort of crazy. (The non-plain-language drop-down appears as an alternate, on the right).

Similarly, the filter tags would probably need to be in Form-Line Number format, or they will also be crazy. drop-down 1

Option 2 Option 2 attempts to simplify the drop-down by breaking the filter panel up into different recipient types. drop-down 2

Option 3 Option 3 attempts to simplify the drop-down by breaking the filter panel up into different receipt types instead of recipient types, but this approach yields a super long filter panel (unless we accordion-within-an-accordion and make some of them a "see more" kind of deal, which sounds ugly). drop-down 3


Feedback?

My preference is option 2. Happy to hear what others think. There may be some tweaking that we can do to the labels and the formatting that might help, but I am not sure.

nickykrause commented 7 years ago

@llienfec Here's the issue! Don't try to read through it!

llienfec commented 7 years ago

Here's a stab at plainer language names for Form 3 lines. Comments welcome! Need thoughts on 2 things:

House and Senate Receipts: Individual contributions, political party contributions, PAC contributions, candidate contributions, authorized committee transfers, candidate loans, other loans, offsets to operating expenditures, other receipts House and Senate Disbursements: Operating expenditures, authorized committee transfers, candidate loan payments, other loan payments, individual contribution refund, political party contribution refund, PAC contribution refund, other disbursements

nickykrause commented 7 years ago

@llienfec

Thank you! I don't think that we need plain language definitions of the categories, at least for now -- we're just looking for the labels.

However, we do need plain language versions of Form 3X filers and Form 3P filers.

We basically need short but accurate ways of talking about all the things that @PaulClark2 mentioned previously. I'm going to paste Paul's "Receipts" table here, with your edits listed like this, and with ❗️ where we still need labels. Some of the ❗️ are probably fine as-is, but just to be sure, I'm putting them in anyway:

Receipts F3 House and senate receipts F3X ❗️ F3P ❗️
Public funding ❗️ 16
Contributions from individuals (Individual contributions) 11(a)(i) 11(a)(i) 17(a)(i)
Contribution from political parties (political party contributions) 11(b) 11(b) 17(b)
Contribution from political committees (PAC contributions) 11(c) 11(c) 17(c)
Contribution from the candidate (candidate contributions) 11(d) 17(d)
Transfers from other committees (authorized committee transfers) 12 12 18
Candidate loans (candidate loans) 13(a) 19(a)
Other loans (other loans) 13(b) 13 19(b)
Offsets to operating expenditures (offsets to operating expenditures) 14 15 20(a)
Offsets to fundraising expenditures ❗️ 20(b)
Offsets to legal and accounting expenditures ❗️ 20(c)
Loan repayments received❗️ 14
Refunds of contributions made❗️ 16
Other receipts (other receipts) 15 17 21
Transfers from non-federal account ❗️ 18(a)
Transfers from Levin Funds ❗️ 18(b)

Similarly, here is the disbursements table:

Disbursements F3 House and senate disbursements F3X ❗️ F3P ❗️
Federal operating expenditures (Operating expenditures) 17 21(b) 23
Federal share allocated operating expenditures ❗️ 21(a)(i)
Non-federal share allocated operating expenditures ❗️ 21(a)(ii)
Transfers to other committees (authorized committee transfers) 18 22 24
Fundraising disbursements❗️ 25
Exempt legal and accounting disbursements❗️ 26
Candidate loan repayments made (candidate loan payments) 19(a) 27(a)
Other loan repayments made (other loan payments) 19(b) 26 27(b)
Loans made ❗️ 27
Contributions to candidates and committees ❗️ 23
Independent expenditures ❗️ 24
Coordinated party expenditures ❗️ 25
Refunds to individuals (individual contribution refund) 20(a) 28(a) 28(a)
Refunds to political parties (political party contribution refund) 20(b) 28(b) 28(b)
Refunds to political committees (PAC contribution refund) 20(c) 28(c) 28(c)
Other disbursements (other disbursements) 21 29 29
Federal share allocated Federal Election Activity ❗️ 30(a)(i)
Levin share allocated Federal Election Activity ❗️ 30(a)(ii)
Federal Federal Election Activity ❗️ 30(b)
llienfec commented 7 years ago

Thanks for the flags! Here are the rest of the names in parentheses - some are harder to shorten or remained the same. I also changed the transfer language because it's a little different depending on Form type, so this language should work for all forms. Happy to make adjustments, answer questions, poll around -- whatever is helpful.

Receipts F3 F3X F3P
Public funding (Public funding) 16
Contributions from individuals (Individual contributions) 11(a)(i) 11(a)(i) 17(a)(i)
Contribution from political parties (Political party contributions) 11(b) 11(b) 17(b)
Contribution from political committees (Political committee (PAC) contributions) 11(c) 11(c) 17(c)
Contribution from the candidate (Candidate contributions) 11(d) 17(d)
Transfers from other committees (Transfers received) 12 12 18
Candidate loans (Candidate loans) 13(a) 19(a)
Other loans (Other loans) 13(b) 13 19(b)
Offsets to operating expenditures (Offsets to operating expenditures) 14 15 20(a)
Offsets to fundraising expenditures (Offsets to fundraising expenditures) 20(b)
Offsets to legal and accounting expenditures (Offsets to legal and accounting expenditures) 20(c)
Loan repayments received (Loan repayments received) 14
Refunds of contributions made (Refunds of contributions made) 16
Other receipts (Other receipts) 15 17 21
Transfers from non-federal account (Non-federal account transfers) 18(a)
Transfers from Levin Funds (Levin fund transfers) 18(b)
Disbursements F3 F3X F3P
Federal operating expenditures (Federal operating expenditures) 17 21(b) 23
Federal share allocated operating expenditures (Allocated operating expenditures - federal) 21(a)(i)
Non-federal share allocated operating expenditures (Allocated operating expendtures - non-federal) 21(a)(ii)
Transfers to other committees (Transfers made) 18 22 24
Fundraising disbursements (Fundraising disbursements) 25
Exempt legal and accounting disbursements (Exempt legal and accounting disbursements) 26
Candidate loan repayments made (Candidate loan repayments) 19(a) 27(a)
Other loan repayments made (Other loan repayments) 19(b) 26 27(b)
Loans made (Loans made) 27
Contributions to candidates and committees (Candidate and committee contributions) 23
Independent expenditures (Independent expenditures) 24
Coordinated party expenditures (Coordinated party expenditures) 25
Refunds to individuals (Individual contribution refund) 20(a) 28(a) 28(a)
Refunds to political parties (Political party refunds) 20(b) 28(b) 28(b)
Refunds to political committees (Political committee (PAC) refunds) 20(c) 28(c) 28(c)
Other disbursements (Other disbursements) 21 29 29
Federal share allocated Federal Election Activity (Allocated Federal Election Activity - federal share) 30(a)(i)
Levin share allocated Federal Election Activity (Allocated Federal Election Activity - Levin share) 30(a)(ii)
Federal Federal Election Activity (We have some options for this one. It would be really nice if we could abbreviate "federal election activity" to FEA for the Line 30(a)s and (b). 1) Non-allocated Federal Election Activity 2) 100% Federal FEA 3) Federal Election Activity - paid entirely with federal funds) 30(b)
nickykrause commented 7 years ago

Awesome! @llienfec - do you also have any ideas for how we might shorten the names of the Form 3X and Form 3P filers?

Right now, here is what I have for the filer types, but some of them are super long:

Is it accurate to say:

Or is that misleading somehow?

llienfec commented 7 years ago

I think that's good. Maybe change Congressional committees to House and Senate committees b/c congressional is sometimes used as shorthand for House? I think the language covers at least 95% of the cases.

nickykrause commented 7 years ago

Okay, thanks @llienfec

I updated the Sketch file to show the newly-proposed version of the Receipts panel, including the plain language descriptors. I think it now aligns with what we discussed Friday:

The tags are still long, but they seem manageable.

What do you all think? (@llienfec @noahmanger and @jenniferthibault)

One question I have is whether or not it is worthwhile to surface a sample checkbox (e.g., Individual contributions) for each option, or if it would suffice to show that just for the first one.

proposed

jenniferthibault commented 7 years ago

@nickykrause this looks great. I know the tags are long, but they're clear, which is what's super valuable and reassuring.

One question - are we leaving off the line number from the drop-down list text, and just showing it in the tag?

To your question about surfacing a tag from the list: Since the primary use case is folks coming here from financial summaries (instead of applying these filters by hand) I would keep it simple and not surface the option—it could be potentially confusing (or at least hard to explain) if someone came here from a financial summary table and saw their option selected in the panel, and the other one already there with it but not selected. That said, we don't have data on how else people would use this yet, so it's hard to say it's not useful to the other use case. I defer to your judgement!

nickykrause commented 7 years ago

@jenniferthibault I thought we had discussed removing the line numbers from the drop-down in the meeting on Friday, but I may be remembering incorrectly.

Actually, with the Form info removed from the parentheses, and after the receipt types have been shortened, the line numbers aren't actually very cumbersome. I think it would be nice to have them there for consistency between the filters and the tags.

Also, I am leaning toward removing the example filters, for the same reasons that you indicated. We can do some testing about this (I have logged a "testing idea" in the testing repo to keep track of it.)

Revised with these changes, the Receipts panel would look like this: receipts

The Disbursements filter panel would be very similar, with the following changes to the panel:

For the disbursements, I am not sure if it is accurate for the filer type descriptions to say "Spent by" [committee type], or if it should say "disbursed by". @llienfec might know? disbursements

nickykrause commented 7 years ago

Ack. Uploaded the wrong Receipts image in that last post. edited the post to fix it. (cc @jenniferthibault )

nickykrause commented 7 years ago

🗣 paging @llienfec : Quick question. For the line number filters on the Disbursements side, I am wondering if it is accurate to say "Spent by" each of the different committee types, or if we need to say "disbursed by" -- do you know?:

image

jenniferthibault commented 7 years ago

Quick thought from the peanut gallery: an alternative I've seen on the Help for candidates and committees landing page is "Making disbursements" which might mean "Made by..." here?

llienfec commented 7 years ago

This looks awesome @nickykrause . And yes @jenniferthibault! That's great wording. Let's do that!

Also, can "Line" be capitalized? It's a convention we stick to pretty closely. Wanted your thoughts.

nickykrause commented 7 years ago

Awesome! I have made these changes. @noahmanger : I think this is ready for implementation :tada:

Final designs

receipts-final

disbursements-final

nickykrause commented 7 years ago

one quick edit: In those final designs depicted above, the word Line in the line number should always be capitalized (per Lauren's preceding comment)

noahmanger commented 7 years ago

Sorry, having trouble finding it: can someone share the complete list of labels we're using?

noahmanger commented 7 years ago

Closing in favor of implementation issue.