codeforanchorage / project-ideas

A place to collect ideas for Code For Anchorage projects
1 stars 0 forks source link

Crowdsourcing Platform #10

Open ghumphr opened 9 years ago

ghumphr commented 9 years ago

Hi,

I've just started putting together a volunteer management framework. There has been recent discussion of a couple of projects that could make use of such a framework, and it would be good to have a system that would allow volunteer crowdsourcing participants to track volunteer hours, submit work and enter contests, as well as permit us to communicate with them in an organized manner. I think we can all agree that a crowdsourcing framework would be useful. It could have some functionality that would permit farming out tasks to crowd providers such as Amazon, but it is likely that for the most part, we will require local participants.

I am interested in others' views on what technologies to use to build the platform. I'm thinking of putting it together with standalone web pages running on a traditional LAMP stack, but there are a few other snazzy alternatives that are worth considering.

1 . License?

I'm leaning towards MIT-style license, but I'd be willing to use another type of license if someone has a good reason.

2 . Operating system.

The operating system will be Linux/BSD or a compatible system.

3 . CMS?

There are advantages and tradeoffs to using a content management framework like Wordpress/Django/Joomla!/Mediawiki/etc. Using a pre-built CMS, we would have a wide array of plugins and skins immediately available. But by not tying it to any particular CMS, we could add hooks to permit using it as a plugin under multiple CMSes.

4 . App or webpages?

I'm leaning towards web pages, but I can see some possible advantages to using Facebook apps for crowdsourcing. I think users should be permitted to use Facebook or Twitter for creating accounts/logging into the system. There are obvious advantages to running contests that allow users to vote on their entries and ask their social media followers to vote, but we'll still need to put in some serious effort to get volunteers. Also, we can always build Facebook/Android/iPhone/etc. apps on top of the platform.

5 . What database?

MySQL is the obvious choice, but MongoDB would scale better if we had an extremely large number of volunteers. Any ideas that would require handling a volume of data that would exceed MySQL's capacity?

6 . What language(s)?

PHP is a good choice, but maybe Ruby or Python would be preferred for some reason? Perhaps even Javascript under a Node.js framework..?

What are your thoughts ?

thermokarst commented 9 years ago

Thanks @ghumphr for the detailed write-up!

I have a few questions about the scope of this proposal: can you elaborate on how this would be different than leveraging GitHub, for example? We are already utilizing the GH platform as a means for intra-developer communication. Maybe we can expand on that somehow?

Also, are you familiar with projects like Redmine (http://www.redmine.org) and Trac (http://trac.edgewall.org/)? These are examples of very robust project management platforms that are quite stable, and have rather lengthy history. Maybe instead of building something from scratch, we could take a closer look at some existing tools, which already provide time tracking, issue submission, and multi-modal communications.

Thanks again for the detailed proposal, look forward to discussing more in the future!

ghumphr commented 9 years ago

Hi @thermokarst,

Github is built around a version control system for source code. It's not really oriented towards data entry or uploading photos.... If we have a hundred volunteers taking photos of trails around town, they probably aren't going to be incredibly interested in version control. Likewise, if we have a dozen volunteers filling in missing entries in a spreadsheet, proofreading press releases or writing art reviews, we want to make things as simple for them as possible. In particular, user registration should be highly streamlined. While you and I may see value in version control and issue tracking, the average non-coding volunteer will have a somewhat different set of requirements.

I hope this is making sense to you. Right now, we have project proposals requiring volunteers to a) concurrently edit a spreadsheet b) upload photos for a photo contest and c) enter missing location data. We're going to require functionality beyond what is provided by Github.

thermokarst commented 9 years ago

@ghumphr: Can you please clarify, is this ticket for the Trails Contest? I am a bit confused, because your original comment said "There has been recent discussion of a couple of projects that could make use of such a framework," which implies a generic project management platform. However, your most recent comment suggests that you are only referring to the Trails Contest. If this is the case (just the trails contest) --- I totally agree (see the next paragraph in this comment), however if we are talking about project management, I think GitHub is a very capable platform. Can you please provide some clarification? Thanks!

Regarding the Trails Contest --- we discussed this topic at length at last week's CfA meeting. We are planning on getting a few folks together this week to kick off the project --- we will keep you posted here on a date/time.

ghumphr commented 9 years ago

This is not a ticket for "only" the trails contest; this is a request for any opinions on a platform on which crowdsourcing activities such as the trails contest could be carried out. I'm not sure if I'll be available for the kickoff, but do let me know the date/time.

thermokarst commented 9 years ago

Gotcha --- maybe it would be helpful if you filled in the template found here: https://github.com/codeforanchorage/project-ideas/blob/master/README.md, that way we have a really clear summary of what is is you're proposing.