GSoC ideas
This is the ideas page for Public Lab's Google Summer of Code program. Many are slightly out of date or have already been built! Please go ahead and edit these if you see things that need changing, as well as add your new ideas.
For a quick flashback, see
Our main repositories can be found here: https://github.com/publiclab
Important -- to learn how to contribute to Public Lab software, see: http://publiclab.org/wiki/contributing-to-public-lab-software
Who to contact with ideas/proposals
- plots-dev - the Public Lab developers discussion list. This is the list for programming related topics. Please use this list!
- plots-gsoc - the GSoC discussion list, more for GSOC logistics.
Either of these lists is fine; feel free to CC both.
How to post a proposal
Please first contact the above lists (even both!). Once your idea is more developed, please post a research note describing your proposal in detail. Tag it "gsoc". Here is the template we used last year.
Ideas list
Rich Profile Pages on PublicLab.org
Part of: PublicLab.org Description: A major build-out of profile pages on PublicLab.org, with tagging, geographic data, barnstars and research history browsing, sorting on /people, and lots of other features relevant to Community Development in Public Lab List: plots-dev@googlegroups.com Links:
- https://github.com/publiclab/plots2/issues/104
- https://github.com/publiclab/plots2/issues/308
- search to include profile content for admins: https://github.com/publiclab/plots2/issues/209
- https://github.com/publiclab/plots2/issues/317
- https://github.com/publiclab/plots2/issues/215
- barnstars: https://github.com/publiclab/plots2/issues/167
- barnstars custom graphics: https://github.com/publiclab/plots2/issues/265
- can we also add in tag sorting here? https://github.com/publiclab/plots2/issues/179 and tag optomization: https://github.com/publiclab/plots2/issues/99
Prerequisites: Ruby on Rails Difficulty level: hard Mentor: Jeff Warren (jeff@publiclab.org), Liz Barry (liz@publiclab.org)
Browser-based Arduino sensor data transfer using WebRTC and headphone jack
Description: A way to read data off of sensors from a website, using only an audio cable, building on modem.js and SoftModem (see links). Dramatically eases connecting to a sensor using a laptop or smartphone directly from a web page, no software installation necessary. List: plots-dev Links:
- https://github.com/dolske/modem.js
- https://github.com/arms22/SoftModem
- discussion: https://groups.google.com/forum/#!searchin/plots-airquality/audio/plots-airquality/3b3Y2vrMsoI/xebM6kNBEgAJ
Prerequisites: JavaScript, Arduino Difficulty level: medium/hard Mentor: Jeff Warren (jeff@publiclab.org)
Distortable image ordering in MapKnitter
Part of: MapKnitter, Leaflet.DistortableImage
Description: Create simple methods for ordering images in Leaflet.DistortableImage, the heart of MapKnitter, and saving these asynchronously in MapKnitter. Modification of export system to accept an order
parameter. This could also integrate disabling images from export using: https://github.com/publiclab/mapknitter/issues/36
List: plots-dev, grassrootsmapping
Links:
- https://github.com/publiclab/mapknitter/issues/116
- https://github.com/publiclab/Leaflet.DistortableImage
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org)
Queue-based MapKnitter export system
Part of: MapKnitter Description: De-couple MapKnitter main app from GDAL-based export queue to enable better scaling of exports and fewer interruptions of primary MapKnitter.org service during large exports. List: plots-spectrometry Links: https://github.com/publiclab/mapknitter/issues, https://github.com/publiclab/mapknitter/blob/master/app/models/map.rb#L200, https://github.com/publiclab/mapknitter/blob/master/app/models/warpable.rb#L152 Prerequisites: Ruby on Rails, GDAL, asynchronous queue-based server architecture, Amazon S3 Difficulty level: medium Mentor: Jeff Warren (jeff@publiclab.org)
Commenting on specific wavelengths in Spectral Workbench
Part of: Spectral Workbench Description: Enable comments on specific wavelengths which highlight those wavelengths in the displayed spectrum graph. List: plots-spectrometry Links: https://github.com/publiclab/spectral-workbench/issues/45 Prerequisites: JavaScript, Ruby on Rails, possibly d3.js Difficulty level: easy Mentor: Jeff Warren (jeff@publiclab.org)
Expanded Q&A system for PublicLab.org
Part of: PulblicLab.org Description: This is a critical step for moving from a separated email and website structure towards clearly answered questions prominently featured as the knowledge base of Public Lab. This project features a posting form, styling for presentation, "answering" feature, more outreach display for recruiting, integration with Rich Profiles to feature "helpful" people, displays of "common questions". List: plots-dev Links:
- Closest: https://github.com/publiclab/plots2/issues/162
- more background on the anticipated future transition away from googlegroups and towards a forum similar to "Stack Overflow": https://github.com/publiclab/plots2/issues/209
Prerequisites: Ruby on Rails, JavaScript/jQuery Difficulty level: easy Mentor: Liz (or someone else)