Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
TildaDares opened this issue Mar 3, 2022 · 43 comments
Closed

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

TildaDares opened this issue Mar 3, 2022 · 43 comments
Labels
brainstorm Issues that need discussion and requirements need to be elucidated design issue requires more design work and discussion (i.e. mockups and sketches) discussion gsoc outreachy

Comments

@TildaDares
Copy link
Member

TildaDares commented Mar 3, 2022

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

@TildaDares TildaDares added design issue requires more design work and discussion (i.e. mockups and sketches) outreachy brainstorm Issues that need discussion and requirements need to be elucidated discussion gsoc labels Mar 3, 2022
@anirudhprabhakaran3
Copy link
Member

Thank you @TildaDares ! I think I would be interested on working on the legacy code depreciation. Along with the issues mentioned there, I think we can add #10545 to the depreciation task as well. I've listed all the unused routes and actions. We can go through them methodically and eliminate the ones that we don't need, or refactor and rewrite the ones that we might need.

@yuktea
Copy link

yuktea commented Mar 4, 2022

Awesome @TildaDares ! The Infragram.org project sounds really cool.

@jywarren
Copy link
Member

jywarren commented Mar 8, 2022

Hi everyone - after talking through it with
fellow coordinator/mentors @TildaDares and @cesswairimu I wrote up a detailed README of the Infragram project, detailing how it's designed and organized:

https://github.com/publiclab/infragram/blob/main/README.md

I'll keep adding but check it out!

@jywarren
Copy link
Member

jywarren commented Mar 8, 2022

Update: I went through and expanded the Infragram README a LOT, and even added illustrations! 🖼️ 💅

https://github.com/publiclab/infragram

I know it's a ton of information but I hope it's helpful!

@Syed-Ansar
Copy link

Hey! @jywarren @cesswairimu @TildaDares
Outreachy & GSoc project : Infragram.org full-screen UI design + Video

For designing a new interface instead of Bootstrap 4. Is it better to use Tailwind CSS as it has Control Over Styling, Better Responsiveness, Additional Features likes in-built animations so on. Isn't it a good Idea ?

@mittal-parth
Copy link
Contributor

Thank you @TildaDares, @jywarren!!
Refining user interfaces across PublicLab seems interesting to me. However, I have a few questions:

  1. Could you elaborate a little on interlinked navigation?
  2. Is the random generator supposed to be something like a suggestions page?
  3. In my experience, searching on the navbar search box titled Search on Public Lab, always leads to the query search page. Do correct me on what I am missing.
  4. Is there a document or guide describing the current process of teachers becoming moderators?

Thank you!

@jywarren
Copy link
Member

For designing a new interface instead of Bootstrap 4. Is it better to use Tailwind CSS as it has Control Over Styling, Better Responsiveness, Additional Features likes in-built animations so on. Isn't it a good Idea ?

Hi @Syed-Ansar i appreciate the idea however as we are using Bootstrap across many PL projects, it's really helpful to have consistency - it means it's much easier for people working on one piece of our software to transition to another without learning a new skill set. So I think we prefer to stick with Bootstrap -- I hope that makes sense!

@jywarren
Copy link
Member

Hi @mittal-parth! Thanks for these questions!

  1. Could you elaborate a little on interlinked navigation?

Yes --

Brainstorm better interlinked navigation between https://publiclab.org/wiki pages <> https://store.publiclab.org/ <> individual tag pages (like https://publiclab.org/tag/water-quality).

So basically i believe the ideas is that there are three different pages with closely related content, and the community team wants it to be easier and more obvious how to get from one to the other. The three are (for just one example of a grouping):

  1. https://publiclab.org/micro - the "home page" for our microscope kit (alternative maybe https://publiclab.org/microscopes which is not specifically this kit but /all/ microscopes)
  2. https://publiclab.org/tag/microscopes (the /topic/ of microscopes, collecting lots of different posts on this topic)
  3. https://store.publiclab.org/products/microscope - the store page to purchase a kit

So I think the first step might be to begin a brainstorming and sketching process to think about how we might (in the existing design framework of the site design some cross-navigation for these three page types. That could be used not only for this one instance, but for all situations like this (as we have many kits). It could be manually inserted HTML in the wiki page, or it could be changes to the site template. There will be pros and cons to weigh, so that's why i think a discussion is a good first step!

  1. Is the random generator supposed to be something like a suggestions page?

Yes, that's right! Like, how do we dig into the deep archive of posts across the site (back into time) to bring up old but still useful posts on a topic? And, where might we have a little display of these rotating suggestions?

  1. In my experience, searching on the navbar search box titled Search on Public Lab, always leads to the query search page. Do correct me on what I am missing.

So, if I type "microscopes" and wait just a moment, I see this:

image

Then if I press the enter/return button on my keyboard (not the 🔎 button), I'm sent to https://publiclab.org/tag/microscopes which is the topic page collecting content /tagged/ with "microscopes"

But if I press enter really fast, OR i press escape (which hides the dropdown of auto-suggestions), then i press enter, I get sent to: https://publiclab.org/search?q=microscopes which is a search for that text across all our site.

We could look at this in 2 ways:

  1. narrowly: assume both are useful, and that our problem is how users should be able to choose between the two behaviors, or how we can better inform users (intuitively or explicitly) that there are two behaviors they can "choose" from
  2. broadly: should a search box have these two modes? Is there another way we can help people find things more easily that doesn't have this slightly odd fork in the path?

I think some brainstorming on both could help. Maybe some questionnaires for users too, to better understand what people are usually looking for!

  1. Is there a document or guide describing the current process of teachers becoming moderators?

I'll request this now from the @publiclab/community-reps team!

@mittal-parth
Copy link
Contributor

Thank you so much @jywarren for the detailed answer!!

@Ash-KODES
Copy link
Contributor

hello @jywarren,I have few doubts regarding Gsoc projects ideas hope you can help:)
1.what does "Project size: 350h OR could be split into 2 175h projects" this means?does it mean that it can have two candidates working on it?
2.Will every Gsoc idea that is mentioned from publiclab's end,will have a chosen candidate?
3.Can I write my ideas by opening a issue in the respected Repo?

@Yavnikaa
Copy link
Contributor

Hii @jywarren @TildaDares !
I am a third year undegraduate student at IITR and would love to work on the Infragram Project or the Refine User Interfaces across PublicLab.org one. Can you please guide me on how to start and contribute?

@pydevsg
Copy link
Member

pydevsg commented Mar 19, 2022

Hi, @Yavnikaa
Please go through - https://github.com/publiclab/infragram/blob/main/README.md to get insight on the project.
You can take first-timers-only issue from the issues section to get started.

@cesswairimu
Copy link
Collaborator

cesswairimu commented Mar 21, 2022

Hi @Ash-KODES, I will try to answer your questions:

1: Those are the number of hours that will approximately be required to complete the project. And yes, it means we could have 2 interns working on the same project but this might be split to 2 different-related projects as mentioned.
2: No necessarily, it will depend on which projects are selected by GSoC and the number of slots that will be allocated to PublicLab by GSoC. It is however safe to say, any accepted project/projects will be among the ones listed here. Makes sense?
3: Yeah sure, you can open an issue for any ideas you have or any bugs you might find.
thanks

@KarishmaVanwari
Copy link
Contributor

Hey @jywarren @TildaDares @cesswairimu! Refine User Interfaces across PublicLab.org project seems interesting to me. I have a couple of queries regarding this project:

  1. Could you please clarify what is the category tree to be built for?
  1. Could you please explain the process of becoming a moderator? And what are the prerequisites for the same, if any?

@akanbifatimah
Copy link
Contributor

Hi @jywarren @cesswairimu @TildaDares @pydevsg , My name is Fatimah an outreachy summer 2022 applicant , I am looking forward to contributing to 'Infragram.org full-screen UI design' project. I am currently on windows OS, I want to ask if I need to get a Linus OS for this project in seeting up my working environment.

I look forward to your response,thank you.

@Forchapeatl
Copy link
Contributor

Hi @Forchapeatl, you can only submit one proposal, but before submitting you can ask the mentors for its review.

This is heart breaking my intentions were to submit two proposals ,thus reducing the probability of being rejected. Thank you for this information @Sakshamgupta90 , but I simply can't believe this . GSOC is limited to less 3 proposals @TildaDares please permit me to tag you on this.

@Forchapeatl You are talking about GSOC or Outreachy? For GSOC yes you can submit 3 proposals.

Thank you @Sakshamgupta90 , thank you.

@Forchapeatl
Copy link
Contributor

Forchapeatl commented Apr 4, 2022

@Sakshamgupta90 or anyone , please help me with this confusion
It seems like the GSOC portal requires PDF file
image
But our public lab requires a text HTML form submit
image
The question is both files require different file formats.How can may I relate them ? Please help me.

@Sakshamgupta90
Copy link
Contributor

Hi @Forchapeatl, I suggest that first create a proposal that you can post on the Public lab website for reviews. After that, when it is finalized just copy it in a word file and convert it to PDF and send it on GSOC.

@Forchapeatl
Copy link
Contributor

Hi @Forchapeatl, I suggest that first create a proposal that you can post on the Public lab website for reviews. After that, when it is finalized just copy it in a word file and convert it to PDF and send it on GSOC.

@Sakshamgupta90 , Thank you

@jywarren
Copy link
Member

jywarren commented Apr 5, 2022

Quick feedback for @Forchapeatl -- usually each year there is some time where we can see that there is more interest in one proposal than another, and we encourage people to try to submit proposals for those project ideas that don't yet have as many proposals. But we hope to do this before you've put too much work into your proposals, because it doesn't seem fair to ask people to prepare more than 1 proposal. So let's stay in good communication, everyone, about which project you're planning to propose (and share early drafts) so that we don't get too many proposals on the same project at the last minute. Thank you!!

Also - Outreachy folks may also be eligible for GSoC so if you have not yet read over that program's requirements, please do, and consider applying there as well - the proposals will be quite similar. Although Outreachy is different, and the stipend is higher, we want to be sure that folks eligible for both programs get a good chance to be selected and there are usually fewer spots available in the Outreachy program.

And yes, please upload a PDF generated from your PublicLab.org proposal submission! We MUCH prefer seeing everything on PublicLab.org with the commentary and feedback, and updates over time. You can always upload a final PDF just before the deadline with any last changes you've made.

Now to @mittal-parth's questions, thank you:

Regarding the random generator, are we looking for a recommendation API like Pipeless or just some SQL queries to achieve this (like based on a date range and number of likes, comments etc)?

I think that we could craft an SQL query (via Active Record) which selects a range of posts based on some criteria we develop with the @publiclab/community-reps team and randomizes somewhat. We don't need to get too intense about predicting recommendations. Thank you!

And to @KarishmaVanwari - thank you:

Could you please clarify what is the category tree to be built for?

Yes - basically our site is organized by topic, using tags -- you can see active ones at http://publiclab.org/tags, and in fact you can see how some are interrelated in the graph there.

We also have some that are "children" of others. For example, conductivity is a subset of water quality. You can see some of these in the interactive graph by clicking and holding:

image

This relationship is created by putting a parent:water-quality tag on the leading wiki page for conductivity: https://publiclab.org/conductivity -- this also adds a grey bar saying << back to Water Quality, seen in this screenshot:

Screen Shot 2022-04-05 at 12 42 48 PM

So the category tree is a different way to navigate these, hierarchically. Each topic that has child topics pointing back to it will get an expandable caret/arrow, and when you click it, it will fetch the subtopics from the server and insert them as child nodes. You can see something like this at https://www.appropedia.org/Category:Content_by_topic. I hope that makes sense!

@jywarren
Copy link
Member

jywarren commented Apr 5, 2022

Also i had a great question about what criteria we use to evaluate proposals/applicants. It's complex, but here's my best try:

We look at a range of criteria, from how detailed and responsive to our feedback your proposal is, to how well you are working collaboratively and communicating, to the way you approach and solve problems, as best as we can see in the work you show us. We are just getting towards the part where people will begin writing proposals and when you do, we recommend posting rough drafts early so they can be reviewed/commented by not only the Public Lab team but also fellow community members. We know there can be some fears of competition but we feel that we will be able to see the work being done by each person, how they communicate with others, how they respond to input, and we feel it's been a pretty fair process in the past. Please let us know of course if you feel original ideas are not being respected or attributed properly. But for us, the quality of your work, cooperation, and leadership/support of others are more important than whether you have a genius idea.

Thank you!

@jywarren
Copy link
Member

jywarren commented Apr 5, 2022

And while introducing in the starting, I have said that I am not familiar with ruby , but I know other tech stack, and I have started learning ruby, so I should be considered for GSOC or not?

This is a great question. Ruby is quite similar to, for example, Python. I think we are very open to your applying and we encourage you to try not only some first-timers-only issues, but some that help you to dig into how Ruby works and how it's different. Myself, I write mostly Ruby and JavaScript, but I find I can manage Python when needed even if the style is a little strange to me. We'll be helping you out so no worries!

@jywarren
Copy link
Member

jywarren commented Apr 5, 2022

Hi all, i also realized that lots of people are starting to do some really great mockups and design brainstorming in the Infragram project.

I wanted to share some helpful links -- currently Infragram.org uses Bootstrap 3, and while we are open to an upgrade to v4, it's also perfectly fine to use the available styles from v3 in your proposal. You can find a complete guide (appearance, code, components) to each at these links:

It's really great to browse through these and see how different components work:

image

You can also actually build working demo interfaces in Bootstrap using this great tool: https://www.layoutit.com/build

mk

However, once you get an idea of the kinds of components (buttons, dropdowns) available, I encourage you to try starting with a wireframe (example below) because it lets you think through things conceptually without worrying about all the details and getting it to "look good" just yet. And for this, honestly, i use the basic drawing tools in Google Presentations, although there are also plenty of free programs tailored for this purpose.

image

Also: one reason we use Bootstrap is that all its components are accessible -- meaning they have been designed to be broadly compatible with browsers, and also with screen readers and assistive devices. That way we can work with mature, stable, well-supported but still sophisticated design elements like menus, and not have to manually make sure they work in these scenarios.

Happy to answer more questions about this too!

@PeculiarE
Copy link
Contributor

Thank you for these resources and the helpful insights @jywarren. I particularly identify with the question about not being very familiar with Ruby. And most times, everything could feel simply overwhelming. But your advice, tips, and encouragements have been very timely and supportive 😄 ❤️ . Thank you

@abdelquodr
Copy link

I am very comfortable with javascript and I'll be more than glad to contribute to the "Infragram.org full-screen UI design". Jeffrey Yoo Warren (jywarren), Cess, Tilda, Sudipto Ghos, please push issues to me. and I'll also appreciate any guidance on how to set the repo up and running on my local system.

@akanbifatimah
Copy link
Contributor

I am very comfortable with javascript and I'll be more than glad to contribute to the "Infragram.org full-screen UI design". Jeffrey Yoo Warren (jywarren), Cess, Tilda, Sudipto Ghos, please push issues to me. and I'll also appreciate any guidance on how to set the repo up and running on my local system.

Hi Abdelquodri, I am sure @TildaDares would allocate issues to you as soon as there is one available, Pending the time you get one You can follow the quick installation steps here https://github.com/publiclab/infragram to set up your working environment on your local machine.
Do reach out if you get stuck at any point.

@Sakshamgupta90
Copy link
Contributor

Hi @jywarren I just wanna know that the design layout I have created #10892, should I add it as one of a task in my proposal?

@Yavnikaa
Copy link
Contributor

Hii @jywarren , @TildaDares and other community members! I wanted to know if I could apply for the same project in GSoC and Outreachy? Is it possible, and is it recommended to do so?

@singhavs
Copy link

Thank you for these resources and the helpful insights @jywarren and @TildaDares. Hello everyone! I am Aayushi Singh an Outreachy 22 applicant and I am contributing to MapKnitter.org Spam Management system project.

@PeculiarE
Copy link
Contributor

Hi @jywarren, @cesswairimu, @TildaDares. So I’ve been doing a bit of research on the mapknitter spam project, reading through the work already done and the ideas discussed on several threads, and exploring the codebase. However, there are a couple of things I would like clarified please as I work on my proposal:

  1. The mapknitter spam management project stems from the issue of persistent spam on the site. But what exactly classifies a map as spam? While scouring the discussion threads, I really couldn't discern a clear 'criteria' for marking a map as spam. Is it the fact that there are no uploaded images, or images are uploaded but not yet stitched on the map, or the map has no description, or it has offensive descriptions, or is it some combination of all these, or even something else entirely? I know the ultimate decision of spamming a map falls to the moderators but I would appreciate a clearer overview of what PublicLab considers a spam on Mapknitter for better understanding of the project.

  2. Currently, based on my understanding and experimenting with the project locally, an admin can either archive/spam and delete a map. The archive/spam method simply archives a map and the archived map is then excluded from fetched maps while the delete button permanently erases the map from the database. Do we intend for the proposed spam management system to exist alongside these functions? Replace them entirely? Or if possible, incorporate/integrate them into the proposed system?

  3. On the list of project tasks, we have:

‘Forbid login by users who’ve been banned on MapKnitter, by setting their status to 0’.

Could you please clarify what this means?
a. Users banned on PL’s spam management system will not be able to login to both PL and MapKnitter?
b. Users banned on MapKnitter’s spam management system will not be able to login to both PL and MapKnitter?
c. Both a and b

  1. Would moderated users on PL also get the same treatment as banned users on trying to log in to MapKnitter. I see no mention of moderated users on the project’s tasks lists, only banned users.



Thank you 😄

@sakshi-2412
Copy link
Contributor

Hello @jywarren, @cesswairimu, @TildaDares. I had a doubt regarding Outreachy's mapknitter project.

Check via the Public Lab API whether the currently logged-in user is a moderator to determine if they can view the spam table

Here, do we have to use an exisiting Public Lab API?

@jywarren
Copy link
Member

Hi @PeculiarE - sorry to respond slowly but here are some replies to your questions!

  1. The mapknitter spam management project stems from the issue of persistent spam on the site. But what exactly classifies a map as spam? While scouring the discussion threads, I really couldn't discern a clear 'criteria' for marking a map as spam. Is it the fact that there are no uploaded images, or images are uploaded but not yet stitched on the map, or the map has no description, or it has offensive descriptions, or is it some combination of all these, or even something else entirely? I know the ultimate decision of spamming a map falls to the moderators but I would appreciate a clearer overview of what PublicLab considers a spam on Mapknitter for better understanding of the project.

Great Q. I believe the strongest factor is if there is a clear advertisement in the map or one of the images. There are quite a few such advertisements at the gallery page, shown here: https://mapknitter.org/gallery, of which this is one example: https://mapknitter.org/maps/mercedes-benz-of-hindhead Some have an advertising image, while others are titled with something like a car dealership or law firm. While there are some rare cases of actual car dealerships or law firms making a real map with a drone, for example, most are just improper advertising.

  1. Currently, based on my understanding and experimenting with the project locally, an admin can either archive/spam and delete a map. The archive/spam method simply archives a map and the archived map is then excluded from fetched maps while the delete button permanently erases the map from the database. Do we intend for the proposed spam management system to exist alongside these functions? Replace them entirely? Or if possible, incorporate/integrate them into the proposed system?

It should incorporate/integrate them. The deletion button is only for extremely inappropriate content which must be destroyed quickly. It also predates the "archive/spam" button. We mostly want to be non-destructive, because sometimes a map is ambiguous, and we may make a mistake and want to "bring it back". But if there are structural changes to improve either option, we're open to replacing them!

  1. On the list of project tasks, we have:

‘Forbid login by users who’ve been banned on MapKnitter, by setting their status to 0’.

Could you please clarify what this means?
a. Users banned on PL’s spam management system will not be able to login to both PL and MapKnitter?
b. Users banned on MapKnitter’s spam management system will not be able to login to both PL and MapKnitter?
c. Both a and b

C - we want both to be true. But it's OK if we do this piece by piece. We know that MK users will have a PL account - it's required. But it's probably structurally easier for us to have MK follow PL's status, than vice versa, while we're coding in this project? That's my guess.

  1. Would moderated users on PL also get the same treatment as banned users on trying to log in to MapKnitter. I see no mention of moderated users on the project’s tasks lists, only banned users.



That's a good question but there are almost no moderated users -- it's very rare. The distinction is that moderated users' work is not hidden, they are just frozen from making any more contributions. I think we effectively don't have to worry about them, at least not at this stage.

Thanks again for the great Qs!

@PeculiarE
Copy link
Contributor

PeculiarE commented May 25, 2022

Thank you for responding @jywarren ❤️

C - we want both to be true. But it's OK if we do this piece by piece. We know that MK users will have a PL account - it's required. But it's probably structurally easier for us to have MK follow PL's status, than vice versa, while we're coding in this project? That's my guess.

Yes, definitely. It's way more easier to have MK follow PL for now 😄

Your responses on the map deletion and moderated users questions while helping to make things clearer have also given me some food for thought 🤔....thank you once again 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorm Issues that need discussion and requirements need to be elucidated design issue requires more design work and discussion (i.e. mockups and sketches) discussion gsoc outreachy
Projects
None yet
Development

No branches or pull requests