Skip navigation
All People > Laura Gibbs > Laura Gibbs' Blog > 2019 > March
2019

I have been informed by the Community Managers that my opinions here have crossed a line that violates the Community Guidelines. It was not my intent to be rude or disrespectful, and I understand that when you blog in other people's spaces, you follow their Guidelines. Since someone has been offended (I am not sure who), I would like to apologize to that person; it was not my intent to offend anyone but only to put my opinions out there. I will do that in another space in order not to violate the Community sense of how things should be.


 

In a back-and-forth with some people at Twitter yesterday, an idea started to take shape that I wanted to share here: the difference between tools and systems. I am a fan of tools, but I am not a fan of systems...

 

A TOOL: something you use to do things; you are the user, and you decide how you want to use the tool and for what purpose

 

A SYSTEM: you are part of the system, and the system does things; the work you do is part of how the system works

 

So, Canvas is an LMS, a learning management system as the name proclaims, but I wish it were more like a tool.

 

Here are just two examples that are on my mind as I think about this distinction of tool versus system; if I have time later this week, I will write some more about this.

 

GRADEBOOK LABELS. The Canvas Gradebook looks like a spreadsheet, but it is not. A spreadsheet is a tool that I can use for all kinds of purposes (and I do! spreadsheets rule my world!), but the Canvas Gradebook is a system imposed on my class by Canvas, and I cannot configure it except in small and trivial ways.

 

For example: the punitive Late and Missing labels. I've written about this extensively in the past:
Gradebook Dismay: The Thoughtless Tyranny of Red Ink : punitive  labels in the old Gradebook
GET THE RED INK OUT OF MY GRADEBOOK. The Sequel. : punitive labels in the new Gradebook
The Amazing Power of Community: James Jones to the Rescue! : a script to remove the Gradebook labels

 

Because the Missing labels are completely inappropriate for my classes, I used James Jones's script to remove them as soon as enrollment was concluded (I could not do that sooner because James's script cannot alter the Gradebook system but instead only the records in it: item by item, student by student).

 

But what about those Late labels: would students want to be reminded by a red Late label that they had used the "grace period" I offer them, a no-questions-asked extension on any assignment? Canvas presumably thinks students supposedly benefit from this constant reminder of their past errors, so maybe Canvas is right: maybe students want the Late labels...? To find out, I had the students vote during the mid-semester review week: Remove the Late labels, or not? The majority voted yes, so I removed the labels.

 

gradebook label vote results

 

But what about those few students who wanted to keep the labels? Too bad for them: the system cannot accommodate what they want. Instead of being able to use the Gradebook like a tool in their own way, the students are just part of the Gradebook system: like it or not, there can be only one way to configure the Gradebook for the class... and even that option is only thanks to James Jones who used the Canvas API (because, yes, the API is a tool, and a powerful one!) so that we have a partial solution to the Gradebook label problem. Thank goodness for that at least; I don't know what I would be doing right now without James's script.

 

So, the Gradebook might look like a spreadsheet, a tool for me to use. But don't be fooled: the Gradebook is a system and your class must conform to the expectations and assumptions of that system. There is no other way.

 

CANVAS AI AND ANALYTICS. If you have not read Phil Hill's piece on the latest robotutor-in-the-sky hype from Instructor, then you have to go read this, depressing though it is:

Instructure: Plans to expand beyond Canvas LMS into machine learning and AI

 

This quote from Dan Goldsmith sums up the vision, if you can call it that: one AI to rule them all, one AI to bind them.

We can take that information, correlate it across all sorts of universities, curricula, etc, and we can start making recommendations and suggestions to the student or instructor in how they can be more successful. Watch this video, read this passage, do problems 17-34 in this textbook, spend an extra two hours on this or that. 

The claim, as we have heard again and again from ed-tech solutionists, is that instead of giving students and teachers tools we can use for our own purposes, they are instead going to monitor us and build a system that controls (or attempts to control) our behavior. The student doesn't know best, the teacher doesn't know best... the machine knows best: the machine is going to do the learning and then tell us all what to do, as opposed to offering students and teachers tools we can use to design and direct our own learning.

 

Even if it worked, I would say that is undesirable: people need to learn how to make their own choices about life as well as about learning. But it is not even going to work.

 

Why won't it work?

 

Because the data is not there, not really.

 

Canvas has lots of data, sure, but it does not have MEANINGFUL data on which to make these decisions. Canvas knows NOTHING of importance about our students... because it has never asked them. Canvas knows when they log on and off, it knows how long they have a page open in a browser, it knows what score they get on a quiz.

 

But that data is all TRIVIA. 

 

And if you build your AI on trivia, then it will indeed be nothing more than a trivial pursuit.

 

So, in conclusion:

I say we need more meaningful communication, and less trivial data.

Likewise, we need more tools, and less system.

And we need to be able to make more choices, instead of having the system choose for us.

 

Don't get me wrong. I love the digital world. I love teaching online. That is why I will fight back every time educational systems take away our freedom to explore that world and use what we discover in our own ways and for our own purposes. I still believe in the promise of the web. This web, the one that we build. With our own tools.

 

Final thoughts from back in the day (2007) thanks to Michael Wesch

 

So I had a huge ... HUGE ... Google Sites breakthrough this weekend, and it is all thanks to Canvas. I figured out that I could use the same workaround to make javascripts run in Canvas (without special admin permissions) to make those javascripts run in Google Sites!

 

You can see an example here: it's a Google Site page in my class project (like my students, I have a Google Site for my project) -- Random Hanuman Art. On the left you'll see a Hanuman artwork from South Asia, and on the right a random Hanuman from India, with new art at random whenever the page reloads.

 

screenshot of Google Sites

 

Here's the same pair of widgets running a Canvas page: Hanuman Widget. Same here as in the Google Sites page: new images at random each time the page reloads.

 

canvas course screenshot

 

That page is inside my Widget Warehouse which is full of randomizing javascript widgets you can take and use in any Canvas course.

 

Stealth Javascript

 

Canvas will not let you run javascript (unless you have admin privileges), and Google Sites is also javascript unfriendly (unlike Google Blogger which, I am glad to say, does not require any javascript works around; just call the script and you're good to go, so you will see Hanuman randomizing in my blog sidebars at my class blog).

 

So, what is the secret? The secret is to host a very simple HTML page with nothing but the script call in your own webspace (or, in the case of Canvas, you can host the page as a Canvas file... at least for now; I worry, though, that future security measures may remove that option).

 

It sounds weird, but once you get used to the workflow, it's totally doable:

 

STEP ONE: Create script. I create my script with RotateContent.com (a tool that converts HTML tables into randomizing javascripts), and then I upload the javascript into my own webspace. So, for example, here's my HTML table of Indian Hanuman images, and here is the script that randomizes them

 

STEP TWO: Create HTML page with script. Then I create a simple HTML page which calls the script. This is the HTML page that calls the script of Indian Hanuman images. If you click on that link, you will see the results of the script running, and the script is running there on my server. The results that script returns are just HTML. If you look at the page source, you can see the script call.

 

STEP THREE: Embed the HTML page. In Canvas, the way you embed a page is with iframe, but with Google Sites it is even easier; you just choose the embed option and paste in the URL of the page; it even gives you a little preview so that you can know what to expect:

 

Google Sites screenshot of embedding

 

So, I am pretty excited about this. I don't do a lot with Google Sites, but one of the reasons I have hesitated to make much use of Google Sites was because I was frustrated not being able to use dynamic javascripts. Now that I have figured out how to do that, I feel more in control of the space and more eager to explore, just as I became more eager to work with Canvas when I learned how to include javascript content here.

 

Final Thoughts

 

I love javascript! Being able to bring dynamic content into my websites is really important to me, and so is distributed content (i.e., I can keep adding new images to my widget and the new content appears wherever the widget is embedded). I understand that there are security concerns that make platform administrators curtail the use of javascript, so I am really glad to know about this workaround of calling the script in my own webspace while embedding the results elsewhere.

 

I learned about this workaround from Sharmaine Regisford and James Jones when I first started using Canvas a couple years ago... and — doh!!! — I finally realized the same solution works for Google Sites also. 

 

P.S. This is the same workaround that makes Twitter widgets possible in Canvas. More about that here: Twitter4Canvas.

 

P.P.S. This is why I think everyone needs a Domain of One's Own where they can host their own (distributed, dynamic) content. My school uses the awesome Reclaim Hosting: hosting by educators for educators! At my school, it's branded as OUCreate, and it's free for students, staff, and faculty. Reclaim + Canvas: it is a powerful combination.

 

Reclaim Hosting graphic