This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code prog...
Public Lab is an open community which collaboratively develops accessible, open source, Do-It-Yourself technologies for investigating local environmental health and justice issues.
220 | IgorWilbert |
March 07, 2019 10:43
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
Garuav Sachdeva (@gauravano) [prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:MapKnitter Rails 5 mentor names here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter Image Management mentor names here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:MapKnitter synchronous editing mentors names here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter UI mentor names here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:MapKnitter Cloud Exporter mentor names here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
Igor Wilbert (@IgorWilbert) [prompt:text:Image Sequencer mentor names here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Community Toolbox mentor names here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Microscope Live Stitching mentor names here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Spectral Workbench Capture mentor names here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Sensor data upload mentor names here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Notifications system mentor names here] |
Revert | |
219 | warren |
March 06, 2019 23:34
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
Garuav Sachdeva (@gauravano) [prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:MapKnitter Rails 5 mentor names here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter Image Management mentor names here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:MapKnitter synchronous editing mentors names here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter UI mentor names here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:MapKnitter Cloud Exporter mentor names here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Image Sequencer mentor names here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Community Toolbox mentor names here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Microscope Live Stitching mentor names here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Spectral Workbench Capture mentor names here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Sensor data upload mentor names here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Notifications system mentor names here] |
Revert | |
218 | warren |
March 06, 2019 23:34
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
Garuav Sachdeva (@gauravano) [prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:MapKnitter Rails 5 mentor names here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter Image Management mentor names here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:MapKnitter synchronous editing mentors names here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter UI mentor names here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:MapKnitter Cloud Exporter mentor names here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Image Sequencer mentor names here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Community Toolbox mentor names here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Microscope Live Stitching mentor names here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Spectral Workbench Capture mentor names here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Sensor data upload mentor names here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Notifications system mentor names here] |
Revert | |
217 | warren |
March 06, 2019 23:33
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
Garuav Sachdeva (@gauravano) [prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:MapKnitter Rails 5 mentor names here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter Image Management mentor names here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:MapKnitter synchronous editing mentors names here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:MapKnitter UI mentor names here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:MapKnitter Cloud Exporter mentor names here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Image Sequencer mentor names here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Community Toolbox mentor names here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Microscope Live Stitching mentor names here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Spectral Workbench Capture mentor names here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Sensor data upload mentor names here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Notifications system mentor names here] |
Revert | |
216 | warren |
March 06, 2019 23:28
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
Garuav Sachdeva (@gauravano) [prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
215 | warren |
March 06, 2019 23:27
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:LEL mentor names here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
214 | warren |
March 06, 2019 23:27
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:Your name here (LEL mentors)] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
213 | bansal_sidharth2996 |
March 03, 2019 18:04
| almost 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
212 | warren |
February 14, 2019 20:07
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Public Lab Notifications systemPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: The Notifications API (https://developer.mozilla.org/en-US/docs/Web/API/notification) allows for UI notifications on mobile and desktop initiated from JavaScript. This project would build out such a system, with the backing of a new API on The project would be made up of client-side code to display notifications (and prevent multiples from being posted if multiple windows are open), and a back-end API to trigger them when new content is posted, potentially using Action Cable. Read more at: https://github.com/publiclab/plots2/issues/2497 This project may need to be combined with other work to be large enough for a summer's work. List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
211 | warren |
February 06, 2019 20:40
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 Also see: https://github.com/publiclab/Leaflet.DistortableImage/issues/110 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
210 | warren |
February 06, 2019 18:10
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:Your name here] |
Revert | |
209 | warren |
February 06, 2019 15:55
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors:
[prompt:text:* Your name here] MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors:
[prompt:text:* Your name here] MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors:
[prompt:text:* Your name here] Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors:
[prompt:text:* Your name here] Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors:
[prompt:text:* Your name here] Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors:
[prompt:text:* Your name here] |
Revert | |
208 | warren |
February 05, 2019 22:33
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE |
Revert | |
207 | warren |
February 05, 2019 22:28
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Rails 5 UpgradesPart of: https://github.com/publiclab/mapknitter Description: MapKnitter.org lets people upload their own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print. It includes several sub-components, including a JS UI, but the core application is written in Rails. As part of our big upcoming upgrades to the MapKnitter platform, a range of Rails changes and improvements will make up the core of this project idea. Some of the changes will be aimed at infrastructure and sustainability, as we can't make big changes or improvements without, for example, better tests and a more up-to-date Rails stack. Others will be bug fixes and cleanup of the existing system. To list some:
To see a full list of sub-projects, see https://github.com/publiclab/mapknitter/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Image ManagementPart of: https://github.com/publiclab/mapknitter Description: MapKnitter is based around the upload of images, the positioning of those images on a map, and the compositing of those images into map export formats. This project idea focuses on the systems for tracking changes on those images, collecting them into sets, storing image history, and other improvements which we hope will simplify and reconfigure the MapKnitter codebase. This may include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Synchronous EditingPart of: https://github.com/publiclab/plots2 Description: A long sought feature of MapKnitter is the ability to collaborate in real time on image upload and placement, as if it were Google Docs. This will involve changes from the MapKnitter codebase to the Leaflet.DistortableImage front-end image distortion UI. Parts of this project would likely involve:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Ruby on Rails? Difficulty Level: easy/medium/hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter UIPart of: https://github.com/publiclab/Leaflet.DistortableImage Description: MapKnitter's interactive image distortion UI is implemented in a Leaflet library called Leaflet.DistortableImage, which needs some major improvements. The changes might be built into the core library or could be developed as a set of extension libraries. Tasks include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE MapKnitter Cloud ExporterPart of: https://github.com/publiclab/mapknitter Description: An serverless Exporting system for MapKnitter maps built around a Docker containerized Image Sequencer image processor, and/or a GDAL/ImageMagick alternative. We are exploring parallel tracks for cloud-based MapKnitter exporting, and one option is a JavaScript based process, while the other is a more traditional approach with a containerized GDAL/ImageMagick approach as currently used in MapKnitter. The base idea is to run the export process as a scalable web service, possibly "serverless" or REST, in Google Cloud and/or other cloud providers like Amazon AWS Lambda (primarily Google Cloud but compatible with others). Importantly, either approach would ideally present the same API so that we could swap or compare their performance. A much more in-depth description of this project can be found here: https://github.com/publiclab/mapknitter/issues/298 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: Ruby on Rails, serverless architecture, nodejs, possibly GDAL Difficulty level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE |
Revert | |
206 | warren |
February 05, 2019 21:49
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] 2019 IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Sensor data upload and display libraryPart of: https://github.com/publiclab/plots2 (though will be in standalone repository) Description: Many people across Public Lab and in DIY environmental work create and need to manage data easily without being a programmer. This will be a web-based JavaScript + HTML library which will allow drag-and-drop of CSV sensor data onto web platforms such as PublicLab.org, but will maintain modularity as a reusable library. It would feature:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Leaflet Environmental LayersPart of: https://github.com/publiclab/leaflet-environmental-layers Description: LEL - a collection of different environmental map layers in an easy to use Leaflet library. This new library is rapidly seeing many new layers, and we need some additional structure to help make the display/management of this amazing data smoother. This would include:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Leaflet JS Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Image Sequencer (multiple possible projects)Part of: https://github.com/publiclab/image-sequencer Description: Image Sequencer is a general purpose, step-by-step image processing library in pure JavaScript, which we are building out to support a range of image-analysis tasks across Public Lab and beyond. We have a rang e of big projects we are eager to implement to dramatically improve performance, implement much-needed new module types, and more:
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Community ToolboxPart of: https://github.com/publiclab/community-toolbox Description: Community Toolbox has become a core part of our success in growing our community and welcoming newcomers. Now we seek to refactor, standardize it and build tests to ensure its stabiliity and maintainability. This will include a data storage layer following the MVC schema, though in pure client-side JavaScript. It will include better defined views and modular utility functions. The result will be a library more people and projects can take up to use themselves, as well as more ways to understand a growing community -- who is involved, who is stuck, who is supporting others for any given time period. It could include a "how to" for different orgs, a menu of common views, and integration of the all-contributors spec for defining what kinds of contributions are recognized and valued: https://github.com/all-contributors/all-contributors List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, Nodejs Difficulty Level: medium Potential mentors: Jeff Warren, ADD YOUR NAME HERE Microscope live stitching, auto-stitch in MapKnitter (magnetic attraction)Part of: https://github.com/publiclab/image-sequencer, https://github.com/publiclab/Leaflet.DistortableImage Description: Multiple Public Lab projects, from microscopy to map stitching, require easy-to-use techniques for joining multiple images into a larger image. While high-end approaches for this often involve "bundle adjustment", we propose a different approach, which either a) runs blob tracking in video or sequential images to determine image offset, or b) runs low-res pattern matching between image pairs, and uses different UI approaches to indicate matches to the user (magnetic attraction, spiderwebs connecting matched points, highlight of matched image pairs). Other variations are possible but we envision a general purpose set of JavaScript utility libraries which accept two images, and output the matching pixel pairs, as well as one which takes sequential input images and attempts to place them on a growing virtual canvas based on matches. Other solutions are welcome but we hope to incorporate these into both Image Sequencer and Leaflet.DistortableImage, as well as potentially a web-based demo for use with a microscope live video feed. Read more on one approach: https://github.com/publiclab/image-sequencer/issues/300 List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, NodeJS Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE Spectral Workbench CapturePart of: https://github.com/publiclab/spectral-workbench, https://github.com/publiclab/spectral-workbench.js Description: DIY spectrometry has long been part of Public Lab's open source work, but our software is showing its age and is too spaghetti-like. We are slowly refactoring the spectral capture interface from Spectral Workbench into a stand-alone library which can produce spectral data for upload to SpectralWorkbench.org or download locally in CSV or JSON format. UI testing in Jasmine and code modularity using Browserify would both be great. This could ultimately become its own library called
List: plots-dev@googlegroups.com, https://publiclab.org/chat Prerequisites: JavaScript, some Ruby on Rails (for integration) Difficulty Level: hard Potential mentors: Jeff Warren, ADD YOUR NAME HERE |
Revert | |
205 | warren |
February 02, 2019 18:14
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! (ideas coming soon) |
Revert | |
204 | warren |
February 02, 2019 18:13
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] IdeasThe following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Email integration projectPart of: https://publiclab.org / https://github.com/publiclab/plots2 Description: Daily "batch digest" email subscriptions using Rails ActiveJob (https://github.com/publiclab/plots2/issues/1119), reply-by-email to comments on the site using Mailman following some of these instructions: https://github.com/publiclab/plots2/issues/214 -- and finally, a user interface for managing digest settings and email notification settings. See this for more details and related issues:https://github.com/publiclab/plots2/milestone/9 List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, @icarito, Mayank Kashyap(@mkashyap354) OAuth-based login for FB, TwitterPart of: https://github.com/publiclab/plots2 Description: Very highly sought! Add OAuth user login so people can log in via Google account, Facebook, Twitter. Let's start with a single of these -- Facebook -- and repeat integration steps for additional OAuth services. This will include development of a "Log in with _____" interface, tests, and integration with the profile tagging system to link accounts with the OAuth originating account. https://github.com/publiclab/plots2/issues/683 List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: easy/medium Potential mentors: Jeff Warren (@warren), Supun Wanniarachchi (@supun) Interactive Project MapsPart of: https://github.com/publiclab/plots2 Description: A browseable map of projects (wiki pages tagged with "project" tag) based on this initial implementation (https://publiclab.org/wiki/inline-maps) for people to find and learn about projects near them. This uses the Leaflet map library, and we'd like clicking on the map marker to show things like the title, lead image, # of contributors, and related topics names (tags). This would require both JavaScript work with Leaflet and Ruby on Rails work to generate the listings, as well as interface design work to develop the browse-able map interface. An alternate view would display current map marker records as a list.
List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Stevie Lewis (@stevie), Supun Wanniarachchi (@supun) Social Media IntegrationPart of: https://github.com/publiclab/plots2 Description: People are increasingly engaging with Public Lab community and questions via Twitter or Facebook. We'd like to prototype and test out a means for posts on PublicLab.org to be tweeted (this already happens via IFTTT.com, but could be improved) and then (the hard part) for responses to those tweets to be shown on the original post automatically. This could be either with a sidebar "widget" or even more ideally, with each response being a comment with an embedded tweet, so that the original author is notified. If the text of the tweet could be saved in our database as part of the comment, and therefore be searchable, this would be our ultimate goal. List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails, Twitter API Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) v2 API developmentPart of: https://github.com/publiclab/plots2 Description: Our RESTful API has progressed rapidly in the past 2 years, and now includes a Grape/Swagger interface -- all documented at https://github.com/publiclab/plots2/blob/master/doc/API.md -- but we now need to migrate older API code into the new standard Swagger system and to make new API endpoints available for the statistical data we provide at https://publiclab.org/stats. We additionally need documentation and integration of our token-based write API to enable 3rd party app integration including bots and command-line clients. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) Upgrade to Rails 5Part of: https://publiclab.org / https://github.com/publiclab/plots2 Description: We're doing a more aggressive campaign to keep our dependencies up to date, having recently migrated to Rails 4.1, and with some progress to Rails 4.2. We expect the Rails 5 upgrade to be easier, but still a substantial task. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @icarito, Mayank Kashyap(@mkashyap354) Rich Editor ExtrasPart of: https://publiclab.org / https://github.com/publiclab/plots2, https://github.com/publiclab/PublicLab.Editor/ Description: Better user interfaces for inserting inline power tags like Activity grids, Questions grids, maps, and other features (many listed here and here) from inside the Rich Editor and/or the Inline Editor interfaces. This will require Bootstrap HTML UI work on the PublicLab.Editor project, as well as integration with the PublicLab.org website back-end, ideally through our growing standard API: https://github.com/publiclab/plots2/blob/master/doc/API.md For a starting piont, see an example interface in the Editor project demo, here: https://publiclab.github.io/PublicLab.Editor/examples/ List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails, JavaScript, Bootstrap Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Liz Barry (@liz), Supun Wanniarachchi (@supun) |
Revert | |
203 | warren |
February 02, 2019 18:12
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] IdeasWant to propose an idea? Click here The following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Email integration projectPart of: https://publiclab.org / https://github.com/publiclab/plots2 Description: Daily "batch digest" email subscriptions using Rails ActiveJob (https://github.com/publiclab/plots2/issues/1119), reply-by-email to comments on the site using Mailman following some of these instructions: https://github.com/publiclab/plots2/issues/214 -- and finally, a user interface for managing digest settings and email notification settings. See this for more details and related issues:https://github.com/publiclab/plots2/milestone/9 List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, @icarito, Mayank Kashyap(@mkashyap354) OAuth-based login for FB, TwitterPart of: https://github.com/publiclab/plots2 Description: Very highly sought! Add OAuth user login so people can log in via Google account, Facebook, Twitter. Let's start with a single of these -- Facebook -- and repeat integration steps for additional OAuth services. This will include development of a "Log in with _____" interface, tests, and integration with the profile tagging system to link accounts with the OAuth originating account. https://github.com/publiclab/plots2/issues/683 List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: easy/medium Potential mentors: Jeff Warren (@warren), Supun Wanniarachchi (@supun) Interactive Project MapsPart of: https://github.com/publiclab/plots2 Description: A browseable map of projects (wiki pages tagged with "project" tag) based on this initial implementation (https://publiclab.org/wiki/inline-maps) for people to find and learn about projects near them. This uses the Leaflet map library, and we'd like clicking on the map marker to show things like the title, lead image, # of contributors, and related topics names (tags). This would require both JavaScript work with Leaflet and Ruby on Rails work to generate the listings, as well as interface design work to develop the browse-able map interface. An alternate view would display current map marker records as a list.
List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Stevie Lewis (@stevie), Supun Wanniarachchi (@supun) Social Media IntegrationPart of: https://github.com/publiclab/plots2 Description: People are increasingly engaging with Public Lab community and questions via Twitter or Facebook. We'd like to prototype and test out a means for posts on PublicLab.org to be tweeted (this already happens via IFTTT.com, but could be improved) and then (the hard part) for responses to those tweets to be shown on the original post automatically. This could be either with a sidebar "widget" or even more ideally, with each response being a comment with an embedded tweet, so that the original author is notified. If the text of the tweet could be saved in our database as part of the comment, and therefore be searchable, this would be our ultimate goal. List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails, Twitter API Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) v2 API developmentPart of: https://github.com/publiclab/plots2 Description: Our RESTful API has progressed rapidly in the past 2 years, and now includes a Grape/Swagger interface -- all documented at https://github.com/publiclab/plots2/blob/master/doc/API.md -- but we now need to migrate older API code into the new standard Swagger system and to make new API endpoints available for the statistical data we provide at https://publiclab.org/stats. We additionally need documentation and integration of our token-based write API to enable 3rd party app integration including bots and command-line clients. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) Upgrade to Rails 5Part of: https://publiclab.org / https://github.com/publiclab/plots2 Description: We're doing a more aggressive campaign to keep our dependencies up to date, having recently migrated to Rails 4.1, and with some progress to Rails 4.2. We expect the Rails 5 upgrade to be easier, but still a substantial task. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @icarito, Mayank Kashyap(@mkashyap354) Rich Editor ExtrasPart of: https://publiclab.org / https://github.com/publiclab/plots2, https://github.com/publiclab/PublicLab.Editor/ Description: Better user interfaces for inserting inline power tags like Activity grids, Questions grids, maps, and other features (many listed here and here) from inside the Rich Editor and/or the Inline Editor interfaces. This will require Bootstrap HTML UI work on the PublicLab.Editor project, as well as integration with the PublicLab.org website back-end, ideally through our growing standard API: https://github.com/publiclab/plots2/blob/master/doc/API.md For a starting piont, see an example interface in the Editor project demo, here: https://publiclab.github.io/PublicLab.Editor/examples/ List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails, JavaScript, Bootstrap Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Liz Barry (@liz), Supun Wanniarachchi (@supun) |
Revert | |
202 | warren |
January 02, 2019 19:05
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] IdeasWant to propose an idea? Click here The following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Email integration projectPart of: https://publiclab.org / https://github.com/publiclab/plots2 Description: Daily "batch digest" email subscriptions using Rails ActiveJob (https://github.com/publiclab/plots2/issues/1119), reply-by-email to comments on the site using Mailman following some of these instructions: https://github.com/publiclab/plots2/issues/214 -- and finally, a user interface for managing digest settings and email notification settings. See this for more details and related issues:https://github.com/publiclab/plots2/milestone/9 List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, @icarito, Mayank Kashyap(@mkashyap354) OAuth-based login for FB, TwitterPart of: https://github.com/publiclab/plots2 Description: Very highly sought! Add OAuth user login so people can log in via Google account, Facebook, Twitter. Let's start with a single of these -- Facebook -- and repeat integration steps for additional OAuth services. This will include development of a "Log in with _____" interface, tests, and integration with the profile tagging system to link accounts with the OAuth originating account. https://github.com/publiclab/plots2/issues/683 List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: easy/medium Potential mentors: Jeff Warren (@warren), Supun Wanniarachchi (@supun) Interactive Project MapsPart of: https://github.com/publiclab/plots2 Description: A browseable map of projects (wiki pages tagged with "project" tag) based on this initial implementation (https://publiclab.org/wiki/inline-maps) for people to find and learn about projects near them. This uses the Leaflet map library, and we'd like clicking on the map marker to show things like the title, lead image, # of contributors, and related topics names (tags). This would require both JavaScript work with Leaflet and Ruby on Rails work to generate the listings, as well as interface design work to develop the browse-able map interface. An alternate view would display current map marker records as a list.
List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Stevie Lewis (@stevie), Supun Wanniarachchi (@supun) Social Media IntegrationPart of: https://github.com/publiclab/plots2 Description: People are increasingly engaging with Public Lab community and questions via Twitter or Facebook. We'd like to prototype and test out a means for posts on PublicLab.org to be tweeted (this already happens via IFTTT.com, but could be improved) and then (the hard part) for responses to those tweets to be shown on the original post automatically. This could be either with a sidebar "widget" or even more ideally, with each response being a comment with an embedded tweet, so that the original author is notified. If the text of the tweet could be saved in our database as part of the comment, and therefore be searchable, this would be our ultimate goal. List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails, Twitter API Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) v2 API developmentPart of: https://github.com/publiclab/plots2 Description: Our RESTful API has progressed rapidly in the past 2 years, and now includes a Grape/Swagger interface -- all documented at https://github.com/publiclab/plots2/blob/master/doc/API.md -- but we now need to migrate older API code into the new standard Swagger system and to make new API endpoints available for the statistical data we provide at https://publiclab.org/stats. We additionally need documentation and integration of our token-based write API to enable 3rd party app integration including bots and command-line clients. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) Upgrade to Rails 5Part of: https://publiclab.org / https://github.com/publiclab/plots2 Description: We're doing a more aggressive campaign to keep our dependencies up to date, having recently migrated to Rails 4.1, and with some progress to Rails 4.2. We expect the Rails 5 upgrade to be easier, but still a substantial task. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @icarito, Mayank Kashyap(@mkashyap354) Rich Editor ExtrasPart of: https://publiclab.org / https://github.com/publiclab/plots2, https://github.com/publiclab/PublicLab.Editor/ Description: Better user interfaces for inserting inline power tags like Activity grids, Questions grids, maps, and other features (many listed here and here) from inside the Rich Editor and/or the Inline Editor interfaces. This will require Bootstrap HTML UI work on the PublicLab.Editor project, as well as integration with the PublicLab.org website back-end, ideally through our growing standard API: https://github.com/publiclab/plots2/blob/master/doc/API.md For a starting piont, see an example interface in the Editor project demo, here: https://publiclab.github.io/PublicLab.Editor/examples/ List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails, JavaScript, Bootstrap Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Liz Barry (@liz), Supun Wanniarachchi (@supun) |
Revert | |
201 | warren |
January 02, 2019 19:04
| about 6 years ago
This is the ideas page for Public Lab's Rails Girls Summer of Code and Google Summer of Code program, programs for student fellows to work on free and open source projects. Important -- if you're new to Public Lab software contributing, see our Welcome page and our Contributing page Get in touchWe love to hear from new contributors! Reach out on the developer mailing list - or in our chat room. We've embedded a small chatroom right here: Contribution guidelinesOur Contributing to Public Lab Software page has our preferred guidelines for submitting changes. Please read it over! We also love it when students show that they can work well with us by trying a
How to post a proposal(for students) Please first leave a comment on the post below, and tell us what you're interested in and a bit about your experience. It's also great to hear if you've forked one of our codebases) and installed it on your computer or a test environment. Done with that? How about running tests? Tell us how far you've gotten, and ask us for help -- we're happy to help you get started! Read the call for proposals, ask questions, and post your ideas: Questions[questions:soc] IdeasWant to propose an idea? Click here The following have been reviewed and formatted by our Summer of Code team. Mentors, please add your name by any project you'd be able to mentor with! Email integration projectPart of: https://publiclab.org / https://github.com/publiclab/plots2 Description: Daily "batch digest" email subscriptions using Rails ActiveJob (https://github.com/publiclab/plots2/issues/1119), reply-by-email to comments on the site using Mailman following some of these instructions: https://github.com/publiclab/plots2/issues/214 -- and finally, a user interface for managing digest settings and email notification settings. See this for more details and related issues:https://github.com/publiclab/plots2/milestone/9 List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren, @icarito, Mayank Kashyap(@mkashyap354) OAuth-based login for FB, TwitterPart of: https://github.com/publiclab/plots2 Description: Very highly sought! Add OAuth user login so people can log in via Google account, Facebook, Twitter. Let's start with a single of these -- Facebook -- and repeat integration steps for additional OAuth services. This will include development of a "Log in with _____" interface, tests, and integration with the profile tagging system to link accounts with the OAuth originating account. https://github.com/publiclab/plots2/issues/683 List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: easy/medium Potential mentors: Jeff Warren (@warren), Supun Wanniarachchi (@supun) Interactive Project MapsPart of: https://github.com/publiclab/plots2 Description: A browseable map of projects (wiki pages tagged with "project" tag) based on this initial implementation (https://publiclab.org/wiki/inline-maps) for people to find and learn about projects near them. This uses the Leaflet map library, and we'd like clicking on the map marker to show things like the title, lead image, # of contributors, and related topics names (tags). This would require both JavaScript work with Leaflet and Ruby on Rails work to generate the listings, as well as interface design work to develop the browse-able map interface. An alternate view would display current map marker records as a list.
List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Stevie Lewis (@stevie), Supun Wanniarachchi (@supun) Social Media IntegrationPart of: https://github.com/publiclab/plots2 Description: People are increasingly engaging with Public Lab community and questions via Twitter or Facebook. We'd like to prototype and test out a means for posts on PublicLab.org to be tweeted (this already happens via IFTTT.com, but could be improved) and then (the hard part) for responses to those tweets to be shown on the original post automatically. This could be either with a sidebar "widget" or even more ideally, with each response being a comment with an embedded tweet, so that the original author is notified. If the text of the tweet could be saved in our database as part of the comment, and therefore be searchable, this would be our ultimate goal. List: plots-dev@googlegroups.com Prerequisites: JavaScript, Ruby on Rails, Twitter API Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) v2 API developmentPart of: https://github.com/publiclab/plots2 Description: Our RESTful API has progressed rapidly in the past 2 years, and now includes a Grape/Swagger interface -- all documented at https://github.com/publiclab/plots2/blob/master/doc/API.md -- but we now need to migrate older API code into the new standard Swagger system and to make new API endpoints available for the statistical data we provide at https://publiclab.org/stats. We additionally need documentation and integration of our token-based write API to enable 3rd party app integration including bots and command-line clients. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @liz, Mayank Kashyap(@mkashyap354) Upgrade to Rails 5Part of: https://publiclab.org / https://github.com/publiclab/plots2 Description: We're doing a more aggressive campaign to keep our dependencies up to date, having recently migrated to Rails 4.1, and with some progress to Rails 4.2. We expect the Rails 5 upgrade to be easier, but still a substantial task. List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails Difficulty Level: medium Potential mentors: Jeff Warren (@warren), @icarito, Mayank Kashyap(@mkashyap354) Rich Editor ExtrasPart of: https://publiclab.org / https://github.com/publiclab/plots2, https://github.com/publiclab/PublicLab.Editor/ Description: Better user interfaces for inserting inline power tags like Activity grids, Questions grids, maps, and other features (many listed here and here) from inside the Rich Editor and/or the Inline Editor interfaces. This will require Bootstrap HTML UI work on the PublicLab.Editor project, as well as integration with the PublicLab.org website back-end, ideally through our growing standard API: https://github.com/publiclab/plots2/blob/master/doc/API.md For a starting piont, see an example interface in the Editor project demo, here: https://publiclab.github.io/PublicLab.Editor/examples/ List: plots-dev@googlegroups.com Prerequisites: Ruby on Rails, JavaScript, Bootstrap Difficulty Level: medium Potential mentors: Jeff Warren (@warren), Liz Barry (@liz), Supun Wanniarachchi (@supun) |
Revert |