#232 The need of modernizing Easyfix site
Closed: Duplicate by ankursinha. Opened by t0xic0der.

The current state of Easyfix is functioning like the way it should at the current point of time but the execution leaves a lot to be desired. I believe that we would want to help modernize the application for the following reason.

  • The site is not responsive on mobile phone views. The resizability on the desktop view also performs subpar, with the site equipping horizontal scrollbars for the same view once the view port width has gone below half of the screen size. (Tested in most of the 16:9 aspect ratio compliant resolutions)

  • The look and feel of site feel outdated and has a lot of elements which can go beyond the taste of newcomers viewing the site for the first time. The user interface might be okay for most of us, keeping note of the experiences with varied websites we have but we should try to make the onboarding as pleasing as possible.

  • Even with a lot of content on the screen, the website employs a boxed view, watching which I cannot help but feel that a lot of elements have been congested to a small space. The absence of an active JavaScript search also bothers when there are over 100 issues listed (as of 03/12/2020-18:13IST) and there's only an unwieldy index to use.

  • I don't know how much are the repositories listed on the Easyfix site updated with the newer issues but a message to their respective contributors about its active fix would not do any harm, as long as they are having or are willing to look for self-contained and well-documented issues to have new folks feel the intrigue in their projects.

I won't just mark out the shortcomings but I'd also state my willingness to work on alleviating these issues and modernize the site to a state that it would function pleasingly and look inviting for the newcomers (specifically, the ones who want to code). What do you think about these pointers?


So 3 points are related to the web page---that should ideally be all separate tickets on how the easyfix web page can be improved. For reference, the sources are here, so anyone can work on improving the template:

https://github.com/fedora-infra/fedora-gather-easyfix/blob/master/template.html

The last point is a "human" point---there needs to be an incentive for people marking tasks for easyfix. Is there one already? Is adding a project to easy fix simple enough, can that be simplified more? Why aren't people using easyfix? This is harder and needs some discussion.

Can you go over the other easyfix tickets and see what's already been done or if there was a plan? It'll be good not to re-do the work:

https://pagure.io/fedora-join/Fedora-Join/issues?status=Open&search_pattern=easyfix&close_status=

I could only explore the frontend part of things in the due course of time and with the backend unexplored, I would not quite assume that there aren't tasks that need to be done there. This ticket had been more about asking if the changes I suggested are really worth looking into or not - to which, I am afraid I did not get a response.

It is understandable why it would need more discussion and thus justifies its mentioning. There's been a decline of its use according to what I have seen or there must be folks who are racking up the easyfix issues so fast that they are disappearing faster than the rate of them turning up - whichever is the case - we need to discuss as to how "this" can be conveyed.

About the link that you sent, I have already gone through it once when you posted it on https://pagure.io/fedora-join/Fedora-Join/issue/231#comment-704927 and the problems I have taken special care to ensure that I am only listing those problems which have not been done earlier. Well, the last issue on easyfix is about 2 years back which does ask for attention.

Metadata Update from @t0xic0der:
- Issue unmarked as blocking: #59

The last point is a "human" point

He. This is the main issue. Maybe a more attractive web page could appeal people to tag tickets as easyfix? I am not optimistic.
Does Easyfix was working in the past? Or it has never worked so well, so people stopped to care about it?

Metadata Update from @alciregi:
- Issue marked as blocking: #59

He. This is the main issue. Maybe a more attractive web page could appeal people to tag tickets as easyfix? I am not optimistic.
Does Easyfix was working in the past? Or it has never worked so well, so people stopped to care about it?

EXACTLY. (Apologies for the all-caps)

An attractive frontend could bring people in but what if they just end up seeing an empty page for folks have not been tagging issues with an easyfix label? As much as there's work that needs to be done in the backend side of things, I'm afraid we would also need to ensure that it is utilized. A discussion would help us realize if at all people are wanting to extend some issues in the hopes of some external assistance or is their project okay enough to be sufficient with the contributors that they have. Once we understand about the importance of Easyfix in the current date, we would be able to quantify as to how much work we should put into modernizing it (by code and by use).

@t0xic0der there is no real "backend". It's a python script that pulls tickets from pagure etc based on their tags using the API and then just goes over the Jinja template to come up with the page. There's no database, no storage, no tracking. It's pretty much a static page generated using a cronjob.

The primary reason easyfix doesn't work too well is because for more complex projects, it is just plain hard to mark easyfix tickets. One needs to know various things about the project to be able to contribute. And more often than not, this requires mentoring. But for simple tasks that may be easy, it is sometimes (mostly?) easier for the project team to do the tasks themselves than mentor a newbie---who will need to first scale the learning curve for the project before working on tasks, however simple they may be.

For example, let's do an exercise. Go through the easyfix tickets and see how many of them we (who are supposed to be seasoned Fedora contributors) can take up without requiring us to learn about the projects?

I count:

  • 0 from avocado,
  • 0 from bodhi
  • 0 from anitya
  • 0 from teleirc
  • 1 from tigerOS
  • 0 from fedocal
  • 1 from business cards
  • 2 from commops (but requires knowledge of what's going on with outreachy)
  • 1 from diversity (but requires knowledge of what happened at FWD)
  • may 1 from docs
  • skipping quick docs (since I'm the POC there)
  • 0 from install guide
  • 0 from infra
  • 3 from join
  • 0 from QA
  • 0 from websites
  • 0 from freeipa
  • maybe 1 from ipsilon
  • skipping NeuroFedora (since I'm the POC there), but most tasks here are packaging tasks
  • 0 from pagure
  • 0 from taskotron
  • 0 from task-rpmlint

This is out of 109 total tickets. So, is easyfix really for newbies? How is a newbie that doesn't know what pagure is expected to start with a ticket on Pagure?

@t0xic0der there is no real "backend". It's a python script that pulls tickets from pagure etc based on their tags using the API and then just goes over the Jinja template to come up with the page. There's no database, no storage, no tracking. It's pretty much a static page generated using a cronjob.

Sounds pretty much like a "backend" but anyway.

The primary reason easyfix doesn't work too well is because for more complex projects, it is just plain hard to mark easyfix tickets. One needs to know various things about the project to be able to contribute. And more often than not, this requires mentoring. But for simple tasks that may be easy, it is sometimes (mostly?) easier for the project team to do the tasks themselves than mentor a newbie---who will need to first scale the learning curve for the project before working on tasks, however simple they may be.

This raises question on the very origin of Easyfix according to the way I see it. It is true that a lot of complex projects might not have "self-contained" and "well-documented" fixes to things - or even if they did, they would be more inclined to do it themselves owing to the fact that the said issue is already an easy one to get over with but I am afraid, it is not mentoring that can help with contained issue. Mentoring can help teaching and retaining newcomers for a long time which is definitely something we would want to do but I think that is beyond the scope of easyfix.

I went through the list you provided with and a lot of them do require a background information to start with contributing to the project. But then again, how many of the listed issues are "self-contained" and "well-documented"? Are folks using the site the right way?

I'd call it a "backend" if it was doing some active tasks related to the users's activity, for example if the site, the "frontend", was sending and receiving data from it to process user requests. It isn't.

We're now going the other way: from making the site easier for newbies, we're entering territory where we are asking if people are populating it correctly. That's not trivial either---people don't create tasks to add to lists, tasks come up and ones that people subjectively think to be beginner friendly are marked as easyfix. So, if we remove the ones that we don't consider easyfix from the list, there just won't be a lot of items on the list.

Maybe you can start with documenting what you consider to be the "right way"? There are no guidelines about what should and should not be marked as an easyfix ticket.

Maybe you can start with documenting what you consider to be the "right way"? There are no guidelines about what should and should not be marked as an easyfix ticket.

Now, we are taking a step in the right direction. :smile:

Hey! @t0xic0der What are you cooking on! :100:

I've just write here to reflect somewhere all your hard work in modernizing easyfix site, and keep us well informated about your progress on this ticket:

https://pagure.io/design/issue/714
https://pagure.io/design/issue/715

Regards., 👍

Thanks @hhlp. Just doing my part. :smile:

I would certainly keep this ticket posted regarding the progresses I make with the Easyfix site modernization.

Talked with @shivangswain regarding logo suggestions.

Just looked at 715 where there are screenshots of the new easyfix. I've missed these updates somehow. So:

  • is the current improvement limited to UI tweaks? Is there a ticket or a mailing list where this is being openly discussed so that the community can follow the discussion? (#59 is a tracker ticket for this task, but I don't see a ticket specific to the UI changes there yet.)

  • similarly: where's the development/design being done? (A fork?)

If the design team are to review the UI, you'll need to give them more than screenshots. (Screenshots aren't very useful for UI design and its analysis). Perhaps mockups in Inkscape etc. if you have them, so they can analyse and comment them. Or the HTML template itself, so that they can build it themselves and suggest tweaks.

Take a look at this as an example of how Mairin and other UI designers go about UI design:

https://youtu.be/p-KYhPlUUBU?t=6042

Mockup sources for Hubs: https://github.com/fedoradesign/fedora-hubs

is the current improvement limited to UI tweaks? Is there a ticket or a mailing list where this is being openly discussed so that the community can follow the discussion? (#59 is a tracker ticket for this task, but I don't see a ticket specific to the UI changes there yet.)

My bad. I have been in conversation with @pingou, @kmrinal19 and @shivangswain on Matrix regarding the development of the template design as well as logic with some neat new additions like in-page searching and placeholders for unavailable data. I would create one and link it below.

similarly: where's the development/design being done? (A fork?)

Yes. (https://pagure.io/fork/t0xic0der/fedora-gather-easyfix)

I have turned in the generated file as well as the JS asset for it as well at https://pagure.io/design/issue/715#comment-709236.

Thanks for the links. :smiley:

Edit - I have been kinda tracking the progress with the most recent issue made at https://pagure.io/fedora-gather-easyfix/issues. Turns out it follows up on assets which I then dispersed specifically.

UPDATE - Made a PR https://pagure.io/fedora-gather-easyfix/pull-request/9.

This is now being discussed on discussion.fp.o, so let's keep it there:

https://discussion.fedoraproject.org/t/lets-talk-about-easyfix/32759

Metadata Update from @ankursinha:
- Issue close_status updated to: Duplicate
- Issue status updated to: Closed (was: Open)

This ticket has been migrated to the forgejo instance. Please find the new ticket here
https://forge.fedoraproject.org/join/Fedora-Join//issues/232

Metadata