Skip to content

Discussion and Q&A of Outreachy + GSoC ideas 2022 #10754

@TildaDares

Description

@TildaDares

Hi everyone, we've put together an ideas list for Outreachy and Google Summer of Code(GSOC) 2022 and we're sharing it here for discussion.

The Outreachy and GSOC projects have been accepted. The official ideas list can be found at https://publiclab.org/wiki/gsoc-ideas#2022+Ideas. We're using this medium to discuss or suggest possible refinements to the projects.

Also watch out for Welcome issues to go up in the coming days to ask folks to introduce themselves, and to otherwise offer support and info on the application and selection process.

Lastly, THANK YOU SO MUCH for your interest! We are so excited to have the chance to work with you! 🎉 🎉 🎉 🎉 🎉 🎉 🎉


2022 ideas

Note that these projects could fit in either a smaller or larger project timeline, depending on the applicant's experience, or the depth of detail the applicant wants to go into on each item. We're happy to discuss this with you!

Legacy code deprecation

Part of: https://github.com/publiclab/plots2

Description: (This project may be combined with another small project) Our codebase retains a variety of old database models, code segments, and removing them is a delicate task involving correcting tests, restructuring the database, and more. This project will:

  • build on completed projects to continue the work of removing older legacy models and tables from our system
  • adjust or remove tests along with code removal
  • use Rails database migrations to remove unused tables
  • produce archival exports of data which we are deleting if necessary
  • merge and combine deprecated content types into standard ones; for example, Maps become Wiki pages
  • test out migrations in development environments and on our cloned copy of the production server, to ensure smooth deployment
  • increase code coverage as a result of reducing unused and untested code
  • deprecation projects listing is available at https://github.com/publiclab/plots2/milestone/24
  • read more at: Deprecate Drupal legacy database structures/naming #956

Outcomes: Reduction in codebase size and complexity, easier maintainability and higher code quality and consistency.

List: https://gitter.im/publiclab/publiclab, https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Project size: 350h OR could be split into 2 175h projects

Potential mentors: Jeffrey Yoo Warren (jywarren), Cess, ADD YOUR NAME HERE


Refine User Interfaces across PublicLab.org

Part of: https://github.com/publiclab/plots2

Description: As teachers increasingly use PublicLab.org in the classroom, we are looking to improve a collection of User Interface/User Experience (UI/UX) and related features on the platform. Some are navigational, some are stylistic, and some introduce new interfaces or ways of browsing content. For any project involving a design change, we are interested in seeing mockups/designs first, discussing with community representatives, and then developing code. Projects would include the following:

This project will:

Outcomes: An improved, more coherent UI on PublicLab.org for educators in particular.

List: https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Project size: 350h OR could be split into 2 175h projects

Potential mentors: Jeffrey Yoo Warren (jywarren), Cess, Tilda


MapKnitter Local

Part of: https://github.com/publiclab/Leaflet.DistortableImage/, https://github.com/publiclab/mapknitter

Description: MapKnitter.org is a complex and powerful system that lets you upload your own aerial images, position them (rubber-sheet) in a web interface over existing map data, and share via web or composite and export for print. We are looking for ways this could be done without depending on a server in the long term, and want to try making use of the latest in JavaScript image processing to prototype full-resolution image processing and download in the browser. This project sets the groundwork for working locally/offline or from a static page using just the core browser-based library Leaflet.DistortableImage then goes on to attempt a completely in-browser map stitching exporting process.

This project will:

Stretch goals:

  • Rework portions of MapKnitter.org code to:
  • use DistortableGeoJSON to save map state
  • Initialize map using DistortableGeoJSON

Outcomes: The ability to create and export maps from a static HTML/JS-based page, even offline.

List/chat: https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: hard

Project size: 350h OR could be split into 2 175h projects

Potential mentors: Jeffrey Yoo Warren (jywarren), Cess, Tilda


Infragram.org full-screen UI and video upload

(There is a matching UI-focused Outreachy project idea below. If a fellow is selected, that will absorb much of the UI design portion of this project but collaboration and coordination will still be required for implementation.)

Part of: https://github.com/publiclab/infragram

Description: The Infragram project brings together a range of different efforts to make Do-It-Yourself plant health comparisons possible with infrared photography. Infragram.org enables people with Infragram-modified cameras to upload photos for analysis and conversion using techniques like NDVI (used in satellite imaging analysis). It also allows for live streaming from a modified webcam. This project will overhaul the UI of Infragram to be full-screen, accept multiple resolutions of video, output multiple resolutions, and will allow dragging in a recorded video instead of a still image for conversion.

This project will:

Stretch goals

  • allow zooming/panning of video within canvas
  • allow selecting an area of the screen and calculating an average color value (or average NDVI value from the scale)
  • expand the colorize menu to describe each colormap and offer thumbnails (could use https://sequencer.publiclab.org/ to achieve this)

Outcomes: A better layout and UI for Infragram.org, and the ability to use it on uploaded videos.

List/chat: https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript

Difficulty Level: medium

Project size: 350h, or 175h if the focus is on non-UI portions only

Potential mentors: Jeffrey Yoo Warren (jywarren), Cess, Tilda , Sudipto Ghosh


Outreachy Projects

Infragram.org full-screen UI design

This project is reserved for Outreachy applicants. There is a matching project for GSoC applicants above.

Part of: https://github.com/publiclab/infragram

Description: The Infragram project brings together a range of different efforts to make Do-It-Yourself plant health comparisons possible with infrared photography. Infragram.org enables people with Infragram-modified cameras to upload photos for analysis and conversion using techniques like NDVI (used in satellite imaging analysis). It also allows for live streaming from a modified webcam. This project will overhaul the UI of Infragram to be full-screen and create space for new features like multiple resolutions of video, dragging in a recorded video instead of a still image for conversion, and pop up panels with Q&A, tips, tutorials, and more, so that they can feature more helpful guidance text.

This project will:

  • Design a new interface (using Bootstrap 4; the current version is Bootstrap 3) for Infragram.org which is full screen with a toolbar, solicit and incorporate input from user community
  • Learn about and understand the existing UI first
  • Understand the UI flow and goals, various different use cases
  • Create a wireframe and solicit feedback
  • Allow cross-browser drag-and-drop on the entire page instead of just selecting an image
  • Suggestion: move Q&A feature into a Help menu
  • Suggestion: add a popup “Welcome” modal box which guides your first few steps based on tutorial at https://publiclab.org/n/15075 and more at https://publiclab.org/infragram#Activities
  • Try creating a working “mockup” interface with Bootstrap elements (that is not hooked up to JS yet)
  • Iterate with user feedback
  • Implement the new interface in HTML/JS (perhaps in cooperation with possible Google Summer of Code intern on corresponding project) - begin with an “index2.html” next to the original index.html
  • Ensure each feature/function still works

Stretch goal: design a new colorize popup modal window to describe each colormap and offer thumbnails (could use https://sequencer.publiclab.org/ to achieve this)

Outcomes: A better layout and full-screen UI for Infragram.org.

List/chat: https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript

Difficulty Level: medium

Potential mentors: Jeffrey Yoo Warren (jywarren), Cess, Tilda , Sudipto Ghosh


MapKnitter.org Spam Management system

Part of: https://github.com/publiclab/mapknitter

Description: We have a range of spam management tools and systems at PublicLab.org, but MapKnitter.org has persistent spam, even though users rely on PublicLab.org to log in. We have a range of ideas to improve the situation, ranging from integrating MapKnitter.org with PublicLab’s spam management system, creating a unified visual style between the systems, implementing user status restrictions for moderated users and maps, and more.

This project will:

  • Create a view of all recent maps in a table with buttons for moderating each, very similar to https://publiclab.org/n/24349
  • Display information about each map, such as the author’s status, how many images it has, whether images have been placed, whether the author is new
  • Check via the Public Lab API whether the currently logged-in user is a moderator to determine if they can view the spam table
  • Add a link/tab from publiclab.org/spam2 to the MapKnitter spam dashboard
  • Display a list of any maps a banned PublicLab.org user has (if any) when they are banned
  • Offer a button to spam all maps by that user in one click, like mapknitter.org/spam/user/
  • Forbid login by users who’ve been banned on MapKnitter, by setting their status to 0
  • Regularly check (hourly? daily?) (when running current_user function) if users have been banned from publiclab.org (via an API call)
  • Build on early work by Gaurav Sachdeva in https://github.com/publiclab/mapknitter/labels/spam

List: https://gitter.im/publiclab/publiclab, https://gitter.im/publiclab/publiclab

Prerequisites: JavaScript, Ruby on Rails

Difficulty Level: medium

Potential mentors: Jeffrey Yoo Warren, Cess, ADD YOUR NAME HERE

Metadata

Metadata

Assignees

No one assigned

    Labels

    brainstormIssues that need discussion and requirements need to be elucidateddesignissue requires more design work and discussion (i.e. mockups and sketches)discussiongsocoutreachy

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions