Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Make Speed Grader Load Faster

Make Speed Grader Load Faster

0 Kudos
(4)

My experience with SpeedGrader (as an instructor) is that moving from one student to the next is EXTREMELY slow. I am often grading 300+ quizzes at a time and grading by question to maintain consistency. Each time I grade a question it can take 4-5 seconds for the page to update after clicking the "Update" button to save the score changes and another 7-8 seconds to load when I click to the next student. This 11-13 seconds adds up to an hour of wasted time if I am grading 300 quizzes---and that is 1 hour per question. Generally I have to grade more than one question, so this is multiple hours wasted. And this doesn't account for the time spent scrolling up and down the page just to get to the "Update" button.

I wonder if it would be possible to have the browser download or cache the files for the next 5 or so students in the grading order each time a student's page is entered so that the page for the next student is being prepared while I am working on grading the current student.

9 Comments
Stef_retired
Community Team
Community Team
Status changed to: Moderating

@jvwowd 

Thanks for sharing this idea. We have two questions:

  • Are you experiencing this when grading Classic (Old) or New Quizzes? 
  • Have you already contacted Canvas Support, or the support team provided by your school, to have them investigate this? If you have, would you please provide the case number for the support interaction, and if you haven't, would you please do that and update this conversation with the results when that's complete? General directions for contacting support are in How do I get help with Canvas as an instructor?, but your school may have provided its own pathway to support, so please follow that.

Thanks again.

Stef_retired
Community Team
Community Team
Status changed to: Archived
 
paulbui
New Member

Within the Speedgrader, assignment submissions are only fetched at the moment the student is brought up, and the content is not cached either. There is a lot of waiting and latency when just bringing up a student's submission.

I suggest pre-fetching student submissions, so that the grader does not have to wait every time they bring up a new student.

Additionally, I suggest caching the content that was pulled so that a new request for the submission's content is not submitted every time a student is brought up.

paulbui
New Member

If the status of this conversation is archived, does that mean that there's no way for these changes to be implemented?

Stef_retired
Community Team
Community Team
Status changed to: Open
 
Stef_retired
Community Team
Community Team

@paulbui Thanks for catching that. We've changed the status to Open for Conversation.

jmsmit49
Community Member

@paulbui Can you elaborate on how you pre-fetch student submissions to speed up the speed grader? 

victor_powell
New Member

I interpret @paulbui 's comment as a suggestion for Canvas implementation.

paulbui
New Member

@jmsmit49 So the most common optimization for a user interface that is implemented in the backend/background is that if there is a common "next" resource that is going to be fetched by the user's interface/browser, then it is actually pre-fetched before the user actually chooses to get it. When something is pre-fetched, it is stored locally in cache, which allows the resource to be brought up instantly rather than having to wait for the request-response protocol that would typically happen when a user selects something.

So when we use the Speedgrader, you'll notice that it takes a few seconds for the assignment to come up in the window, so there's is this noticeable wait time because the browser has to request that assignment submission and have the server respond to it, which it can then render on the page. The most common use case is for the grader to grade an assignment and then proceed onto the next assignment, but if this is so commonly done, then it would make sense for Canvas to pre-fetch the next several assignments so that the grader does not have to wait for the window to request and render it