Skip navigation
All Places > Ideas > Blog > 2018 > August
Jon Fenton

Reflecting on DocViewer

Posted by Jon Fenton Administrator Aug 21, 2018

Hello, everyone!

Many months ago, we outlined our plans for DocViewer from your input, and we have been working hard to deliver the items laid out in our plan. We are so grateful for the feedback we’ve received from the community as we work to make DocViewer even better. Your suggestions and ideas have been crucial in laying out the path.


We recently completed the final request on this list of most needed features. While we’re focused on the future of DocViewer and adding even more functionality, I thought it was worth taking a minute to reflect on some of the most recent improvements as we cross this milestone.  


This list isn’t exhaustive, and it doesn’t include the many back-end changes that have happened behind the scenes. As always, you can head over to the Canvas release notes for more information.


Recent DocViewer Changes


Annotation Comment Icons

Icons have been added to annotation comments, right next to the name. In order to keep things from getting too cluttered, the icon is only displayed next to the first comment and not on any replies made to that comment.


Ink Stroke Width Controls

Free draw annotations include three stroke widths. Or, in other words, you can now make your checkmarks, smiley faces or intricately drawn characters as subtle or as in-your-face as you need to. Go crazy.


Non-Author Annotation Comments

Previously, only the author of an annotation could make the first comment. This meant that other users who wanted to leave comments on an annotation could only do it if the author had already left a comment. But no more! Now any user can leave the first comment on an annotation.


Instructor Annotation Management

Ever had someone leave an annotation or comment that you didn’t approve of? Yep, so have we. It was driving us (and many of our users) crazy that only the author could delete an annotation or comment. So we fixed it! Instructors can now delete any annotations or comments for any user. This ability also applies to any custom role that is based on the teacher role.


Comment Truncation at 5 Lines

We’ve extended the amount of text that shows on a comments to 5 lines. Previously, comments were truncated after just 1 line, which made getting context and browsing comments tricky. Displaying 5 lines should help with that. As always, when you click a comment, the full comment is expanded.


Comment Display Order and Padding

When users click comments within a submission, comments retain their vertical order when the comment is aligned with an annotation. Additionally, padding around the comments has been reduced so there’s less wasted space.


Image Support

Drumroll please! DocViewer supports comments and annotations on BMP, JPEG, JPG, PNG, TIF, and TIFF images! Large images (or insanely massive 5k images—I’m looking at you photography instructors) are automatically scaled to a lower resolution so that the entire image can be displayed.


Limit Comments to a Single Page

The comment area is scrollable and reveals any comments that don’t fit on the page. And of course, clicking an annotation or comment will align the comment to the associated annotation.


Anonymize Instructor Annotations Setting

This assignment setting replaces instructors’ names with “Grader” when they leave annotations and annotation comments. For the purposes of this setting, we identify instructors as any role that has the “Grades - Edit” permission enabled.


All right, so that’s a recap of some of the recent changes to DocViewer. We’re excited for the future of DocViewer and appreciate all of your support. As always, please keep the great feature suggestions and feedback coming. We're excited to keep making DocViewer even better.




Engineering Note

The lead engineer for DocViewer wanted to use this milestone as an opportunity to add a few of his thoughts and comments from the technical team.


My reflections as the tech lead for the DocViewer project.


I first came to this project in September of 2017 and immediately was blown away by the skill and conscientiousness of the team I’ve been privileged to lead. From day one, it was very clear that the engineers were all very interested in improving the user experience of DocViewer for all of you. I’ve never been involved with a team that had such a customer focus in my 25+ year career.


This customer focus sometimes drives intense conversations about the right thing to do, since we are all opinionated about what makes a great experience, but we always arrive to a conclusion with changes we know will have a good chance at positively improving your experience.


And that’s what drives us: you. Sure, we are all technologists who enjoy working with and expanding on the latest technologies and this project allows us to explore that technical itch. (For example, a partial list of the languages and technology we use to bring you DocViewer includes AWS, Node, Javascript, React, Java, DynamoDB, Scala, Jenkins, Puppeteer, SQS, LibreOffice, and Docker. But even the full list with all its geeking potential pales in comparison to what providing a great experience for y’all means.)


When we get something right by you, we celebrate as a team as we read your comments and thanks. When we come up short, our first instinct is to understand how we can make things better.


Thanks, y’all, for taking the time in telling us what you need, and thank you for expressing your thanks to us. We feel honored to be a part of your success with Canvas. I’m looking forward to seeing what we, together, come up with next!



Canvas X is where we seek your input on experiments from our secret pandaworks lab!

It's all about starting small, measuring, and learning our way forward!


Our June-August Nudge experiment was a success! So now we are opening up the experiment again for a much larger test. Read below for details and signup.


Nudge is a prototype service that helps students effectively manage their time and coursework. This service is the first step in a longer term smart messaging vision for Canvas. When enabled in a course, Nudge sends the following messages to students through Canvas:

  • Upcoming Assignments: An assignment is due in the next 24 hours and the student hasn’t turned it in yet. Prompt them to turn it in / finish.
  • Late Assignments: An assignment deadline has passed and the student has not turned it in. Prompt them to check if they can submit late.
  • Course Checking: The student has not checked the course for more than a week. Prompt them to visit the home page for any updates.
  • Weekly Report: Every week send students a list of assignments/quizzes that are due that week.


Because feedback and data are core to our development process, we are reaching out to the community for this pilot. The current version of Nudge is experimental and in early development; iteration is expected as the experiment progresses.


Any course that enables Nudge will provide us with insight into the effect of “nudging” different students in different ways. We also value feedback about the user experience and effectiveness of these reminders from your perspective as an instructor.

Your course may be a good fit for pilot if it fits the following criteria:

  • Blended or fully online courses
  • History of teaching the same course in prior semesters
  • Have a course beginning August/September 2018
  • Make use of multiple assignments throughout a course
  • English is the primary language of instruction
  • Multiple sections of the same course (nice to have, but not necessary)


Privacy Notice: Canvas is committed to keeping you and your student’s personal information private. All participants will be able to opt out at any time. Any and all use of the data from this experiment will be used to make Canvas a better product and not shared publicly without express prior consent.



The Volunteer Window has closed.  Watch the CanvasX space of the Ideas for future summaries and opportunities.


If you successfully signed up you should get a message in Canvas later this week confirming that you are going to be participating. Nudges will then start being sent next Monday (Aug 27th)!


Have questions? Leave them below.

Canvas X is where we seek your input on experiments from our secret pandaworks lab!

It's all about starting small, measuring, and learning our way forward!


The Volunteer Window has closed.  Watch the CanvasX space of the Ideas for future summaries and opportunities.


Based on the feedback from our June-August experiment of the On Track predictor we have decided to make some changes to the model and try another small cohort. We are looking for 3-5 instructors who are interested in providing qualitative feedback about the usefulness and the accuracy of the On Track predictor. The ideal candidates are instructors who:

  • Are willing and available to give direct feedback about their thoughts on the tool semi-regularly (once every two weeks or so)
  • Make use of Canvas widely to teach their courses (use of multiple features like assignments, modules, discussion etc.)
  • Have a course starting in August/September 2018
  • Have a background in statistics or probability (not necessary, just a bonus)


For the rest of the community, we would love to open up a dialog about what an On Track predictor (let’s call it OTP) means for Canvas. So what is the OTP and how does it work?


What is it? The OTP is a tool to help instructors discover which students are in danger of doing poorly in the course. Every week instructors will receive a report of all of their students that contains:

  • Are they On/Off Track?
  • How confident are we?
  • What are the primary reasons for the prediction?

The intention is that this will enable instructors to intervene with their students earlier and drive better student outcomes.


What does it do? The OTP evaluates a student’s likelihood to succeed in a course based on:

  • Academic History: How have they performed overall in courses previous to this one?
  • Course Interactions: How much do they interact with course tools? (grades, messaging, etc.)
  • Content Interactions: How much do they interact with course content (modules, files etc.)
  • Course Performance: How are they performing in their current course?

Using this information, a probability of successfully completing the course is calculated.


Given that brief overview we would love to hear your thoughts. How could you foresee using this? What information would you want/not want to see? What are the types of actions you could take to intervene with students? What’s missing?


And if you have more questions about the specifics of how the OTP works, members of the team who worked on the project will be monitoring the comments and will make their best effort to answer your questions. So fire away!