citizenos / citizenos-fe

5 stars 2 forks source link

MISC: Order of topics in My topics #1236

Open BeccaMelhuish opened 3 months ago

BeccaMelhuish commented 3 months ago

Am I right in thinking the My Topics default order follows the order of the phases, so then ideation topics should now show up first?

image

ilmartyrk commented 3 months ago

@BeccaMelhuish it actually doesn't it puts voting topics first as voting was possibly deadline critical on our old platform, I guess this needs some further discussion, but I am thinking that voting topics should be first, then ideations etc.

BeccaMelhuish commented 3 months ago

Hmm though ideation can be deadline critical now too, and potentially just as important as voting? Maybe @kevincrepin has ideas from a UX perspective here, but my feeling is that it should be ordered by your own recent activity, including simply being invited, joining or creating it. Could also include topics recently sent into a new phase (i.e. from discussion to voting).

The users in tests haven't had enough topics for this to come up, but for me when I'm using it, and have just created a draft for example, I find it quite confusing and a bit frustrating to find the draft I've just made all the way at the bottom of the 'pile', even having to click through some pages to get to it.

But yes probably needs more discussion :)

kevincrepin commented 3 months ago

I would say it's default ordered by latest contribution or edit.

BeccaMelhuish commented 3 months ago

@ilmartyrk how is this to do technically? (With latest contribution or edit including things like joining/creating the topic or starting a new phase, etc.).

ilmartyrk commented 3 months ago

Ordering by latest activity is very time-costly, also latest joining would only make sense for the certain user. But ordering by latest edit/update can be done

BeccaMelhuish commented 3 months ago

OK great yes let's do it like that then :)

kevincrepin commented 3 months ago

ust to be clear, @ilmartyrk: what is a latest edit/update from your pov? Because if it's only an edit or update to the topic text, but not going into a new phase or something then I'm not sure if it's very useful? I don't know what falls under "activity" and what falls under "update". :D

ilmartyrk commented 3 months ago

@kevincrepin @BeccaMelhuish activity is any row we store in the database that has connection to the topic. It can be joining, editing, reporting, arguments etc. Update is change in any of the topics data fields in the database (title, image, text, country...). So basically anything you can edit from the edit topic view + changes to the status. So to get the latest activity we have to find the latest activity related to the topic, as we already have a lot of activities it will take some time to get it far all the topics in the results and if we wish to filter out the activities that only make sense to the current user (excluding maybe joining activities of other users etc.) it will be even more time and resource consuming

BeccaMelhuish commented 3 months ago

@ilmartyrk Thank you for the explanation! Seems a good 'quick fix' to sort by latest edit then, and to leave sorting by activity as something for when time and resources are more plentiful (and if we see it's causing users issues).

ilmartyrk commented 3 months ago

@BeccaMelhuish well time and resource in this context were meant as server loading/searching and processing, but yes maybe later if we can optimize it somehow or I guess adding a separate field to each topic that we update in sync with activities, but let it sit for now

BeccaMelhuish commented 3 weeks ago

Would love to see this one fixed quite soon, it regularly causes me problems when using the platform myself :)

I guess we should change 'All' here to 'Most recently edited', and have that selected as the default?

image

And would make sense to move it to be the first one, as it is automatically selected, do you think @kevincrepin?

image

Also, perhaps 'Activity' is a better heading than 'Order' (as order just means 'Sort by' in this case)?

ilmartyrk commented 2 weeks ago

Will check the ordering of by the topic status and will bring the ideation topics importance before discussion topics as they are placed in the current user flow.

For sorting by the latest activity will need a bigger implementation of adding a latest activity timestamp field to all possible resources in the database (topics, groups, ideations etc.) that will be updated when a related activity is created. Will create a separate issue for that