Show how late an assignment is in SpeedGrader



Currently, if a student submits an assessment at what appears to be the exact due date and time, they are penalised (unless the individual penalty is overridden by staff). So far as the student is aware (and staff for that matter) the assessment is on time.


For example, the below shows that a student submitted a paper on May 4 at 1700hrs. This is the due day and time, but a late penalty has been applied (per the late policy). After calling Canvas support, I found out that the student actually submitted at 17:00:04... four seconds after the due date. However, this information is not visible to the students or staff, so for the student it looks like the a penalty has been applied unfairly. For staff, they cannot verify if it is a glitch, or the student has submitted within that one-minute time frame. Many students submit up until the last minute, so this is something that is bound to happen often. 



I suggest one of the following changes are made to fix this issue:

  1. Allow seconds to be entered in the assessment due date and time (i.e. 4 May 2018 at 17:00:59 etc.); or
  2. Display the submission date including seconds, not just down to the minute (visible to students and staff); or
  3. Have a field that lists how late the assessment is (our previous system did this, it would state '1 day 20 hours late' etc.).
Community Champion

 @Jess_M ,

So far as the student is aware (and staff for that matter) the assessment is on time.

In case you're not aware, there are Canvas Guides that explain how things work. In the Canvas Instructor Guide, there is What is the difference between assignment due dates and availability dates?. According to that, it wouldn't do any good to display the seconds.

If no time is set, the date defaults to 11:59 pm for the course time zone. Please note that seconds are not counted in the due date time. For instance, a due time of 11:59 pm means that the assignment is marked late at 11:59:01 pm.

And then a couple of paragraphs later ...

Until [2]: the date and time when students can no longer submit the assignment. If no time is set, this date defaults to 11:59 pm for the course time zone. Again, Canvas does not account for seconds, so the assignment is closed at 11:59:01 pm.

That means that if you want them to have it available until 17:00:59, you'll have to put in 17:01. However, unless you educate people as to the way it works, that's going to leave them thinking that they now have until 17:01:59.

The solution is to educate people that it must be submitted before the date and time listed in Canvas to not be considered late.

Once instructors are aware, they can inform their students and the problem largely disappears. You can also point the students to the Canvas Student Guide and How do I view Assignments as a student?  where it says:

Due dates also include a time [2]. If your instructor does not set a specific time, the assignment defaults to 11:59 pm, Canvas does not account for seconds in the due date, so for instance, a due time of 11:59 pm means the assignment is marked late at 11:59:01 pm.

I'll grant that the way the documentation in the Guides is worded, that people might lose sight of the "1 second late is late" thing because it follows the 11:59 pm, which may not apply. The documentation has to balance saying so much that it's too wordy and no one reads it with not saying enough that it misses key points.

As for the feature idea, you've listed three ideas, and Canvas has asked that people limit it to one so that people know what they're voting on (for example, they might like your second idea but not the third). They also ask that they not be specific without being overly prescriptive. The How do I create a new feature idea? document explains how to form a feature idea and some suggestions to follow.

Community Participant

Hi James, 

I think you might have misunderstood, I may not have explained clearly. 

We have a late policy, so if an assessment is submitted late the student is penalised. If the submission shows that the student has submitted at the time that the assessment was due, there is no indication that it was late and thus the students does not have a justification for the penalty. You can educate students all you want, but if the system shows they submitted at 1700hrs and it was due at 1700hrs, there is no obvious justification for the penalty. This is not about availability, but the way that information is communicated to staff and students. I can assure you, students at my institution will contest a penalty in these circumstances. 

Students will not refer to the documentation, they engage with the system. Given that other course management tools tell students how late their submissions are, I didn't think it would be such a tall order to ask Canvas to do this. 

I will update the title, but the feature is only one feature: provide clarity regarding submission times that interact with the late policy. It is simply providing options for how this is achieved. Any of which would work. 

Community Champion

As you said, it's about the way that information is conveyed to the students and changing "due at" to "due before" fixes the issue and removes the argument any students might have.

Community Participant

We use Canvas to communicate due dates (and all other course information) to students. The idea that academics need to change the way they teach and communicate in order to use Canvas is reductive, at best. The fact remains that I'm not asking for the world, merely a feature that  other programs offer as a matter of course.

Regardless, if we followed your advice, then the information conveyed to students would differ from that of the system. We would then open ourselves up for the issue to be escalated. Such complaints usually remains within the institution (and in these circumstances the student would likely have the penalty removed, given the contradiction), but complaints can go to an external independent body.

As a result, we have no choice but to manually review all late submissions in order to zero out those submitted at the submission deadline. What's the point of automating the late policy if it still needs to be manually vetted? 

I understand that this may not be something that would be valuable for you, but that doesn't mean that it would not be valuable for others. Further, I don't see how adding this feature could negatively impact those that don't need it. 

Community Champion

It most definitely would be worse for other people. Most humans don't deal down to the second. When you look at clocks on cell phones or computers, few of them have the seconds displayed. It takes up extra space in the display.

Any display of time involves an arbitrary decision of where to round. Time is continuous measurement, just like a score in the gradebook. Canvas made the decision to round the gradebook to 2 decimals as a place that appeals to the most people. They could display numbers like 78.891246782164 and the next number as 82.58924 and the next as 90 and so on, but it's ugly, things don't line up, and most people aren't going to be looking past the first couple of decimals anyway. I realize that 2 decimal places may not be the desired outcome for everyone, someone want everything to an integer, some want more decimals, and those people are welcome to put in feature requests to have it changed and some have. The 2 decimal places is relatively recent change, so I don't see it going back. But if someone said we need to not round the scores at all, that would be, in my opinion, a bad idea and I should vote against it because I think it would do more harm than good.

Having to deal with humans (darn those humans) and how they round plays another role in Canvas, this time with the grading scheme. Humans like to put things like 90–100=A, 80–89=B, 70–79=C, and so forth. Then you get students who have a final score of 89.63 and don't know whether that is an A or a B? There are some faculty that intended that students must achieve a 90% to get an A so they are not rounding and that is a B. There are other faculty who just naturally assume that the final score is going to be rounded to the nearest whole number and so that would get rounded to a 90 and be an A. The problem is that everyone assumes that because they do something one way that everyone else does it the same way and that is definitely not the case here.

A student might have one professor who wants it one way and another professor who uses it the other way. How is a student supposed to know what to do? A student has their own ideas about what should happen (normally whatever is best for them) and they are likely to infer that same belief structure on their professors in the absence of evidence to the contrary. My syllabus explicitly says what I do and gives an example and I mention it a couple of times in class. Despite that, I still get some students who email and ask if a 69.6 is passing. Unfortunately, much of what you say to the student is lost unless it's relevant to them at that particular moment. At that moment, they may not have been worried about their final grades, so it didn't register. At the time you tell them that assignments are due before the due date, it may not register because it didn't affect them right then. But at least you have it documented and something to fall back on and point at when it comes up.

The Canvas solution allows people to be flexible and round or not round, but they have to know how the software works. And it is the instructor's job to be specific in the syllabus and not make assumptions about what will happen to grades that fall between the specified values.

Getting back to the issue at hand – time – we see that like scores, time is a continuous measure and you have to decide what precision to have (where to round). Common values are to the nearest hour, the nearest minute, or the nearest second. Computers sometimes do calculations with time to the nearest millisecond and the page requests data in Canvas even contains times like 14:12:52.971.

Times aren't even necessarily calculated in human readable formats. Many times in computers are measured in terms of seconds since the epoch (midnight UTC on January 1, 1970). Others deal with the milliseconds from epoch and as of right now, it's 1525783898742. Excel uses a combination of the number of days since January 1, 1900, as the integer part and time as the decimal part -- the time is the fraction of the 24 hours that has occurred, as I write this is it is 43228.32921.

You could use what common notation of hours, minutes, and seconds but decide to have a precision of the nearest quarter minute (15 seconds). You could then come up with your own notation of hour:minute.quarter_minute say it is as I write this 12:58.1 to mean that it is 12 hours, 58 minutes, and 1 quarter of a minute.

None of these make sense to humans because they're unfamiliar. They are not human friendly. And being not human friendly will lead to more problems that being human friendly but rounding too much or too little. So Canvas doesn't use them when they display time. Go Canvas!!!

There's still the issue of rounding. Having a 1 minute precision on the due at (or due before) time is the best option.

As mentioned, most people don't deal in seconds, they deal in minutes. Ask someone what time it is? At least here in the United States (my timezone is UTC-5 right now), you will get 8:08 am, not 8:08 and 12 seconds. But you're also very likely to get 8:10, even though that's 2 minutes away. You might get a few people who call it 8 am. We tend not to use seconds and often round the minute to a less precise value like the nearest five minutes or quarter hour (15 minutes). Adding the seconds is unfamiliar and when it is given, it's often ignored. That makes it clutter and unnecessary and not human friendly. That leads to confusion when it's displayed. I can envision people seeing 17:00:59 and reading it as 17:59 because they're so use to only having hours and minutes given in a time that they just mentally skip the 00 in the middle.

Time is displayed differently than other things. Most of our modern numbers are decimals, whereas time is converted into artificial constructs of hours, minutes, and seconds, which have 24, 60, or 60 values each before advancing the next unit. But everyone gets that and no one questions it because that is what is familiar to them.

The precision of time depends on which units you choose to show. Note that there is a difference between the precision that is displayed and the precision that is kept internally. In math, we may tell students "don't round until the end" or science teachers may say "keep track of your signficant figures". That 78.781246782164 that I mentioned earlier has a display precision of 2 decimal places in Canvas when it is shown as 78.78. Internally it is a double precision real with about 15 decimal places of accuracy. Scores in the gradebook may display with 2 decimals, but the calculations keep the full precision and don't round until the end. That can sometimes cause problems for people who don't understand what's going on behind the scenes.

Similarly, the precision to which you display time does not change the underlying time. The 14:12:52.971 may get displayed as 14, 14:12, or 14:12:52, but with its internal representation, it's greater than all of those. Displaying 17:00:04 as 17:00 doesn't change the underlying number, it's still greater than 17:00:00. That means that it's late if it's due at 17:00, which is externally displayed as 17:00 but internally represented by 17:00:00. Only the outward appearance is changed.

I will grant that the display of time is handled differently than most decimal numbers. We normally round when displaying and 82.58924 would be displayed as 82.59. But for time, we always go down, not to the closest one, and 17:00:31 is not shown as 17:01 but as 17:00. But I will also say that this doesn't lead to confusion because it's what everyone does and so it's familiar to them.

Another key point is that while there is a time standard, everyone's device is not synchronized. I have a computer that is synchronized to the time standards and it says 8:16:30 while at the exact same time (well, as fast as I can glance over), I have a standalone "atomic" clock that uses radio WWV to synchronize its time and it says 8:17:51. These are two automatically adjusted times that people expect to be correct, yet they're 1 minute and 21 seconds apart.

At our school, the wall clocks are all synchronized, yet the system that synchronizes them is old and parts can't be found except by salving old clocks that die (the person who knew how to do that just retired). I can leave an office and head to class and be there five minutes earlier than I left. Each of the four clocks that I pass along the way has a different time – even though these clocks are also synchronized so they have the same time.

Despite having a standard, in real life, time is imprecise.

Then there is the issue of which clock to use. Canvas uses the clocks on its servers, not the local time on the users computer. A student may have a computer with a clock running behind, let's say by 30 seconds. So it's 16:59:52 by their clock and they hit submit with the satisfaction that they got it in on time. But to Canvas, it's 17:00:22 and it's 22 seconds late. Displaying seconds on the due date won't fix that. If Canvas says it's due by 17:00:59, then the student is going to submit at 17:00:52 by their clock, but it's 17:01:22 on Canvas-time, and it's still late.

You wouldn't want lateness to be determined by a student's device. Otherwise some students who were late would change the date on their device, submit it, and claim it was done before the due date. Yet that's the same thing that could happen here.

If a student's clock says they had 30 seconds to submit it, they are going to believe that it was on time, even when it wasn't. If it was due at 17:00, which means the instant it turns 17:00:00 on the computer, and it comes in at 17:05:04, then it's late.

Even if a student submits an assignment exactly at the due date, because of network issues it may not arrive at Canvas servers until after the due date and it would be considered late.

The fix is not to add an artificial layer of precision that is not beneficial, leads to confusion, and does not fix the real issue of students procrastinating and waiting until the last minute to turn things in.

When I say that an assignment is due at the beginning of class, I mean at the start of class, as soon as class starts, not up to 59 seconds after class has started. The meaning of words varies across languages and even within different regions using the same language. If "due at" means something for your language, then it is something that should be addressed in your Canvas locale. Canvas has language support including variants in some cases. There is English for Australia, Canada, United Kingdom, and US. If this is something that is a regional thing, say one territory of Australia, then it's most likely going to need to be addressed on the local end.

The easiest way to do that is to explain to students exactly what the due date means. As you said, students aren't going to read the manual, so you (the faculty, the school) need to explain it to them. If you have a syllabus, you can add one line "All submissions must be made before due date listed in Canvas." Then if there are any complaints, you can point them to the syllabus.

If you care about complaints, then do more than put it in the syllabus, put it in the material of the course. Tell the class if it's face to face, put it in your "welcome to the class" message in Canvas, whatever. The more times you tell them and you have it documented, then the complaints hold no weight, you can show how you've attempted to explain it, and the complaint body will understand.

The other thing you can do is take off the automatic assigning of penalties and manually put them in when they are late. Or just not accept late work at all.

The solution to end all solutions is to have people be accountable and do what's expected of them. But that ranks right up there with achieving world peace and is not likely to happen anytime soon.

Consider the following two statements:

  • Assignments turned in after the due date are late.
  • Assignments must be turned in before the due date or they will be considered late.

People might think they are equivalent, but they are not.

The first one is factually incorrect and not the way that Canvas works. Because we truncate time when displaying it and 17:00:59 gets displayed as 17:00, the first one does not appear to be late. 17:00:59 is not "after" the due date when displayed with a minute precision.

The second one is what Canvas uses. No one would argue that 17:00:04 is before 17:00 because it's not. Anyone who would argue that 17:00 is before 17:00 needs a math lesson. If you say before 17:00, the student is going to correctly interpret that to be 16:59 or even 16:59:59, all of which is a correct interpretation and won't cause the student to be late.

You may be able to come up with simpler wordings, but the best, easiest, least confusing, doesn't screw up everyone else approach is to change "at" to "before".

I disagree with you and think that if changing one word to help your students better understand, be less confused, score better, and be happier, then yes, academics should change the way they communicate.

Looking at the times I've mentioned in the post, I see that I've now been writing this message for over two hours. It's a week before finals and I have other things that have to get done, so this will be my last post in this thread.

Community Champion

I agree that this is a communication/UI issue. Something should not say "Due at 17:00" and "LATE: Submitted at 17:00", because if it were truncating (I'm guessing that it's truncating rather than rounding here) what it actually collected to the same precision as what it displayed it would not be counting the assignment as late, causing user confusion.

I'm not sure if the best solution is to change "due at" to "due by" or if the best solution is to also show seconds iff the "late" aspect is less than 1 minute (I'd prefer the second, personally). I'd definitely vote for a feature that simply added display of the seconds in a case where it was "Due at 17:00" and "LATE: Submitted at 17:00:04" and truncated at the minutes instead of seconds starting at 17:01.

I'd also support Canvas baking in a "fudge factor" of actually accepting things from 17:00:00 - 17:00:59:howevermuchmoreprecisionisneeded as "on time" for a 17:00 submission time (thus making 17:01:00 the first "late" submission time) to solve it that way. That last one would probably be the least human-confusing if all human-facing times are displayed as hh:mm with seconds truncated rather than rounded. I was never one to sit there and check seconds with a precisely synchronized clock when accepting paper assignments due at 17:00, anyway - I'd probably not leave until my clock said 17:01, maybe even 17:05 or 17:10.

Community Participant

Honestly, what did you you hope to achieve with that? If you don't support the idea, that's fine.... but please don't try to hijack a thread to try and prevent it from getting support. 

Finally, I'm not arguing that 17:00:04 is before 17:00. My point is that the only way I could know the accurate submission time is by calling Canvas. That is not ideal. Knowing how late an assignment is would be very valuable. 

Community Participant

I think the best option is to list how late it is (i.e. 23 seconds late, 5 hours and 23 minutes late etc.). Our previous service did this. It would also be beneficial for other policies we have at our institution. For example, if an assignment is not received within 7 days of the due date it is automatically awarded a zero.

Community Novice

I'm in favour of the third option. Show HOW late the submission is, not simply that it is late.

Community Explorer

The system should show the seconds in the submission timestamps, due dates, and availability dates. If the deadline is 11:59 pm, it should be 11:59:59 pm in the system.

Community Novice

I am for the change.  It was also good to read a dissenting voice.  Healthy debate is always a good thing and some of Mr. Jones's premises did allow me to think about this in more depth before I made my vote.   Thank you for the posting Jes. 

Community Explorer

I disagree. From experience merely saying “due before” doesn’t solve the problem as Internet transmission isn’t instantaneous. They very well may have hit submit at 11:58:58, but by the time the file is transmitted it is 11:59:02. Seconds make all the difference, but as far as the student knows it was on time, and as far as the instructor knows it was late.

The OP’s request is reasonable and relevant.

Community Participant

Totally agree with Jes here! Users need to be able to understand why a rule ("lateness") was applied to them. From the information available to them, the system appears to be arbitrary. It's just basic good design to make sanity checks available to humans. For discussion, see usability practitioner Jakob Nielsen's heuristic "Make system status visible".

Agree with @James Jones that humans don't normally work down to the second-level, but this information could easily be made visible in the submission details, just as it is in other systems like Blackboard. 

Community Contributor

Did Canvas change this? I have a submission timestamped 3:59:33 for an assignment that was due 3:59. It was not marked late. So, did this change?

Community Champion

Apparently, it changed as part of a bug fix here: 

It would have been nice if Canvas had let us know this Feature Idea was related to a bug, but the Community folks may not have direct access to the bug tracker, so it may not have been easy to make the connection.

Community Contributor

what the what? So they whole time, 3:59 was actually 3:59:59, unless I edited the assignment, when then it changed to 3:59:00? That is insane. And I have to edit my syllabus now.

Community Participant

The Canvas support team insisted to me that this was how the system was designed (without the seconds), which is why I raised the feature in the first instance. 

It would be great if canvas support provided correct information. 

Community Champion

I suspect (but cannot prove) that Canvas Support is required by policy to dogmatically insist that whatever Canvas is currently doing is intended functionality and not to ever admit that anything is a bug regardless of the specifics of the case raised.

It's possible that my view of "bugs" is simply divergent from theirs, but I have found trying to file bug reports with Canvas Support a uniquely frustrating experience when compared to other products and services I use, and have basically given up on doing so even when I encounter things that are almost certainly unintended functionality or obviously broken. I don't expect immediate fixes to acknowledged bugs, but I'm used to a world where most of the (detailed, well-documented with reproducible behavior) bug reports I attempt to file are added to a bug-tracking system and addressed in some way (even if that is with a "won't fix" notation or a priority coding that means they pretty much plan to wait until some random user decides to submit a patch).

I have no idea why. I have plenty of wild speculation, but no facts to support any of it.

Community Champion

That indeed appears to be the case. I was surprised too. I now want to know if I need to go back and re-edit everything so it'll get the :59 seconds added instead of :00, or if existing assignments hit by this bug have been updated to conform to the seconds buffer that was apparently the intended functionality. I'm not too concerned in my own case, because I don't deduct points for late work and all of my assignments stay open for 2+ weeks before closing at midnight well after the due date, so I've never yet had a student actually complain about being marked late on an assignment due to this issue, but I feel like end user communication around this oddity has been lacking.

Community Contributor

if your assignments are like mine, then, starting as of approximately now, they all are changed to 11:59:59. Now we move on to if they are 11:59:59.00?