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

Paste Images into Canvas

Paste Images into Canvas

(40)
I want the ability to paste images directly into Canvas from the clipboard. An example: I want to use Windows Snipping tool (or any other screenshot tool) to create an image. I then want to CTL-C to copy it and CTL-V to paste it into a quiz or assignment or content page in Canvas. Another example would be Copy-Pasting from a Word document into Canvas. This site is able to do it! I just did it below! Let's get this implemented in Canvas!

 

117878_pastedImage_1.png117878_pastedImage_1.png

95 Comments
bogardde
Community Participant

Ooooh, this would be SO useful!

scottdennis
Community Team
Community Team

This idea has moved to the next stage and will be open for voting among the Canvas Community, from Wed. November 4, 2015 - February 3, 2016.

Check out this doc for additional details about how the voting process works!

2180
Community Member

wow...great idea! i think this will be a great resource and very useful to the students education!      GO TIGERS

cwendt
Community Champion

What a time-saver this would be, especially for quizzes which require images!

James
Community Champion

When you paste an image into an editor, it is typically stored as a data URI. Not always as Jive automatically converts it to a file with a useless name like "pastedImage_3.png", but enough to cause me concern.

Those data URIs are base64 encoded objects and become part of the page. For those who don't understand that, that means that it is about 33% larger than a binary image and you have to wait for it to download as part of the page. So, when you copy/paste an image into a discussion or onto a page or a quiz, several things happen.

  • Images take longer to download than they would if they were uploaded and linked.
  • Students have to wait for the image to completely load before they're able to do anything on the page. Someone could upload a couple of hi-resolution images and basically make everything crawl. You may remember the slowly-loading JPEG images on a page that take a long time to load and they slowly fill up the screen. If not, take a look at this 8000x8000 resolution, 16.8 MB picture of the earth from NASA. (by the way, that would be about 21.9 MB with base64 encoding). But this isn't loaded after the page with a data URI, it's loaded as part of the page and nothing else on the page can load until it's done. When files are stored as images and linked, the rest of the page displays and then the images can be loaded afterwards.
  • Caching is defeated since the object is part of the page not a separate object. That means that they have to re-download the image every time. The JavaScript that Canvas uses can be cached by the browser, so although it's large, it doesn't need downloaded with every page view. Pictures that are included through the img tag can be cached. But embedding images and storing them as data URIs can't be cached unless the entire page is cached and that doesn't happen with Canvas.
  • When an image is saved as a data URI, there is no ALT attribute for the description of the image because there is no img tag to apply the alt description to. That's an accessibility issue.

A long time ago, there were notes to wannabe webmasters to always resize their images to the page so that people didn't have to waste bandwidth and time waiting for a large image to download just to be resized. Lack of bandwidth may not be the issue it once was, but broadband has been redefined to be 25 Mbps or more and there are a lot of rural users who don't have that (including me). Even Facebook recognizes that not everyone has high speeds and is offering 2G Tuesdays to their employees so they can better understand various markets.

Now, if there was a way to take a copy/pasted image, prompt for a filename, automatically save it to a file, and ask for an ALT description (essentially a file upload via copy/paste and then link to the file as an image and not a data URI), you would have something truly awesome..

This feature may help the content-creator's experience, but it is bad for the end-user's experience.

Stef_retired
Community Team
Community Team

After reading  @James ​'s pellucid description of the effects of such a feature, I decided to downvote it, as it would degrade students' experience.

James
Community Champion

Thanks stefaniesanders​, but make sure you're down voting with full information.  After getting some sleep, I modified the post after doing a little more research. You can convert it to an image and save it -- Jive does this -- but creates a randomish filename based on the post number and the number of items you've pasted in that editor. That would clutter the Canvas "files" for a document with random files like "pastedImage_142.png" in the main folder of your course (or perhaps they could make a folder for "pasted images"). Then, if you need to grab a particular image, you'd first have to find the image on your page / quiz / whatever and then go locate it. If you delete an image and re-copy/paste it, there would be no sense of "overwrite", it would be a new image and then you would have stale images lying around in your files.

Most of my opposition hinges on it being a data URI, but as mentioned here, there are still problems, even if it's converted to a image.

I'm still opposed, but I know a lot of people follow you and I wanted you and them to have a fuller picture (no pun intended).

blomas
Community Participant

James -

I'd like to address some of your concerns. First, although the image size can be about 33% larger when stored as data URI, gzip mitigates most of that, resulting in an image about 1-2% larger.

  • Images will not necessarily take longer to download. Many sites are encoding all of their images as Data URIs as a way to minimize HTTP calls. In today's world the bottleneck tends to be the number of concurrent HTTP calls, not sheer bandwidth.
  • Yes, the whole image must be downloaded before it is displayed, but you are overstating the issue by looking at an extreme case. Yet even in that extreme case, I clicked on that image and it displayed as close to instantly as I can tell.
  • Caching is not defeated - only caching the images as separate files. Since the image is encoded in the page, the image is cached as part of the page.

Again you are overstating the issue when you speak of bandwidth. The redefinition of what "broadband" means has no bearing in this discussion. I had no issue loading this page, yet the image I posted in the original post was pasted into the rich text editor. I don't believe the whole Internet should look like image-less Craigslist postings because we are concerned about bandwidth. Your Facebook example is just as absurd as the statement I just made. 2G Tuesdays exist to simulate Internet consumption over cell phones in 3rd world countries, not exactly the average use-case for Canvas.

As I said in the original post, there are many sites out there that use this feature successfully - including this very one. I trust that if there is a way to do it successfully (as there obviously is), the good people at Canvas can figure it out.

This is a feature request that will be beneficial to content creators. I don't care how it is implemented. Your suggestion of automatically saving it to a file should be one of the avenues that are explored. Let the people at Canvas explore the idea to see if there is a way to do it with little to no effect to students.

blomas
Community Participant

stefaniesanders- Although I disagree that it would necessarily degrade students' experience, I would ask that you reconsider your vote to allow the developers and engineers to explore the feature and determine if there is a way to do it without the negative impact.

James
Community Champion

 @blomas ​

Thanks for your insight and I'm glad you've got an fast internet connection. You make some valid points, especially about gzip, but Canvas pages aren't cached, they're regenerated every time they're loaded.

Down voting can actually a good thing. It fosters discussion and that causes it to rise to people's attention faster than just sitting there collecting votes.

blomas
Community Participant

 @James - I wrote my reply above before I saw your updates and this post. I think the issue of creating clutter in the Canvas "files" could be solved pretty easily by putting the pasted image files in a logically named folder. For example, if a pasted image is put in a quiz titled "Linear Functions", the image could be placed in a folder structure that reflected where it is like: module/quiz/Linear_Functions/images. Grabbing a particular image could be done from anywhere (including the content page it is on) because all you would need to do is copy/paste. A solution for the stale image problem could be some sort of garbage collection that identifies when an image is not used. Or just allow people to manage the space they are allocated.

Another possible solution to your concerns are caps on the sizes of individual files to ensure a speedy load.

I appreciate the discussion and scrutiny. I do believe, though, that this is a feature that would be very beneficial and that it should be explored by the developers to find an acceptable implementation if one exists.

blomas
Community Participant

 @James ​

Thank you! I am new to this community, and appreciate the discussion, I edited my post above to remove the reference to downvoting.

Stef_retired
Community Team
Community Team

 @James ​ and  @blomas ​, your thoughtful evaluation of how the feature might be implemented so as to preserve students' experience while enhancing content creators' ability to share images makes me very glad that I downvoted this feature idea, because as James notes, the effects of downvoting--in this case, detailed comments from people who know far more than I do about how it might be accomplished behind the scenes--can instrumentally influence implementation. Although I'll leave my downvote intact for now (it's just one against the wind, after all), I will continue to follow this conversation with great interest.

cwendt
Community Champion

Well, with that clarification, maybe it's not as good as it initially looked.

bogardde
Community Participant

I tend to agree with the sentiment that we should not overly micromanage this feature request. The bottom line is that this ability to paste images would be a very useful feature for teachers and designers. If it shows itself to be a popular idea, I am confident that the Instructure developers will work hard to hassle out a way to do this without causing more problems than it solves. And if it can't be done well...I'm guessing they won't do it. But please let's give an idea a chance to be considered.

ejp10
Community Participant

I agree that if this were implemented that it should include a prompt to insert an ALT tag. This is what Dreamweaver does.

wsblevins
Community Member

That would make my Canvas life so much easier.

Heidi_Ross
Community Participant

Access to high speed internet is an issue for many students in 1 instance I admin. Additionally, Canvas storage isn't unlimited for my teachers either. Pics and Movies take A LOT of space!

So, a solution I came up with is this.

1. Download or screenshot the pic you want. (Movie too)

2. If screen shot Crop & add web address

3. Save in Google drive (not sitting in Canvas taking up space)

4. Get embed code from Google pic/ movie

5. Use the iframe and HTML Editor in the Rich Content Editor to make it visible. You do not want to just give a Google Drive link because it takes too much time to download and doesn't like older devices either.

Due to a lot of factors, connectivity isn't stable for a majority of my users and if something takes longer to download the loading circle of death appears. Or the poor Panda on the unicycle gets too tired and times out. Having a place to store pics/ movies with well identified names to modules/lessons and embedded means it just opens in the browser.

In turn, those teachers using it in class don't lose precious instructional time, and students can view it on any device.

zook
Community Member

The inability to take a screenshot and paste it into canvas is one of my biggest critiques for Canvas. Please add ASAP.

allison
Instructure
Instructure

I like this idea a lot. We have some other enhancements that we want to do to the Rich Content Editor first, but I agree it would be great if we could support a copy/paste or drag and drop workflow for images. Will probably need to archive this idea for now, but please keep your ideas, use cases, and votes coming around this feature request.

Also, I really appreciate the knowledgeable folks who have commented around performance and the technical implications of a feature like this. That kind of detailed insight and consideration is always welcome!