How to display pickups with end times?


#1

I’ve been working on adding end dates to pickups (see https://github.com/yunity/karrot-frontend/issues/709) and the question of how to display them has come up.

The original idea was to have an optional “end” field in addition to the “start”. But my thinking changed after seeing the need to not immediately make the pickup go away as soon as the time starts (see https://github.com/yunity/karrot-frontend/issues/1172) - so I implemented the pickup date field as a date range, so they always have a range (by default 30 minutes), which will make the handling for that simpler.

Now the question is how to display this, here’s two options:

  1. show “start time - end time”
  2. show the duration (a bit smaller)

But for pickups where you are supposed to actually turn up exactly on time, then is this confusing? I actually implemented it at the moment so if the duration is less than an hour then it shows the duration in minutes, otherwise show the end time.

Your thoughts would be welcome!


#2

I think displaying the start and end time would indeed be confusing if the foodsavers are meant to show up on time. I prefer the second way of displaying it but would add the small word ‘lasts’ or ‘takes’ in front of the ‘30 minutes’ to make it even clearer.


#3

I’ve made it optional now, and specified as a duration (this is on the pickup series and the one-off pickup is similar):

… and then only those with a duration have it displayed:

optionalend

I also have in mind the generalization topic where “normal events” generally have a duration (e.g. a meeting, or a workshop) meaning you should be present throughout the whole time, whereas one of the “pickup with end date” use case is the “turn up at any time within this time frame” thing (more like opening hours), so need to keep it workable for both cases.

The case which I think is not very well handled by this mechanism is really long time frames, e.g. days, weeks, months (the end date will not be shown as I have it right now, only the time) - and there are some use cases that ask for that, but it might be they are not best represented by a pickup/event (e.g. the food baskets on foodsharing are kind of like a pickup, and kind of not). I think the long duration use case needs more thought (separately to this).


#4

… and right now it’s specified as a fixed set of possible durations (e.g. 15 minutes, 30 minutes, 1 hour,…). I think it might be better so you can specify duration and/or end time and have them mutually update each other (google calendar works like this), but I’m hoping to get this version merged without implementing that :wink:

Edit: Oh, I was totally lying about google, it looks like this:

“quick” view:

googlecalendarsmall

“full” view:

googlecalendarbig


#5

I think this covers most of the cases and will be an appreciated improvement! :pray:


#6

I got jealous of the google one, so I made it nicer :slight_smile:

Without end date:

Then press the + to add an end:

(not sure why they show up blue… I promise I didn’t turn them blue)


#7

End dates are live on dev.karrot.world now :slight_smile:


#8

Also it was already mentionend i also think that especially new people might be confused that the timespan shown with time- time looks more like an invitation to come “whenever during that period”.

or i miss the option on how it is shown in the pickup creation


#9

@adis I agree - as it’s implemented now it’ll only show it like that if you choose an end time.

If it does have an end time, we would have to rely on the context being clear, e.g. if it’s a meeting it probably means the duration… but if it’s not clear then writing in the description could clarify.

What do you think?