DavidCain / mitoc-trips

The MIT Outing Club's trip management system
https://mitoc-trips.mit.edu
GNU General Public License v3.0
43 stars 9 forks source link

Upcoming trips: default sort by date ascending #92

Closed anishathalye closed 1 year ago

anishathalye commented 1 year ago

Looks like there is great support for changing the default for the listing of upcoming trips to be in chronological order, showing the nearest trips first.

We want to optimize the experience for MITOC members looking to join trips, and for those people, we think showing the nearest trips first makes the most sense.

From MITOC leader Slack:

Screenshot 2023-08-29 at 5 36 57 PM

(see also, previous issue #77)

DavidCain commented 1 year ago

Hey, Anish. I'm not on the MITOC leader Slack (and will probably continue not to be -- you can contact webmasters any time over email).

From just the screenshot, I'm not really sure who those sixteen leaders are, or the extent of the threaded conversation (maybe certain features/functionality were requested/proposed?). But no matter the exact proposal, there's still the question of how to deal with certain edge cases (initially brought up in https://github.com/DavidCain/mitoc-trips/issues/77#issuecomment-1267325228) -- I don't think we ever discussed the exact design tradeoffs/choices. Namely, it's unclear how we should display trips when showing past and upcoming trips on the same page, and I'm unclear that just sorting in ascending order fixes the problems with descending order sort.

We want to optimize the experience for MITOC members looking to join trips, and for those people, we think showing the nearest trips first makes the most sense.

I agree that trip participants are the most frequent users, and we should design for them. I agree that for anybody managing multiple trips, it's probably way more helpful to default to sorting in ascending order. I'm just not sure that's the case for participants. For many participants, the trips page is for trip discovery. Newer-posted trips tend to be posted at the top. Trips which are coming up soon aren't actionable, since the trips are either full or just closed to signups. Those unactionable trips are displayed at the bottom.

Consider the case of Winter School -- for participants who are viewing trips on a Friday, they generally can't go on any of the Saturday or Sunday trips (but there may well be mid-week trips a few days later which they can sign up for!) Putting the Saturday & Sunday trips first means that participant will have to scroll past ~twenty trips just to find a trip they can sign up for (they can, of course, click the sort button to change the ordering, but anybody can do that at any time -- the question is what to default to).

I'm a bad designer, clearly, but the default ordering here is trying to serve different groups. There's probably use cases for the page I'm not considering either.

Admittedly, it's pretty bad UX for the "Old Man's Birthday" trip (which is super old) to always be the top spot in the list of trips. But that's also an extreme outlier -- we generally don't have trips planned for any more than ~2 weeks out. I've never seen a long-planned trip be "stickied" like this one.

Maybe the solution here is to just improve customizability of trip sorting. Some people may be interested in sorting trips by the date they were created (so newer trips are always on top, regardless of their calendar date). Maybe we need a better way of getting trip details to people than the current systems (RSS, auto mailing list, /trips, and the manual posts to mailing lists).

anishathalye commented 1 year ago

Here are the people who have seen/reacted to the message:

Screenshot 2023-08-30 at 9 56 41 AM

I think the goal is to optimize for the people we are trying to recruit in the fall, first-time users of the MITOC trips website. Seasoned users can scroll / toggle the sort ordering.

DavidCain commented 1 year ago

I understand, but whatever design is chosen here is going to affect all users of the site, year-round.

DavidCain commented 1 year ago

To summarize my earlier comment:

I'd encourage anybody who wants to change the display to present a concrete plan for doing so -- I'd gladly consider it.

kcamenzind commented 1 year ago

Some thoughts-

Consider the case of Winter School -- for participants who are viewing trips on a Friday, they generally can't go on any of the Saturday or Sunday trips (but there may well be mid-week trips a few days later which they can sign up for!) Putting the Saturday & Sunday trips first means that participant will have to scroll past ~twenty trips just to find a trip they can sign up for (they can, of course, click the sort button to change the ordering, but anybody can do that at any time -- the question is what to default to).

To play devil's advocate, if someone posts a Thursday/Friday trip for the same week, you'd currently have to scroll through all 40 weekend trips to find the most urgent trips to sign up for. (FWIW weekday trips are fairly rare anyway. This year it looks like there were... 0.) During first weekend signups on Tuesday you also could end up with 7 upcoming winter school lectures sitting at the top in front of all the weekend trips.

Maybe we need a better way of getting trip details to people than the current systems (RSS, auto mailing list, /trips, and the manual posts to mailing lists).

Maybe (maybe not! people do sign up for trips) but I think that can be a separate discussion. If 20:1 folks quickly reacting positively to inverting the sort (for context, that is way more reactions to a Slack thread than we normally see...) then I think it probably suggests we should change it (whether or not there is a big discoverability problem or just a small optimization to be had).

A concrete plan could be:

The tl;dr of those very long thoughts ^ being:

DavidCain commented 1 year ago

To play devil's advocate, if someone posts a Thursday/Friday trip for the same week, you'd currently have to scroll through all 40 weekend trips to find the most urgent trips to sign up for. (FWIW weekday trips are fairly rare anyway. This year it looks like there were... 0.)

Yeah, I'm certainly a bit sad to see that midweek trips are not really done much these days. Once upon a time, midweek trips were reliably posted towards the latter weeks of Winter School when a leader realizes that lots of people didn't get to go on any trips that weekend. If memory serves, it was usually a ~Wednesday day trip, posted on Saturday or Sunday. I was asked to support certain WS trips being "first-come, first-serve" specifically for this use case.

You make a good point about somebody posting Thursday/Friday trips after Monday, where the weekend trips have already been posted. In fairness though, I'm not sure that's ever happened.

I don't think it's an outlier for a few trips to sit at the top of the trips page for >1 month (courses are always planned far in advance, many weeks of yoga are posted in bulk, etc.) I would guess at any given point there are more "too far out to think about" trips sitting at the top than completely closed/not relevant trips sitting at the bottom.

That's a fair point, and that's not likely to change once "old man's birthday" drops into "previous trips" (and, heck, if it's a fun trip, they may well plan to do it again, ensuring the trip stays on top for 365 days).

If 20:1 folks quickly reacting positively to inverting the sort (for context, that is way more reactions to a Slack thread than we normally see...)

Certainly seems overwhelming to me that leaders support changing it. Though we are all somewhat guessing at what participants want. I suspect that anything resembling user research is just not going to happen. We basically should do what we always do -- make an educated guess, and hope for the best.

  • Default ordering when you load the page is descending (newest first).
  • Clicking "Previous trips" reloads the page anyway. Reload the page with ascending ordering so it matches previous trip ordering. (I am open to thoughts here, but it seems fairly unoffensive if we want a concrete plan.)

This seems very reasonable to me. I think the primary users of "view old trips" is leaders looking for inspiration or participants trying to see what the club offers. In either case, a lot of scrolling is going to be done.


I am happy to PR something if you want.

Nah, I appreciate it, but there's no need. I think the hard part here is designing something sensible. The code changes themselves are small (but sure to break a ton of unit tests, which I can fix).

There's also the problem of how we should sort the RSS feed, which is meant to have the "newest" content at the top of the XML document. RSS users haven't ever complained to me, so I may just preserve the same behavior on RSS (or, when we introduce the ability to sort trips by creation date, we could make that the RSS behavior).

I think I may separately take a stab at improving discoverability. There's probably room to quickly improve the means by which people view trips:

I think the problems we're seeing here are basically side effects of increased usage of the site; it's being used in ways we never expected. For many years, the furthest-out trips were no more than a week away. With recurring yoga session, climbing gym shuttles, and celebrating strangers' birthdays, the trip list has changed a lot.

I think the site works great

Hah, I don't! Sure, it runs fast, has no known backend exceptions, and has strong uptime but it's absolutely terribly designed. I've never claimed to be a good designer! Feedback's always appreciated.

DavidCain commented 1 year ago

I'll leave this issue open for now. Unless others have suggestions, I'll probably do what @kcamenzind suggests above and close this out (I have time tonight & tomorrow night, will probably make the changes then).

DavidCain commented 1 year ago

Okay, cool -- I made the change! I also added the ability to quickly see whether a trip is in the lottery stage, open to signups, etc. I think the ability to quickly view that status (and to sort by it) should help alleviate concerns about participants who are mostly interested in figuring out what trips are newly-posted, which are already full, and which are open now.

rbommel commented 1 year ago

@DavidCain, thank you! This idea of having the status also as a column is great!