Skip to content
allourideas edited this page Jul 1, 2011 · 18 revisions

Contributing

Want to help All Our Ideas? We have several open problems, and solving these would really help us and all of the All Our Ideas users. We've split things up into easier tasks and harder tasks, and we recommend trying an easier task first. Of course, you should let us know if you have any questions about any of these tasks.

Easier Tasks

Adding new API calls

  1. create API call to calculate median number of responses per session where there is a response
  2. create API call to calculate number of votes per active uploaded items [This gives us a measure of the ratio of the two types of participation: uploading & voting]
  3. create API call to calculate the percentage of session that upload an idea
  4. create API call to calculate the amount of intranstivity in the votes in a single session
  5. create API call to see if a newly uploaded idea is an exact duplicate or likely duplicate to an idea that has already been included

These tasks will involve working with the pairwise-api repository. Here are the general steps required for completing one of these tasks:

  • add methods to the proper models that will get us the data we're looking for
  • add tests for new model methods
  • create new controller action that will call new model methods and return XML
  • add new route for new controller action
  • add tests for controller action

See this commit for an example that created a new API call: https://github.com/allourideas/pairwise-api/commit/1a096cc

Research new map widget for displaying data

We're currently using http://code.google.com/apis/chart/interactive/docs/gallery/geomap.html to power some maps on our results page (e.g., World map of all votes). However, we'd like to use something a bit more interactive that allows zooming. We'd like you to research available widget that we could use the provide the current functionality with the addition of the ability to zoom into the maps. Also, it would be good to verify that the new widget can be easily integrated into our current setup. You can view our current implementation here: https://github.com/allourideas/allourideas.org/blob/master/app/views/questions/voter_map.html.erb

Translating the voter-facing portions of the website into a new language

See http://blog.allourideas.org/post/5137327337/languages-and-all-our-ideas for more on our internationalization efforts.

Harder tasks

Refactoring

It might be possible to speed up some of our current API functions. If so, please let us know or even better try it yourself.