Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This is probably OT but it's less OT here than on any other SO site, so please bear with me.

I'm working on a new project votEm. The goal is to give independent candidates a platform to introduce themselves to get elected for a political office.

My main reason is that today, it's too expensive to run for an office. Some politicians in the US spend as much as 30 million dollars (!) for a single campaign. That money is better spent elsewhere. In a similar fashion, people who want to change countries like Egypt, could use such a platform to present themselves.

Now I expect a lot of emotions and pressure on my site. People with a lot of money (and a lot to lose) will try to game it (political parties, secret services of ... errr ... "not 100% democratic countries", big companies, ...)

To avoid as many mistakes as possible, I need a list of resources, ideas and tips how to keep such a site out of too much trouble.

PS: I'd make this CW but the option seems to be gone...

share|improve this question
    
Making posts CW is apparently not generally available any more, only to users having high reputation (something like over 15000... I couldn't find the exact info). –  Péter Török Feb 21 '11 at 8:35
2  
"To avoid all the possible mistakes". You can't. "All Possible Mistakes" is imponderable. It might help if you either listed specific mistakes that worry you, or stop using phrases like "all possible". –  S.Lott Feb 21 '11 at 11:05
    
@S.Lott: Agreed. I'll update my question. –  Aaron Digulla Feb 21 '11 at 13:37
    
++ Good luck. Let us know how it does, and what you find out. –  Mike Dunlavey Feb 21 '11 at 13:44
add comment

2 Answers

This may not be exactly what you are after, but in Finland there is a site where they collect election candidates' opinions about various issues and help people select the right candidate for them. I.e. you fill in a questionnaire on said topics, then they find the candidate whose public opinion best matches yours. My wife used it on several occasions and she says it's very helpful.

In general, I believe it may be helpful to pull information about the various candidates from the available news sources and media rather than allowing them to push the info they want. Of course this in itself would overrepresent the candidates with the highest media presence, so there should be an option available for the rest to publish their thoughts and ideas. The obvious way could be to let them answer the same questions in the questionnaire, possibly with some added reasoning about their aims, motives, priorities etc.

However, this possibility should be offered only selectively, to reduce the chances of gaming the system. Otherwise the bad guys could e.g. upload thousands of fake candidates to flood their opponents in a sea of fake names.

share|improve this answer
add comment

People with a lot of money (and a lot to lose) will try to game it

Until you define "game it", you're essentially doomed.

"To avoid as many mistakes as possible" is so vague that you cannot make progress. You have doomed yourself through lack of focus.

You have to actually state the use cases.

You have to figure out how people will authenticate themselves.

You have to figure out who will be authorized to execute the use cases. And you have to be absolutely clear on who can do what. If you're not clear in your own mind, you cannot write any code that will actually work.

You have to document this. Actors, Use Cases, Authorizations. Written down. In detail.

And you have to understand that -- realistically -- you cannot possibly think of all the various things that will go wrong. Instead of pre-worrying about things which you cannot foresee, just build something that simply does the use cases correctly.

Read the OWASP Vulnerability list. Pick reliable, simple, simple, simple, proven frameworks. Write the least volume of code you can possibly write, leveraging everyone else's security policies and frameworks. The less you do, the more secure it can be.

Also, find a hosting service that can handle the DDoS attacks that you seem to be hinting at.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.