DavidCain / mitoc-trips

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

Suggestion: Allow leaders to customize how many seats they need for transportation #98

Open jkwan2011 opened 5 months ago

jkwan2011 commented 5 months ago

Inspired by #97, this proposal would allow leaders to customize the number of seats they need for transportation, instead of relying on the number of participants.

For trips that require transportation of large pieces of gear (e.g., ski trips, surfing trips), there are often fewer seats available for passengers than trips where everything can fit in the trunk. Conversely, trips that are local to Boston, where the entire trip is accessible by T or other public transportation, do not require any drivers.

Create an option (perhaps hidden by default) where leaders can change the number of seats required for a trip from the default value to a reasonable one of their choosing.

DavidCain commented 5 months ago

This would actually be really easy to implement algorithmically, and I definitely see the advantages of specifying that you don't need the full 2 drivers (for local trips, this is also a huge boon to students & others without cars -- there's no reason why a driver should get priority on those trips).

I can see absolutely no downsides to implementing this for normal (non-WS) trips, that run on a single isolated lottery.

My only concern would be effects on the WS lottery. Squeezing 5 people into a car is often uncomfortable, but very doable. If leaders start saying they need 3 cars (when they really could get by with 2), that runs the risk of squeezing the available pool of drivers. If the popular trips require more than 2 cars, that all but guarantees that drivers will get a large number of available trip spots (while also depriving the other trips of necessary drivers).

I think that the benefits (reducing leader scramble for enough transportation) likely outweigh the negatives here, but we should be careful that the popular trips (skiing & ice climbing) don't end up squeezing the other trips. Are there other downsides I may be missing?

ewillia3 commented 5 months ago

David, I agree with your downsides and that we should probably avoid trips requesting extra cars for comfort alone during winter school. Perhaps we can pilot this by trip type? I'm personally motivated for skiing trips (xc trips have the same issue as backcountry too), and it sounds like surfing trips are similar.

DavidCain commented 5 months ago

Ooh, exposing this only for skiing/surfing trips (at least to start with) sounds like a brilliant idea. I'm open to that! It may also help me get this done in time for next week's lottery if I can just directly work with trip leaders to change the lottery behavior in the background without any corresponding UI changes.

Make a formal proposal to the WS chairs, and if they're on board I can make this happen?

DavidCain commented 5 months ago

Also, I should have paid closer attention to the issue -- the title says customizing how many seats, but I was assuming it was a simple customization for how many cars a trip needs. Saying that a surfing or skiing trip likely needs 3 cars is much easier than saying "we need 8 seats, but also to carry 5 surfboards."

To solve this problem perfectly, we'd basically need to know the carrying capacity of all participants' cars, in myriad situations. It'll be damn near impossible to get clear answers to how many people a car can seat when also carrying cargo.

For example, my car seats five. I can drive three passengers if skis are in the car, but four passengers if skis are in the roof box. But I can only carry ~5 sets of skis in the box (less if there are snowboards involved). And surfboards couldn't fit in the box, but I could remove the box and strap surfboards to my roof racks.

Good luck capturing that level of complexity for all passenger cars. 😛

ewillia3 commented 5 months ago

My initial idea was in terms of cars, but the discussion evolved to be in terms of seats. I am pretty agnostic here and for the purposes of getting something operational for WS ski trips I agree adding 1 car seems like the best option. Cole suggested an option for "My car has a roof box or ski rack" when adding cars, so then trips could have 2 cars if one had a roof box (racks seem harder since many only fit ~4 pairs of skis), but again I think that is an extra level of abstraction that we can revisit later. I wrote the proposal to ws-chairs in terms of number of cars, and allowing ski trips to request one extra car compared to what is needed to transport people. Does that sound good?

ewillia3 commented 5 months ago

@alexcasgarcia cannot believe I forgot that bouldering trips are also in this bucket. Perhaps we could include the boulderers in the feature request as well (similar to surfing).

DavidCain commented 5 months ago

I could absolutely see there being some simple support for cars with extra storage (e.g. trip could support "2 cars with roof boxes/racks, or 3 cars normally") -- but trying to get the number of seats met is probably gonna be too difficult.

Let's start with a plain "number of cars" filter, and go from there?

Blox-Blox commented 5 months ago

this would be so helpful for surfing trips!

Outside Winter School, it's probably easy enough to tell folks to only set themselves as having a car if (e.g.) they can put surf boards on their roof

Agreed with the concern in David's first comment regarding making sure drivers still get spread out across trips. Curious if it'd be possible to run test cases of the WS lottery rerun with 3 cars per trip instead of 2?

Perhaps ski trips specifically get a behind-the-scenes bump to getting 3 cars instead of 2 during WS?

DavidCain commented 5 months ago

@Blox-Blox - were you curious about the effects of re-running so that all trips get 3 cars? Or just surfing+skiing+bouldering trips?

Perhaps ski trips specifically get a behind-the-scenes bump to getting 3 cars instead of 2 during WS?

That's basically what I'm going to try to get done before next week, with a plan for customization per-trip being exposed to trip creators going forward.

Blox-Blox commented 5 months ago

Ya. I was curious what happens if you rerun a Winter School lottery with all trips getting three cars instead of two. i.e. Does that leave trips that are less frequently people's top preferences without cars because the more frequently preferred trips held too many spots open for drivers and took all the cars? (In general that seems to be a big risk of the proposed changes that have been getting discussed.)

DavidCain commented 5 months ago

Ya. I was curious what happens if you rerun a Winter School lottery with all trips getting three cars instead of two. i.e. Does that leave trips that are less frequently people's top preferences without cars because the more frequently preferred trips held too many spots open for drivers and took all the cars? (In general that seems to be a big risk of the proposed changes that have been getting discussed.)

Awesome, heard. My inclination says that yes, it would, but let's get some data!