govtrack.us-web icon indicating copy to clipboard operation
govtrack.us-web copied to clipboard

Allow users to register support/opposition to bills, not just emoji

Open wbt opened this issue 7 years ago • 12 comments

Users' emoji reactions to bills were added in commit ed7b1021cecfb6b645ae952260a4c8f805f19aac.
I propose adding an easier-to-interpret seven point scale:

  • Strongly support
  • Moderately support
  • Slightly support
  • Neither support nor oppose
  • Slightly oppose
  • Moderately oppose
  • Strongly oppose

I propose representing these in the data model with byte-size integers +3 to -3 respectively.
For user interface, I propose a colored horizontal bar with breaks at certain positions and a marker indicating the user's selection, which only appears once the user has clicked to make a choice. I'd probably implement this with images centered (possibly excluding the ends) at each selectable position, with alt/hover text containing the labels above. The overall scale might just have the ends/sides labeled support/oppose and the two halves may have some visual difference to make the midpoint more clear.

I may be able to make the contribution myself in the future, but am first putting this up for discussion and feedback on the idea before implementation.

wbt avatar Feb 14 '17 16:02 wbt

Hi @wbt.

I purposefully did the emojis the way it is because I actually want to avoid having the appearance of reporting public sentiment on legislation, knowing that any sort of poll on GovTrack would yield wildly skewed results to the degree that I think it would be irresponsible for us to publish such information. I also want to avoid the implication that taking such an action on GovTrack is an effective means of advocating one's position on an issue, since it wouldn't be effective at all.

So for those reasons (and possibly others) I can't add that to GovTrack. Thanks.

JoshData avatar Feb 15 '17 23:02 JoshData

What if, instead of making the aggregated information public, it was kept relatively private for the logged-in user to see how they rated bills after having taken the time to read (maybe later, they forget details)? I'd also imagine future features where one could compare one's personal preferences to the voting record of one's Congressional representatives, and this would be valuable for the users.

wbt avatar Feb 16 '17 00:02 wbt

That makes a lot of sense.

JoshData avatar Feb 16 '17 00:02 JoshData

As a note to self (or whomever else might take this and run with it faster), it might be a good idea to keep track of which version of a bill the person rated, and provide some visual indication when a person is viewing their own rating of a prior, different version of the bill. Access to a handy diff and/or even more easy-to-access low-resolution information about the extent of the changes (e.g. slight text change in one section vs. replacement of entire bill) might be helpful too.

wbt avatar Feb 22 '17 19:02 wbt

Cosponsor drops might be a useful measure of how much a bill has changed as well. If legislators who were cosponsors on an earlier version (rated by the user) dropped that sponsorship after a particular set of revisions, that's a flag that the bill has changed significantly - especially if that's true of a large number/% of cosponsors.

wbt avatar Feb 22 '17 19:02 wbt

@JoshData

Would you be opposed against a service that allowed users to (publicly, so not what is discussed here) register support/opposition to bills external to govtrack.us using the API? Specifically users that verified their location using a smart phone. Such a service wouldn't expose individual users but instead aggregate data.

ajarara avatar Mar 28 '17 15:03 ajarara

I don't understand what change to GovTrack you're suggesting.

JoshData avatar Mar 28 '17 15:03 JoshData

@alphor It sounds to me like you're not proposing a change to GovTrack but seeking opinions about a particular potential use of its API, probably to be combined with a browser plugin or something. Is that correct?

I think the key concern is that aggregate support/opposition data would not be a reliable signal representative of the electorate's views, because the system could be easily gamed by a small group creating many accounts to register many more votes for their position, and swaying what might be presented (inaccurately) as a reflection of public opinion.

There are ways around this, such as aggregating only from a preselected representative panel of validated users, and being clear when presenting results how those numbers were generated. There's also a lot of potential value in allowing people to privately record their opinions (e.g. for comparison to the voting records of various politicians), which is proposed here.

There's also value in making it easier for individuals to tell their friends about their position on a particular bill (not part of this Issue), but I'd recommend caution before opening any system that incentivizes users to skew publicly-reported aggregate data.

wbt avatar Mar 28 '17 16:03 wbt

I don't understand what change to GovTrack you're suggesting.

Sorry, this doesn't concern GovTrack itself, but a question about its API that I've been wanting to ask for a long time. I figured here would be best as it is open, and the issue's topic was rather close to the end goal I want (users being able to see what others in the constituent base say).

@alphor It sounds to me like you're not proposing a change to GovTrack but seeking opinions about a particular potential use of its API, probably to be combined with a browser plugin or something. Is that correct?

This is correct. My aim is for people to have the ability to submit their support/opposition to bills and their backers through their smart phones.

I think the key concern is that aggregate support/opposition data would not be a reliable signal representative of the electorate's views, because the system could be easily gamed by a small group creating many accounts to register many more votes for their position, and swaying what might be presented (inaccurately) as a reflection of public opinion.

I have the same concern. I agree that any channel for feedback can be compromised, especially if there is no record of who says what or any way to validate who you are.

But there is a start to the validation aspect if we make the assumption that there is a loose correspondence between people and smart phones. Whether this assumption is true (ie given a phone ID, is there a way to validate that that phone physically exists, is not virtual, and isn't just a ID following the scheme) but before investigating these details further I wanted to ask for thoughts about this.

There's also value in making it easier for individuals to tell their friends about their position on a particular bill (not part of this Issue), but I'd recommend caution before opening any system that incentivizes users to skew publicly-reported aggregate data.

This does have high value, but govtrack's mobile interface is well done already. it's simple enough to share the link across social media (if I understand you right).

ajarara avatar Mar 28 '17 17:03 ajarara

Folks, I'm glad you're thinking about democracy but this isn't the place to speculate about ideas. Especially since there are endless groups already doing the things mentioned above.

JoshData avatar Mar 28 '17 17:03 JoshData

I'm working on this issue and at the stage of running a migration to add the necessary table to the database. However, I'm not finding other migrations from past modifications; is there a different mechanism for updating the DB in this project? Also, when trying to run the migration, I'm getting a lot of incompatibility issues with different versions (e.g. code written for older version of Django not passing checks by a newer version). Is there documentation somewhere about what versions to use? Thanks!

wbt avatar Jul 07 '17 01:07 wbt

Unfortunately we never added migrations. The source code is old enough that there wasn't such a thing as migrations when it was first written. We should tho - if you want to do a pull request just to add migrations for existing models, that'd be helpful.

The Django version is specified at https://github.com/govtrack/govtrack.us-web/blob/master/build/pipreq.txt#L1.

JoshData avatar Jul 07 '17 19:07 JoshData