This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
This project is for someone interested in political campaigns. It has a series of computer projects, from very easy to quite sophisticated to manage canvassers. Canvassers are typically volunteers, but they are still a scarce resource and need to be used efficiently. I have done some doorknocking myself and these ideas are based on that experience.
|Canvasser Checklist (who gets what?)
|James Bay New Horizons 234 Menzies
do you need?
|How to Vote
|Vote Early leaflets
Any major political party will likely already have a voter/canvasser database. You might want to integrate this feature into it, or export data from it to a PC (Personal Computer) program that either prints the sheets by generating them with Swing or by generating HTML (Hypertext Markup Language) tables. Canvassers get a orientation when the rules of who gets what, but forget once they get out into the field. A low-tech solution is to compose such a form in a word processor with blanks to be hand filled later. A little sheet like this will make sure the official policy is more likely followed. It will also help the volunteer check his kit is complete before he walks out the door.
I have used a -2 .. +2 rating scheme since is obvious that +2 means the voter is enthusiastic about our part rather than the NDP (New Democratic Party) ’s traditional 1 .. 4 which where 1 means most enthusiastic. Imagine the havoc if a canvasser interpreted it backwards!
By now I think you can see what I am driving at. It is necessary to track not only successful calls but unsuccessful ones to gradually, perhaps over years, glean when the optimum time to call is, both days of the week and times of day. We need canvassers to record the time of each call, completed or not. Automated phone call placing software for voice canvassers should surely know from they many probes when people tend to be home. Doorstep canvassers should know what that computer knows so they don’t waste time. With a database of such information, (similar to ones burglars keep) you could safely send out a team picking off the night owls only, or shift workers etc. They key point is this, if we knew with 95% certainty a certain voter would not be home on this round, that is not low hanging fruit. The canvasser should get on with someone else. That would result is a much higher percentage of completed calls. Just before the canvasser walked the door of the campaign office, the computer could produce him a super-fresh list of just those people should be contacted right now.
Canvassers are typically not familiar with the territory. They have to ask themselves, Where am I? What building am I in? On what page do find the information about this door in front of me? Am I supposed to canvas that building? I am at the end of a block, where am I supposed to go next? I spent far more time scanning sheets of paper and looking at the map than I did talking to voters on my round today. Mailmen don’t have this problem for two reasons:
Simply sorting the record sheets in walking route order would solve most of that problem. But how do you go about doing that? This is the second student project.
How do you decide the best way to walk a territory? Basically you canvas one side of the street until you can go no further, then you flip to the other side and keep going. You only canvass the streets inside a given boundary which runs down the center of the bounding streets. There exist digital street maps of each poll region. You could handle this mathematically as a sort of traveling salesman problem to visit all the houses to be canvassed on that pass. It does not matter if the solution is the absolutely perfectly shortest, but it has to be good enough that people perceive the route as reasonable. Probably each side of a block should be considered a single leg. The database may consider some parts of the route as higher priority, so it might put those legs on the early part of the route. Canvassers could pass there experience back to fine tune the routes. You might also define the routes by having someone wave a mouse or digitiser over the map, walking the virtual route. You then have to take that geographical information and use it to label the various streets in the region separately odd/even, so that the computer can assign a walk route sort number to each street address. For proof of concept, you could even assign the order manually with a keyboard. You could even assign the order on a house-by-house basis to deal efficiently, for example, with rear and corner entrances. You might to try the idea out first on a sampling of live canvassers to see how they like the by-route order. A canvasser could ask for it in street-name order or by-route order.
The base canvasser information comes from the government’s voter registration. People who are not yet registered to vote don’t show up. In my whole day of canvassing I think I definitely won over only one vote. I had accidentally gone to a newly-built house with no registered voters. The tradition is to ignore these people since the are not voting. However, there is plenty of time to register and these people are not as likely to be set in their ways. In other words, they are still influenceable, unlike nearly everyone else. I think much more attention should be tracking what is going on in house without registered voters. Sometimes there is good reason, e.g. they are not citizens. Sometimes this reason excludes them forever. Sometimes it just that nobody asked them to vote. So another student project is a database to track these potential voters.
Think about the many ways a smart cellphone, with a custom canvassing app, especially one with GPS (Global Positioning System), could be used to make canvassing more efficient.
In projects like this:
Your task as student programmer is to write a call phone Java app to implement some of the above ideas. You also have to write the JSP (Java Server Pages) server-side code to talk to all the canvassers’ cellphones in the field. You might eventually write an HTML version of the interface so that people with lap tops or other non- GPS devices could get some of the benefits. You probably should start with Android and then once it is working thing about branching out. It should run on an a variety of cellphones and laptops, such as iPhone, iPad, BlackBerry, Windows 8 and possibly even the Kindle Fire. You need to find out what your volunteers tend to own or have access to. After you have proved proof of concept with a miniature database for one polling region, you need to work on integrating your work with what has already been done. This will end up being the more difficult part, especially selling your party on the advantages of doing this and investing in this cutting edge technology. In the process you will pretty well have to simulate to some degree everything that has been done before. A finished system has to integrate phone and foot canvassers for example and has to provide all kinds of reporting. All through your design process you must provide hooks to make it possible to integrate your work with what has already been done, with data exchange in real time. If you are interested in selling this as a generic too for use by any party in any sort of election, you need to think about ways to may it customisable while retaining a solid common core. Study up on the use of delegates, (the computer programming kind, not the political kind.)
One the system were shaken down and proven, a party might buy some smart cellphones to lend to volunteers. This in itself would be a perk to get people to volunteer. It is a fun toy. It would be like Star Trek. It would also help establish the party’s prestige as competent in technology.
Le mieux est l’ennemi du bienBeware of trying to plan and implement everything all of a piece. It is best to develop some small part of it and get it into the field. That experience will make you ever so much smarter than you are now to design and build the next step. Things that sound so useful later drop away and other things you never thought of become the top priority. Besides, the goal is to stay ahead of the competition. If you get too fancy too fast, you won’t have any edge at all over the competition for quite a while. See Kent Beck’s Extreme Programming. Arthur C. Clarke wrote a short science fiction story, whose name escapes me for the moment, about the phenomenon. It is part of engineering school curriculums.
The perfect is the enemy of the good.
~ Voltaire (1694-11-21 1778-05-30 age:83) [François Marie d’Arouet Voltaire]
I wrote this student project outline based on my experience canvassing for the NDP but the ideas probably apply in other countries for other parties and causes — anyone who does doorstep canvassing. It would even work for charities or organisations trying to get petitions signed, or for third party canvassers who work for various clients. Though I hope this work advances pro-environmental causes, pro-peace, anti-poverty causes, the ideas are in the public domain and anyone is free to implement them.
This page is posted
Optional Replicator mirror
Your face IP:[220.127.116.11]
You are visitor number