bobwhitelock / gotv-dashboard Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://www.getoutthevote.uk
License: GNU Affero General Public License v3.0
Home Page: http://www.getoutthevote.uk
License: GNU Affero General Public License v3.0
Think mainly benefits the committee room - if they can identify the source of each observation it will be easier for them to make corrections and clarifications with the volunteers.
Phone number and display name could be sufficient for that.
We probably don't want to do anything that increases the friction for a volunteer sending their first observation so I'm imagining that they can send without setting any of their details and are offer the opportunity to add their details afterward.
Even if they don't share there details we probably still want an ID like a session ID against each observation so we can more easily ignore bogus ones if we get them.
Required: Ability to change observation numbers
Optional: Have edits be tracked rather than obliterating fact that original observation was different (maybe using https://github.com/collectiveidea/audited?)
Optional: Delete observations (maybe using soft deletes, and maybe they should still be shown in the dashboard table of observations), so inaccurate observations are not accounted for in calculations
Optional: Possibly need some way of only allowing committee room to do this - maybe simplest is another unique URL generated for this feature? Or this can be treated as a nice-to-have and we can just go with anyone who gets to the dashboard being able to do this for now.
Hard to find navbar links on mobile (in hamburger)
And make sure:
a. it is clear when making an observation which ballot box this is for;
b. when displaying things on the dashboard, we probably want to show the raw figures but use the summed figures for each polling district in calculations.
are we allowed to use the rose we icon or is it just an official Labour party thing
Labour party can do a lot of this stuff via their own apps but convoluted, not connected, more trouble than it's worth[a]
- Labour party apps are too complicated - because they are based on individual voters (rather than [areas])
- More useful: how many volunteers are there, where are they, what are they doing, how many boards out - integrate with committee room sign in form? Allow volunteer to sign out or organiser to update
- Labour party apps don't do anything to do with volunteers atm, possibly this is where we could be uniquely beneficial
Matt thinks putting phone number in is unnecessary/possible data protection issues. But would still like to use [the GOTV dashboard] as standard sign in system at some point - maybe with password protection?
Would be useful to see where volunteer groups are, GPS reporting of locations
Originally requested by Matt in meeting
User not able to fully recognise real places from digi list.
On the app is a full list of polling station boxes, where there are multiple boxes per physical location
Suggestion:
Heading: glade primary school
Subheading: 2 glade primary school boxes
add visual affordance for polling place <-> polling station link.
Hard to remember which of two neighboring boxes has been submitted first when submitting two at the same location-when you submit a second count, show a summary of the previous submission floating at the top to verify which box you should be submitting
We aren't currently handling importing 'polling district' etc. for areas apart from Redbridge test area (so this isn't currently useful for other areas)
How unique was the situation in EU election test, of only being given registered voters/Labour promises grouped by district? If this won't actually occur in other elections then maybe we can just revert this; if this may sometimes occur then maybe we should make this feature optional (this would require more work though as current stuff a bit hacky, would also need to update things to import polling districts and/or make things not break when no polling districts, and would need to make this toggleable in some way)
'Labour party' asked the committee room to get counts for some wards outside the committee rooms area (Hainault). This does happen some times but [no end to this sentence]
editing workspace scope - do we need to able to import from multiple councils?
Could help with https://github.com/CampaignLab/gotv-dashboard/issues/13 and also obviate need for https://github.com/CampaignLab/gotv-dashboard/issues/3.
Labour party imposes no requirement on what mechanism should be used for volunteers to sign in with - is just useful for tracking who is available.
Ordering on dashboard could be better - unless an area is particularly exceptional the ordering is always going to be with large polling districts first. Order areas with low turnout, but proportionally high Labour promises first?
Guesstimated votes is useful though not completely accurate. Could be useful to customize how likely you think labour voters are to actually turn out in each area (rather than assuming they're as likely as the average voter). Matt actually does something similar to this weeks ahead of elections to figure out where to target campaigning, particularly important for council elections as less resources and have to make sure get enough votes in each council seat area
Matt: not sure how useful putting in live Labour promises voted as get results back from door knocking, could be more effort than it's worth. Possibly more useful to just be able to shift labour vote rate used in guesstimates up or down (but maybe this should be done ahead of time to avoid you convincing yourself of things you already know).
Sorting polling stations dynamically is possibly confusing - use standard ordering, maybe flag the results visually instead that need more attention - high/low turnout etc.
Waiting to hear back from Matthew about whether this is needed.
Ability to undo/annotate last input
When submitting a observation - Almost made a mistake
One volunteer appeared 5 times but they're only one person - why? Cookie disappeared? Also got an issue one time about not having permissions - csrf issue
To avoid issues between development and production due to mismatch in features between Sqlite and Postgres.
Possibly the best way to do this is to just Dockerize the app, for ease of setting up our own and new development machines (just need to install Docker in multiple environments, rather than Rails, Gems with possible binary extensions, Postgres etc.)
Matt - theoretically anyone could get to that web link briefly checked through legal doc with Matt and seems like we're not near infraction, it's fine if they can. Need to review legal document in more detail
in terms of security the observations probably aren't that sensitive- any other party have access to the same data if they both to collect it. The Labour promise data probably is quite sensitive though- can we avoid storing it?
what do we want to do about security - is an access code enough?
Should be private but accessible by sharing a link - creates space, just used for single election
E.g.:
Possibly we should just be deduping them, on import so they only appear once. Or maybe this is a sign of a deeper issue, is displaying turnout proportion still accurate if a polling station is for multiple wards?
Possibly worth investigating following:
Get in touch with wheredoivote.co.uk people about where data coming from, why some things disappeared and others reappeared - see https://campaignlabhq.slack.com/archives/CHYUJMERM/p1558381647029200
Take a look at Labour polling finder dashboard to see if can find out how it works, if we can use the same data (possibly this is related to wheredoivote.co.uk) - see Slack for link
people often turn up to committee room and they wait and wait to join a round (for a round to return and go out again).. if you had live location of the people doing the round (eg. The clipboard person) then you could send new arrivals to clipboard person's location))
Matt sent us a volunteer mid-round, this is a case where it would be useful to broadcast our location so he and the volunteer could easily find us, notify us they are coming
Maybe particularly target next test area (don't know what this will be yet, will be any by-election nearish to London in about a month or so)
On mobile guesstimated votes / votes left: line break in bad place, can make it look like 'votes' number associated with 'votes left/ word => force break at '/'?
Possibly this is also the solution to https://github.com/CampaignLab/gotv-dashboard/issues/10: polling stations can appear twice in system, but that is because they represent same polling station for different ward?
App should guide you through process more, have next actions for polling agents visible in phone with large text held landscape - reduce header size, make send another count button more prominent, make adding your details to associate with observation immediately obvious, make selecting polling station immediately flip you to page to enter count there?
Should not require scrolling when entering a count (or at least indicate you need to scroll)
Don't know to scroll down from selecting box!!
most users not comfortable with below the fold UX patterns
Should provide chance to check what you're about to record and correct this if made a mistake
When submitting a observation - Almost made a mistake
Should display current box and polling station when making observation for reference
Be good to show selected box number when entering count to keep it in mind - polling station reference and number
Change wording shown on completion of logging a count
The wording of 'when you pass a polling station' was confusing because volunteer was not canvassing, was just visiting polling stations
journey wording less specific about how the committee room is organised - eg not 'when you're passing a polling station'
Move entering submitting observation and adding a volunteer name out from below the fold, and possibly just make the latter required up-front (as it is always useful)
The choice between submitting another count and entering volunteer name not clear because volunteer name prompt was below the fold.
most users not comfortable with below the fold UX patterns
deal with below the fold UX issues (submit obs and enter user name)
Below fold issue, would be better to guide you through, but also want to allow correcting selecting wrong thing
Make phone optional when adding a name (or just remove entirely?)
Possibly phone should be optional initially, organizer knows
can we avoid holding Personal Sensitive Information - volunteer phone number
Matt thinks putting phone number in is unnecessary/possible data protection issues. But would still like to use [the GOTV dashboard] as standard sign in system at some point - maybe with password protection?
Consider if how polling station to log observation for is found could be improved
polling station reference number very widely used - perhaps this should be primary way of finding stations (along with address of the polling place).
Improve feedback and trust in the system
what can we do to increase trust in the system so volunteers don't feel they need to record obs on paper too - show them their observations in confirmation page? do an onboarding submission? And verification page.
Possibly would be useful to flag possibly bad results? Turnout gone down, not up much at all in several hours, gone up way too much etc. Maybe ‘delete’/’flag suspect observation’ is more useful that ‘edit’ on the committee room view since the committee room can’t know what the real observation was.
Would help show organiser how this compares to past elections, and roughly how high it might go this time
Could maybe be input up-front, or could be imported using https://github.com/CampaignLab/gotv-dashboard/issues/16
Requested by one organiser in meeting
Volunteer looked at list of for polling stations the night before and Planned out order to visit them. Worked out exact route on the day.
Plotting a route between stations (via car or foot etc) would be useful, lots of discussion of best route to take
Possibly would be useful to impose more structure on what polling stations are on your route, which are in the same polling place - we might have missed one box + weren't clear which stations we were covering
Do we want to include route planning in scope. its a problem volunteers are faced with but does it help with our goals of A) managing volunteer time on the day and B) planning volunteer allocation for future elections.
volunteers had in their head the list of stations that they should visit and after each one were saying, for example, 'right, two more to go'. Should we be giving feedback to volunteers about the progress they are making in the app.
how much structure, if any, do we want to add to the observation rounds? Structure in the station is more important
Routing between polling stations would be useful to give you best route between polling stations. Would also be useful to detect where you are so just show local boxes most prominently
observation cadance - volunteers were visiting stations in batches eg visit four stations at midday, then the same for at 3pm, 6pm, and 9pm. Should we represent this cadance in the system eg 'We have counts for all your stations this between 12am and now.'
Electoral Registration Officer (council) should normally tell you how many registered voters (and promises) per polling station ahead of time, this time only gave figures per polling district/place and slightly out of date. But can get exact registered voters when polling agent goes to box - could be useful to allow updating this too when log observation
Registered voters - Include (optional) ability for volunteers to confirm number of registered voters per station on submitting first observation for a polling station. Low priority, normally we know these figures ahead of polling day.
how should workspaces be aggregated. It would be nice if the workspaces (campaign centre manager) could be shared with an aggregate dashboard for the borough wide - (agent or organiser). while avoiding 'command and control'.
Hard to tell turnout etc changes for single polling station - allow viewing this? On both dashboards?
Useful structure might be prompts from the list of things commonly forgotten or acrewed up (in polling station)
how much structure, if any, do we want to add to the observation rounds? Structure in the station is more important
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.