Skip to content
allourideas edited this page May 6, 2011 · 18 revisions

Contributing

Want to help All Our Ideas? We have several open problems that we think are good tasks for someone who wants to contribute. We've split them into easier tasks and harder tasks, and we recommend trying an easier task first.

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 voters per active uploaded items

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

Of course you can let us know if you have any questions about any of these tasks.

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.