Meteor-Mentor / meteorU

5 stars 3 forks source link

Session Time Helper #1

Open chathuraa opened 8 years ago

chathuraa commented 8 years ago

An intuitive way to find session times for mentors and members in different timezones with different availability.

serkandurusoy commented 8 years ago

Let's do something just a little complex here as learning experience.

So an example vote would be:

There maybe some improvements:

This is just an idea, we may make it way simpler but I think this would be a good exercise to think in terms of time zones, summertime offsets, durations, time calculations, time display formats, arrays, math calculations and fractions, document structures as well as an opportunity to work with packages like mathjs, momentjs and underscorejs.

Let's hear some more ideas, we can make this simpler, more complex or perhpas trash this idea to come up with a better one.

chathuraa commented 8 years ago

This is really good lets have a brainstorm session, may be tomorrow if everyone is free.

sakulstra commented 8 years ago

"The mentor may get to have superpowers :) For example 12 points to distribute to their own 3 votes." I think this kind of destroys a voting system. Wouldn't it be better to let the mentor decide which 3/x options the students have to choose from? If we just want to make it complicated we can let the mentor colourize the options(green/yellow/red).

serkandurusoy commented 8 years ago

I think you are right. The mentor should have normal human powers :)

And yes, the mentor should predefine their availability as I suggested by

Mentor can limit the allowed time slots beforehand, for example Mon-Wed 09:00-18:00 UTC

but I want this more than mere slots because I'd like this feature to require time based calculations and timezone problems. Believe me, most devs I know clearly make very simple mistakes here and paint them into corners when the time comes to open the app to the whole world :)

sakulstra commented 8 years ago

The solution which came to my mind was: Simply saving the timezone at first login. As we can’t assume, that the JavaScript Time is always correct, we probably have to somehow ask for confirmation and give the chance to correct a wrong assumption. To over-complicate it, we could also try to get the timezone via IP and check if it’s the same than JavaScript assumes.

  1. Having the time zone we can build a doodle like application where everyone can select possible time slots in his very own time zone. With the users time zone present, we can now normalize the selection to UTC+0 and present it in the UI for the others.
  2. On the other Hand we could have a woldtimebuddy like application which let’s the Leader (Mentor) select a time, but in the same time present him what a specific time means for the others. So he won’t pick a time which is like 3am for some participants.

I personally think a combined solution would be the best. So the mentor can select some time slot’s which are doable for the participants and than the participants can vote for a specific slot.