Giter Club home page Giter Club logo

office-hours-queue's People

Contributors

carsonhoffman avatar jamesjuett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

office-hours-queue's Issues

Priority System

The new priority systems is +n days depending on the last time students joined the queue. However if I pop someone off the queue, and mark them as not helped, they always fall down to +1 instead of +n. Please fix this issue.

Notifications in Virtual Office Hour Queue

I think for virtual office hours, especially in long queues, it would be helpful to have desktop notifications tell students if they are up next (proposing if they are 3rd, 2nd, and 1st in queue, so 3 total notifications). That way, we can silently continue working on other stuff.

I can implement it, but not sure of the proper UI to ask for notification (maybe a toast if there's a package for that installed already?). This is also assuming we'll use Notification API.

[Feature Request] Sync OH Schedule with Given Google Calendar

Resolves issues like #19. This should be very handy when OH schedule needs ad-hoc changes and as well as for class that don't necessarily has same OH schedule from week to week.

There may still be some issues with the actual implementation, such as most courses mix listing virtual office hours with in-person office or even lectures. This can be solved by synchronizing only events with a specific pattern in name.

[Enhancement] Sort Classes by name

Sorting classes by name, rather than by order they were added to the website, would be more intuitive and help students more easily find the classes they need.

Of course, this shouldn't affect starred classes, as they should be in the order they were starred (allowing students to completely customize that which they care about).

[Enhancement] Allow instructors to message students from the help modal

I usually click the "help" button on the queue before attempting to join a student's meet (so that no other instructor tries to join at the same time), but that means that if I need to message the student to let me into their meet/it's expired, I have to first click one of the "helped" or "not reachable" buttons- if I clicked the wrong one (e.g. they were in their meet and I clicked not helped, or vice versa), it's hard to rectify it (in the example provided, I'd have to pin and then press help again to get rid of their priority).

It would be nice to provide the ability to message students directly from that modal, so that the workflow becomes streamlined. Another option would be to do something like #8 to allow pinning to be used as a "staging area" for students that are in the process of being helped, at which point we can just send a message from the queue directly.

Feat: Automatic Timezone Convertion

As someone who's not in the EST timezone anymore over the summer and had an 8 hour difference a year ago, I emphatize with students who are taking classes remotely from other timezones. What do you think about adding automatic timezone convertion for office hour schedule times?

[Feature request] On mobile: Collapse course-list after selecting a queue

When a user visits the OH Queue on a mobile device and chooses a queue, they'll have to scroll all the way down to actually see the queue.

It would be nice if the course-list collapsed after a queue is selected. Then perhaps a menu button in the upper-right corner can expand the course-list again.

Students not able to cancel appointment if they log out/log back in again

We're still getting students saying they "can't cancel their appointment", which I thought was bizarre because there's a big ass red button that says "Cancel Appointment". But then, a student (tdotto) wrote this:

I thought I would add something here. I am always logged in on the website, and I can cancel my appointment if I have not reloaded the office hours page after I made the appointment. However, if I reload the page, it does not show a cancel my appointment button, and I can't see that it was me who made a specific appointment (like what [OTHER STUDENT] shared), even if I am still logged in. I was wondering if there is something I am doing wrong or if others have the same problem (even if they are logged in).

Maybe this is part of why they're having trouble cancelling appointments?

[Enhancement] Let sidebar scroll independently of Queue

Currently, the Sidebar scrolls with the page. However, that means that if I scroll down to select a class at the bottom of the list, I'll need to scroll up again to see the top of the "Queue" section of the page. (See attached screen recording.)

Screen.Recording.2021-01-14.at.8.03.45.PM.mov

It would be nice if the Sidebar could scroll independently. (This could be achieved with the CSS overflow property.)

Hosted Service Inaccessible due to Certificate Revocations

Starting from today, some users have been reporting that they are unable to open eecsoh.eecs.umich.edu due to a HTTPS certificate issue. Investigation shows that the issue is likely caused by Let's Encrypt TLS-ALPN-01 Revocations:

❯ curl -X POST -d 'fqdn=eecsoh.eecs.umich.edu' https://tls-alpn-check.letsencrypt.org/checkhost
[eecsoh.eecs.umich.edu]: The certificate retrieved from your web server has serial 043d496d6159ef88e6b2655a5c2e2b7610c1 and was found in our affected data set. Please renew your certificate as soon as possible. Help is available at https://community.letsencrypt.org/t/questions-about-renewing-before-tls-alpn-01-revocations/170449

[Enhancement] Accept autograder.io group JSON format

autograder.io stores its groups in the following format (an array of dicts each with a member_names array of emails):

[
  {
    "pk": #,
    "project": 908,
    "extended_due_date": null,
    "member_names": [
      "[email protected]",
      "[email protected]"
    ],
    "members": [
      {
        "pk": #,
        "username": "[email protected]",
        "first_name": "Student",
        "last_name": "One",
        "email": "",
        "is_superuser": false
      },
      {
        "pk": #,
        "username": "[email protected]",
        "first_name": "Student",
        "last_name": "Two",
        "email": "",
        "is_superuser": false
      }
    ],
    "bonus_submissions_remaining": 0,
    "late_days_used": {},
    "num_submissions": 2,
    "num_submits_towards_limit": 0,
    "created_at": "2021-02-08T22:07:44.864043Z",
    "last_modified": "2021-02-08T22:07:44.863853Z"
  },
  {
    "pk": #,
    "project": 908,
    "extended_due_date": null,
    "member_names": [
      "[email protected]"
    ],
    "members": [
      {
        "pk": #,
        "username": "[email protected]",
        "first_name": "Student",
        "last_name": "Three",
        "email": "",
        "is_superuser": false
      }
    ],
    "bonus_submissions_remaining": 0,
    "late_days_used": {},
    "num_submissions": 2,
    "num_submits_towards_limit": 2,
    "created_at": "2021-02-11T16:53:11.332152Z",
    "last_modified": "2021-02-11T16:53:11.331933Z"
  }
]

This is incompatible with the queue's group upload format. Considering the autograder doesn't actually expose this info (you have to go to the dev console and open up the HTTP requests) it's probably more likely for the queue to accept a new format.

Feature request: students cannot sign up again until end of cooldown period

Lots of students sign up immediately after an instructor helps them. It would be nice if students weren't allowed to sign up again until after a course designated cooldown period. For example, if EECS 485 didn't want students to be able to sign up again until 15 minutes after they were last helped, they should not be able to.

Another alternative: simply post on student cards when they were last helped/signed up so instructors can manually manage this.

[Enhancement] “Unordered Set” Stage in Between Queue to Stack

I think it would be good to have an intermediate status of "currently being helped" when an staff member clicks on the "Help" button, instead of the "Popped!" modal we have now. This:

  1. Provides students with greater transparency about the state of the queue. When the OH goes slow, students may ask why they went to the front of the queue and still haven't received help - this intermediate stage can help clarify such issues.
  2. Prevent staff mistakes from causing unwanted/confusing pop-ups on the student side - accidentally clicking on help or not helped (this often requires pinning the student to fix, which causes even more pop-ups on the student side). Alleviate issues such as #8 (comment)
  3. Allows staff to interact with other elements on the queue page. For example - message to student. Solves issues like #15.

Desired UI would look like this:

image

[Feature Request] Direct URL to course OH page

It would be nice if a URL like eecsoh.org/eecs280 loaded the OH page with the correct course pre-selected in the sidebar.

Such a link could be shared with students and added to bookmarks. (I guess the structure of the URL doesn’t matter, fragments or query parameters would work too if they could preselect the correct course.)


I originally created jamesjuett/help_queue#63, but it looks like this is the new home for eecsoh.org?

[Enhancement] Show position in queue in page title

Right now, the page title reads "EECS 281 Office Hours (36)", 36 being the total number of people in the queue. This is helpful, but while in the queue, I have anxiety of my position moving up, so I either pop the tab out to another window, or constantly keep coming back to the OH tab if I'm working on another tab while waiting.

It would be nice if the page title read "EECS 281 Office Hours (5 of 36)" or "EECS 281 Office Hours (5/36)" to convey the student's position in the queue (5 in this case). This way, you can quickly gauge if you need to return to the OH page without opening the tab.

Add ability to see student information after time slot has passed

Per one of the ENGR 101 IAs:

Also one thing I noticed, after the student’s slot is up, on the admin side, we can no longer go click the zoom link or view the meeting information. This can be an issue if we are running late on the slots. Is there a way to revert to last semester’s format where we still could see the previous students information even after the time has passed?

Log of appointments used vs. not used?

I feel like this is more like a request, than an issue, but I figured that if I put this message here, rather than in an email, at least you would be able to to track it as being queue-related :)

Joanna Millunchick asked me to come up with an "equation" for how we staff ENGR 101. I know how many hours the staff are "on" for Office Hours, but I don't know how many students actually come on any given day/time. Is it possible to pull or create some kind of simple log that would tell me how many appointments were signed up for on each day? Maybe something like:

day, # appointments available, # appointments used

Please let me know when you get a chance. I know it's the end of the semester and you're busy. :)

Online indicator not usable on ipads/medium size screens

Really appreciate the online indicator for students, it saves quite a bit of time spent searching/pinging students that are no longer at OH.

I use an ipad for OH and unfortunately it appears that the screen size is in the awkward middle ground between mobile and desktop - the indicator is not visible and can't be seen by scrolling horizontally/rotating the ipad. For now I've resorted to just using my phone to check if a student is offline, but that's not really ideal.

The issue can be replicated on desktop as well by just making the window width of your web browser a little wider than half of the screen.

Some potential fixes would be to allow collapsing of the sidebar/stack for instructors (to give us more screen real estate) or potentially move the online/offline indicator to the top right corner of the box that we see rather than letting it be in the area that gets cut off horizontally.

Add option to automatically activate cooldown feature when queue reaches specified size

When the queue is really long, the cooldown feature becomes redundant since students would still have to wait hours to be helped again. It is most useful when there is a very small amount of students in the queue.

It would be great if an additional setting is implemented, which specifies a size n, and the cooldown feature will activate only when the number of students is < n.

Along the same lines, switching the cooldown time measurement to minutes from seconds would be appreciated!

Thanks in advance!

[Enhancement] Don't add hover background for course titles

When I first visited the Queue page, I was surprised that I couldn't click the name of the course. Only then did I realize that I must click a Queue, not the course.

Screen.Recording.2021-01-14.at.8.08.56.PM.mov

To make it more obvious, it would be nice if the background of the course title didn't change on hover (to indicate that it's not clickable). Maybe also use a different cursor style, perhaps not-allowed?

Cooldown doesn't seem to be working

Right now cooldown for 485 is on for 600 seconds (10 min) yet students are still able to sign up immediately after being helped. Could I be missing something when it comes to setting up the cooldown?

image

[Feature Request] Broadcast to Queue

This can be integrated with the current announcement feature - an option to create an announcement with or without broadcasting it to students. This ensures that our time-sensitive messages are seen by students.

block students from signing up within XX minutes of an OH slot

If possible, we'd like to block students from signing up within 10 minutes of an OH slot. Partly so that staff aren’t caught by surprise and partly so that students are forced to have a “cool down” moment after leaving an OH appt to actually think about what was discussed (meaning, they can’t just immediately sign up for another slot after theirs if there isn’t anyone else signed up)

[Enhancement] Dark Mode

The Queue, being completely white, is incredibly bright and can hurt one's eyes to look at. A dark mode would be very helpful.

Use of Notification API for watching Queue on both ends

Notification is an API that can give users a notification, per the user's permission. This would prove itself useful on both ends -- IA and student.

For students in long queues, they can opt in to get a notification when they're next on the queue or got popped off the queue.

For IAs in dry queues, they can opt in to get a notification when a student joins the queue.

In either case, this can prove itself very useful, as it would give real time information to people about the queue without needing to actively look at it. This would especially be useful for virtual queues.

[Feature Request] Allow students to "star" queues

Since there are a lot of queues to choose from in the Sidebar, it would be nice to let students pick their most frequently-used queues and display them separately on the top of the Sidebar. (That way, they won't have to scroll each time they load the page.)

Feature Request: show how many instructors are online

Can you display the number of instructors that are online at the top of the screen? Students in EECS 485 have been asking for this feature so they know if the queue is being serviced, especially to see whether instructors are staying late to clear out the queue even after its closed.

Listing inaccurate times for queue opening

I'm in 281 and I have noticed that the time listed for the queue to open is not always the time that it actually opens. The time it opens often lines up with the scheduled office hours times however this is not always the case. There have been several times when I saw that the queue opened at 8pm or later when I check around 2 but then when I went back to sign up at 8 there were already 50 people who had signed up at that time. This is extremely frustrating despite me knowing that there were office hours scheduled earlier on that particular day. It would greatly help with confusion if these times always lined up.

[Enhancement] Rename "Meeting Link" label to clarify

Currently, students at the location don't understand that they can just say "I'm here in the room, wearing a pink hoodie". They are setting up meeting links even though they are sitting ten feet away.

Changing the label to "Meeting Link or Location/Description" or similar, to show that a video conference link isn't required should help this situation.

Differentiate between in-person and hybrid/virtual OH queues

When an instructor clicks on "help" it says their "link is: " (see highlighted area below).

image

This makes sense for online OH, however, for in-person it doesn't make perfect sense.

Additionally, when signing up for a queue it asks for a "location/meeting link" (see highlighted below)

image

It could be nice to just display to appropriate message (ie location for in-person and meeting link for virtual).

It could be nice to have a feature that allows instructors to designate whether a queue is in-person/online and display the appropriate messages.

I know this is a low-level request, but I thought it could be worth mentioning.

Inconsistent schedule and status

2014efc broke things. I have my browser reporting UTC as its local time. Translating in my head would be easy enough, but the site shows inconsistent times:
Inconsistent times. This image shows what Unix date reports, what in-browser Date() reports, and the OH queue site telling me both 2:00 and 3:00 for the time the queue opens.
In the top right, I'm told the queue opens at 2:00 PM. Minus four hours and you get 10:00 AM, which is the time the queue did actually open a couple minutes ago. The schedule shows me 3:00 PM instead.

Likely related is the site reporting at noon two days ago that the queue was both open and closed simultaneously:
Inconsistent status. Top right shows that the queue is open until 9:30, but where the queue would normally be is a blue box saying the queue is closed.
This screenshot also shows an unfamiliar button layout, with just "Open Queue" in place of "Edit Schedule" and "Clear Queue". Clicking that button did open the queue immediately and seemingly did not change the schedule.

[Enhancement] "Away" status

Suggestion: Allow students to temporarily mark themselves as "away".

If students are marked as away, they retain their place in the queue but somehow don't reach the top (or are marked as away when they do) and staff won't attempt to help them.

This would help make a more strict policy more palatable. For example: "Please make sure your zoom call is open and you're available when it's your turn. Mark yourself as "away" if you need to step away for a bit. Otherwise, if you're not there when we try to join your call, we'll have to remove you from the queue."

[ ENHANCEMENT ] Automatically randomize queue

Would be nice if there was an option to automatically randomize the queue order for the first x seconds after queue opens for students with the same priority. The current system completely messes up priority from our testing with 482 staff.

[Enhancement] Allow students to see which instructor pinned them

Is there a way that the students can know which instructor pinned them? Or have the option to? We're hosting UGLI OH with reserved rooms. Different staffs reserved different rooms and are helping students at the same time. It's inconvenient to have to message every student every time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.