Skip navigation
All Places > Instructional Designers > Blog > 2017 > September

I thought some of you might be interested in a presentation that I delivered earlier this week at Quality Matters 'Connect' conference in nearby Ft. Worth. The session focused on how we're using the Continuing Professional Education (CPE) standards as the foundation of a certification course that staff developers are required to complete before they can design and deliver online professional learning courses in our school district.


black and white image of a cattle guard with the session title above


If you are interested, you can access the session presentation in a publicly-visible Canvas course. Access the course.


As an aside, there were many, many Canvas institutions represented and presenting at the event! You can access many of the resources on Twitter at #QMConnect.

It has been a busy week here at school and we still managed to find time for Canvas. More thinking time than action, equally important. Our Teaching and Learning lead has eployed Canvas as a platform for... learning about our teaching model and... learning about Canvas. I certainly support the notion that course designers benefit from appreciating the perspective of a student. Apart from the professional learning and interactions themselves, Canvas enables our part time and absent staff to engage at a time and place convenient for them. 



For FLT readers, we know that there is a typo in the course name - we did not set it up. Ticket logged.

In the first week, staff were introduced to the course and the three compopnent parts; information, discussion and assignment. I have to say that the content and links in one "simple page" made for a rich and challenging learning experience. A handful of thought pieces about the topic, one upload file, one file reflecting back to our INSET day at the beginning of term*, and two links (which opened up a handful of links) ad infinitum and so the super highway of knowledge presented itself. The discussion enabled staff to reflect and share, with instructor comments poking and prodding, encouraging reflections on reflections. There really is little more required. If you want to see successful, minimalist comparative learning I can attest that FutureLearn does this brilliantly.
* I must admit I have found uploaded Powerpoints in Canvas somehow distorts the slides? Our course instructor had coverted the PPT to a PDF. I much preferred the responsiveness and presentation of embedded PDF. Though in this example there wasn't learning conveyed in the animations of the PPT itself.

Next steps

This week our professional learning included a review from the previous week plus;
  1. Canvas submission
  2. Discussion – check back and respond.
  3. Quiz – complete (employed as survey tool to find out what staff wanted to focus on next.)
  4. Plus, based on the discussion comments, additional articles to review and discuss.
So far so good. Everything is dated. The majority of links are presented visually (AdobeSpark and images) creating an attractive interface. Assignments are a little slow coming in, so we need to make this our focus. The resource of time needs to be managed.

Canvas Hurdle

Participating rather than designing and leading has certainly help garner support and gain momentum. That said, a few staff are still finding the concept of blended learning and building a Canvas course daunting. This left me thinking how I could convey the framing of course design and building a course. The idea of a learning metaphor is frequently promoted and used by teaching staff / instructors themselves. Connecting staff's understanding to what is currently known helps almost all learners.
Generative metaphors and proverbs both derive their power from a clever substitution: They substitute something easy to think about for something difficult. Chip Heath, Made to Stick

  I spent some time thinkig about a Canvas course metaphor and expanded upon it to make it a visual and practical experince. Learning from Cognitive Load Theory and the Curse of Knowledge I marked out the key learning milestones; the course, modules, content, assignments and discussions. The basics of our Self-Directed Learning delivery; assignment, study, lesson.


I then added "mini milestones" or check points to the metaphor, including a check point prior to the start of the metaphor. Teaching me that we really do take knowledge for granted. Extending and slowing the conversation.

Standing outside our school entrance I told my colleague that Canvas was like our school and that you had to login, much like our signing in at our main reception. "Once sign-in, you have arrived at your dashboard." I said proudly with a smile.


"Yes. I think so."

Then, as we walked past different classrooms, "There are lots of courses on your dashboard," I told her. Pausing, standing outside the Art room - I told said "This is your course... So good, so far?" I was welcomed with a smile. "Yes, so good, so far."

"You are the course instructure. Students have to be enrolled in a course." (It was then I realised that I had missed two mini milestone - the roles, instructure and student, and enrollment.) "Good news, your students are enrolled automatically for you."

"Click" I said as I entered the room". Inside the classroom, I had laid out the tables as four group areas. "These tables are your modules... how many modules do your have?" "Four," she correctly answered. "Good."

"Just like a classroom, you can make a course look attractive. Some posters on the the wall, a noticeboard to make annoucements. It is no different on Canvas. (Another missed mini-milesone - announcement) Announcements and some welcoming images. It is just the same." I checked again. "We good?"

"Yep! we are good so far."

"So to recap. Login. Dashboard. Course. Students. Modules."

On the tables I had placed 4 large art trays. In one of the trays I had placed a bunch of art resources (highlighter, glue, staple gun, ruler). In one tray a bunch of sheets of paper. In hindsight I would use a different colour tray.

"These trays represent your course pages." I checked for understanding.

"These are the resources that you have uploaded to the course."

"I know how to do that." She said.

"Or you can also link to a whole range of learning assets. A webpage, a video a podcast for example. Happy?" A yes nod and a "Yep."

"You decide where the resources go. You can reorder them." And I physically moved the resources. "You can move them to different modules if you like." I said physically moving the tray to another table. "You can even reorder the modules." And I was stopped abruptly in my tracks by her expression.

A pause.

"Yes. Okay, I think.What's that?" She asked, pointing to a large black A2 art book. "Why is it not in a yellow tray?"

"That art book represents an assignment. We will come to assignments in just a minute. Before we do, lets just talk about discussions."

"Over here in this tray we have sheets of paper. It represents a discussion. These are excellent for student reflection and enquiry..." We talked a little about the fact that your students are a resource for the course, for one another. About basic dates and settings but after the last expose on course order, I made sure not in great detail. We talked about the role of the instructure, prompting and prodding the conversation, which she connected quickly back to her experience of her own professional learning. All worthwhile.

"Okay, with content and discussion we have a learning experience. Lastly, the artbook. Ready?"

"Yes, I think so."

"So we have a course, modules, that hold the content and the discussions. Now the "assignment." The assignment is where students are told about what they need to do and where they submit their work. Again, like discussions there are some setting to review..." and rather than complicating the conversation I signposted the Canvas Guide pages.



"Okay, that is ALS; Assignment, Lesson Study. All together you have the core of a very powerful learning experience. You can signpost the Assignment task or any mini tasks you want to be assessed. You can added content. Your course outline, lesson titles, the learning aims and the teaching resources, files, videos, worksheets, all as content. Plus any additional resources and learning assets, you want your students to be exposed to, to Study. That is quite a lot. Okay."

"I think so, I mean, I will need to look into it."

"Of course," I said confidentially, "Lastly, everything is under your control. You control what your students see."

Turning the light off/on I said. "The course is either (lights off) unpublished. Or published (light on). Unpublished (light off), published (light on)." I repeated. I decided not to explain that this is the same for all components and assets. The point was to suggest control. So, again, login, dashboard. Course and modules, that is the course frame. ALS, is the learning. Before you start to build, design what you want the students to do and experience. Make them so as much of the work as possible for themselves, for one another, so you can direct and mould the course experience."


I am hoping that this conversation will unpin her confidence to both design the learning and build a Canvas course. I am anticpating that with confidence and a little encouragement, and her own personal experiences of being a student in Canvas, staff will be more likely to adventure into the world of blended learning.


Next step - the skills audit and providing the skills and knowledge to exploit the features of Canvas. There is plenty of training opportunites to exploit.

#canvas design



A method for minimizing the work involved in copying and creating courses by reusing content using php and a database.


Time wasters:

I have 14 different courses I teach and sometimes different versions of those courses (full-term, half-term, etc).  My current method includes some steps that are meant to be efficient (always open to efficiency suggestions), and some time-wasters:

  • Every course has a sandbox so one-off changes to not affect future semesters.
  • Ongoing changes are made to sandboxes at the same time I make the changes in the live course.
  • For adjusting dates:  THIS IS THE BIGGEST TIME WASTER!  We need a better method for this in Canvas.
    • I use James Jones's google spreadsheet (see here) to adjust dates first to get approximately close to the new semester.
    • I open the calendar and add holidays, in-service days et al to my personal calendar.
    • I view each course in the calendar and drag/drop assignments to finalize dates.
  • I have an unpublished page at the top of every course called "Teacher Setup" where I keep notes of things inside the course that might need adjusted.  This is usually an instruction page that includes the day of the week that assignments are due.  This things are also usually highlighted so I can find them quickly.
  • I open every syllabus and change the SAME information in each one:  term title/date, course withdrawal date, due dates for specific papers, etc.
  • If there are any other changes to the syllabus for that particular course at any time, I have quite a few courses to open and verify that all syllabi are the same.  I also am responsible for making sure the adjuncts in my department update their syllabi to match.


This semester I decided to address the last 2 time-wasters:  Syllabus editing.


A Solution:

I think quite a  bit like a programmer, so I realized that I need to understand which parts of the syllabus are course-specific, which are teacher-specific, which are semester-specific, and which are college-specific.


For Example:  

  • The semester date (Fall 2017) and withdrawal date are semester-specific.
  • The teacher contact information is Teacher-specific.
  • The course description and credit information is course-specific.
  • All the legal mumbo-jumbo in the bottom are college-specific.


The next step was to realize that this could all be automated if the information was contained in separate locations (like a database) and pulled together when the page was created.   This just means a server-scripting language to create the page on-the-fly, so I used PHP because I'm familiar with it.


I created 3 tables:  

  • Teachers
  • Courses
  • Semesters


I created a PHP page that requires some information to be posted with the url request.   That means when you type "", you add a question mark and the data you want to pass to the server like so:  



The entire url looks like this:


Then I created a php page (you have to find a place to host this page) in which I hard-coded the college-specific information.   I decided there was no need to place this in a database since this would be the same in every syllabi.  If I need to update college-specific legal wording, I can change it on this page and it will change in all my syllabi.


In this php page there are then php scripts that call the information needed from the database based on the data passed in the URL.   So if the url says "teacher=bryn", the page looks in the teacher table for "bryn" and pulls out my contact info and outputs it in the html page.


The same is done for course information and dates.   It took some playing with different methods to find what worked for me the best, but I ended up storing html code in the data base for each section.   The php page queries the database for information and if a specific piece of information doesn't exist for a particular course, then that section is left out of the syllabus.


The final step was to edit the syllabi to embed my php page in an iframe.  iframe are not a great choice because content is hosted off-site, but unless I have more flexibility (including coding) within Canvas, this is the only choice I have.  iframes are also tricky because height cannot be dynamically created so one has to guess a good height and put up with scroll bars when the page is too short or too narrow.  Still, this is such a time-saver that it is worth the slight annoyance of scroll bars.


From now on, when I start a new semester I have many fewer steps:

  1. Create a new semester in the "semesters" database with relevant dates.  Takes about 30 seconds.
  2. If there are any syllabi changes, make them in the database.  Changes here will be infrequent.
  3. If the college's legal part of the syllabus has changed, make those changes in the php page.  Again, infrequent.


Then when I copy the sandbox I only need to edit one thing:  the url for the iframe in the syllabus.  


I have to change:

to this:


That's it.  Easy-peasy, right?  Saves me about an hour each semester.


I realize most teachers do not know php or mysql, or have access to php and database hosting.   But for any of you who are programmers or admins, there might be some real advantages to this.  Imagine if all syllabi on your campus referred to a database for the legal info.   You would only have to make changes in ONE place and all syllabi across your campus would be updated.   Ditto for published course descriptions or teacher contact info.


And at the very least, I hope you find this interesting.


And now if only I can think of a way to handle assignment dates. . .

For faculty development programs we're developing, we've been working at aligning UDL, Good Learning Principles (based on Gee's 13 principles), and Canvas Tools. I'm coming up with things like the following, but am interested in seeing what others are doing in this area. 


Multiple Means of Engagement, Representation, and Expression for EMPOWERED LEARNERS

CO-DESIGN strategies in Canvas

  • Require that students use a profile picture (how) and biographical information (how), so you and other students can get to know them. This will result in discussions that are more personally-connected to their interests and skills.
  • Give each student a journal (how) or blog (example) where they can write about and develop their connection to the course topic. Even if they initially feel that there is no connection, by making this a weekly assignment, they will create a connection.
  • Group students (how) or let students create their own groups (how) so they can create learning objects on course concepts.

CUSTOMIZATION strategies in Canvas

  • Increase personalities by having students use a profile pic and biographical information (how) so they can better represent themselves and their interests to you and their classmates. This also helps you present content to better meet their individual needs.
  • Show students how to change course nickname (how), course card color (how) and set notifications (how).
  • Provide multiple forms of learning content — e.g. PDFs (how), interactive Google docs (how), videos (how), H5P games (how), pre-recorded lectures (how), etc. — so students can learn in ways that match their interests and needs.
  • Provide multiple options for final project assignments (how) — e.g., papers, presentations, digital stories, websites) so students can express what they learned in ways that reinforce and develop their unique connections with the course content.

IDENTITY strategies in Canvas

  • Use Discussions for role-driven conversations or reading responses (how)
  • Provide Group Space (how) for projects where students can contribute according to their existing skills — through interactions with each other on a topic, they will learn other perspectives related to the field.
  • Include assignments, activities, or discussions that require practice within domain specific identity.

MANIPULATION strategies in Canvas

  • Maintain simple course interface (how) with tabs (how) and other options (how) so students can navigate easily (this implies the distributed knowledge of the instructor knowing good design principles to reduce cognitive load)
  • Include hints/tips for both incorrect and correct answers of quizzes (how)
  • Use discussions and embed Kaltura MediaSpace videos/podcasts (how) so students can control interaction and playback .
  • Provide links to credible Internet sources — e.g. OER Commons app can be integrated in Canvas (how).


Multiple Means of Engagement, Representation, and Expression that support GOOD PROBLEMS

WELL-ORDERED PROBLEMS strategies in Canvas

  • Be sure your course Syllabus scaffolds (example) from topic to topic.
  • For students, figuring out your expectations is an important primary problem. “Well-ordered” applies to developing the course map too.
  • Be sure topics, Assignments, Quizzes, etc. are clear, logically-ordered, and easy to find.
  • Be sure topics, Assignments, Quizzes, etc. are repeatedly and explicitly connected to clear course learning Outcomes (how).


  • Use Piazza (how) to provide a “challenge of the day” (or week) of a wicked problem (what) being explored by colleagues in your field.
  • Provide feedback (personal and general) following assessments using Rubrics in Speedgrader (how).
  • Provide feedback for 1) correct, 2) incorrect, and 3) overall Quiz questions (1-min video).
  • Use Rubrics (how) that have a difficult-to-reach upper limit.
  • Do not underestimate your students; design Quizzes that get progressively more difficult.
  • Students tend to challenge each other at a level that reasonably reflects the upper limits of their understanding. Challenge them to develop quiz questions for each other and use the Peer Grading/feedback tool.
  • Develop low-stakes/high-difficulty practice tests (how).

CYCLE OF EXPERTISE strategies in Canvas

  • Include a variety of Practice Quizzes (how). Make it a regular and frequent part of the course.
  • Provide skill practice time every day with low-stakes quizzes (why) that present challenges in a variety of ways.
  • Point to, and have students explore inter-relations of systems in Outcomes and Rubrics to explicitly direct and keep students on track.
  • Revisit use of skills cumulatively in quizzes and tests (why). Include earlier questions/concepts in later quizzes and tests.
  • Have students learn skill techniques and tricks (and build on them) from each other in Discussion reflections (example).
  • Have students work together on challenges to learn skills collaboratively.
  • Encourage explorative thinking and failure through Discussions graded only on participation (and guide them to answers).
  • Take time early in the class to show students how to navigate Canvas. Continue to provide tips on navigation and/or use of your course platform as you introduce new elements.
  • Provide hints and feedback in Quizzes (how), to reinforce correct answers and re-teach after incorrect ones.
  • Set up Piazza or Discussions for students to ask and answer questions for each other. Credit students for answering other's questions.
  • Introduce needed skills for final assessment early and consistently (provide instructions relevant to task)
  • Start with a difficult, but low-stakes pre-test that introduces the full complexity of what they will understand by the end of the course.
  • Tie the pre-test closely to Outcomes and Rubrics.
  • Explicitly revisit that complex pre-test (and the learning outcomes) in lessons, quizzes, and assignments throughout the course, so they can map their progress in understanding the increased complexity.
  • Create assignments that focus on key concepts. Design larger projects that require synthesis.
  • Give students the same pre-test again at the end of the course, so they can show mastery.

SANDBOXES strategies in Canvas

  • Open your course early so students can get a “lay of the land”.
  • Create Discussions or Piazza forums where students can share and respond to ideas and thoughts. Give points to reward constructive feedback that models respectful discourse and risk-taking.
  • Have TAs and/or students create many low-stakes practice tests with answer feedback, so other students can take them, fail, and immediately be guided to success.
  • Use Discussions to explore material that are graded only based on participation and receives guidance for improvement.

SKILLS AS STRATEGIES strategies in Canvas

  • Reinforce course learning Outcomes by explicitly and repeatedly connecting them to as many elements in the course (lessons, readings, quizzes, tests, discussions, projects, etc.) as possible.
  • Use Outcomes to create rubrics for assignments that break down the requisite skills to complete it.
  • Let students revisit past quizzes and exams to revisit and retrieve information needed to be successful in later ones.
  • Set up Piazza or Discussions for students to teach and learn from each other by, for example, sharing how they solve problems. Reward this sharing.


Multiple Means of Engagement, Representation, and Expression that support REVEALING SYSTEMS

SYSTEMS THINKING strategies in Canvas

  • Create a Piazza or Discussions forum where you pose a wicked problem in your field (how) and challenge students to explain the underlying systems at work in it. Let student explore problems relevant to their interests in Groups (example)
  • Create a coherent and complete syllabus.
  • Write an instructor teaching philosophy (why) to help students understand your approach.
  • Embed an RSS feed (how) from pertinent sources so students can relate course content to current events and the world around them.
  • Use personal journaling (how) for students to relate content to their own life.

MEANING AS ACTION strategies in Canvas

  • Embed videos and other multimedia such as H5P (how), Google Docs (how), Dotstorming, Padlet, Tricider etc. (example) in Pages to make content more interactive.
  • Share personal stories of how you developed a passion for course concepts. Include examples in your Profile and Biography (how) pages.
  • Set up Piazza, Discussions , or link to a Google+ Community (example1, example2) for students to share connections between course content and popular culture, current events, and personally meaningful experiences.
  • In Quizzes or other Assignments, challenge students to find new situations in their embodied lives to relate course content.


These are part of a larger handout here: TEiC Course Design Handouts - Google Docs 


Do others have examples of work that aligns Canvas Tools with Good Learning principles?

The Handmaid's Tale


In my previous life, I taught English, and one of my favorite texts to teach was Margaret Atwood's novel, The Handmaid's Tale.  I am working with two faculty members (one here at Union and one at Montclair State) this semester to build a student-written game (choose your own adventure model) within Canvas using a Google Docs Temp and then some fancy hyperlinking.


We will be donating the games (and the framework) to the Public Domain through the Canvas Commons.  


If anyone is interested in partnering with us, please let me know :-)

It has been a relatively positive pre-teaching week as far as Canvas is concerned. Beyond making the course look attractive, it is about thinking, learning, and the learning with can orchestrate for our students. I have tended to readily design my own learning assets and resources and signpost or upload links, audio and video. More recently, I have recognised that the students on the course are a wonderful instructional design resource. It does need to look good, and it needs to taste good. Here is where my professional learning this week has taken me. Here is what I have learnt. Beyond using dropped capitals.


Importing parts, whole courses or prefabricated templates into Canvas has numerous benefits (coherence, time efficiency and so on). Adding to the imported content is probably what many proud teachers will do, to customise the learning experience for their students. I learnt this week to ensure that any new resources or learning assets are "published" and that they a placed within a "published" modules.


In trying to solve our "glitch" or "instructor error" we used the student view option in "Settings" to decipher our error.


I regularly signpost the Canvas Community pages, first and foremost, the video guides. These are reliably current In plain English. Short. Well paced. My top tip, offer the instructor "a dual screen set-up" to learn on. One screen plays the video and the other hosts their course where they can make the updates. This approach is more than two times better than switching between browser tabs.


There are also a series of very useful student guides.


Instructors recently introduced to Canvas want access to their professional and teaching resources within Canvas, as soon as possible. In my experience, "Zipped folders" are not commonly used. On the plus side, Canvas handles this zipped folders with ease.


Introduced two staff to using "Groups." In these conversations it was through Discussion forums, to encourage (or force) conversations between students be design. Also, to force conversations between students on a blended course, studying at different Campuses.


Still not absolutely confident on the potential benefits or more creative uses of Modules and Sections.

I posted a couple of questions regarding grading MyLab content in Canvas the other day to a thread called What are your experiences with Pearson MyLab LTI?:


Can I change the points to 0 points after the grade sync, so that the assignment is extra credit?

Do anyone have any tips for making the MyLab assignments extra credit without using weighted grading?


I didn't wait for a response to before seeking advice from our Pearson contact, who shared some useful information that I wanted to share with any one who might be interested:


"Canvas has not been equipped to read gradebook schematics from MyLab. It only imports raw points. In the past, point values could not be manipulated when integrating to the Canvas gradebook. It was purely the value of the number of questions. 


And, what I've seen is that changing the point value for integrated publisher assignments won't hold... Canvas could have made updates this summer & there may be improvements that I'm not yet aware of. 


The only way to manipulate value in the Canvas gradebook that I'm aware of is through the weights."


As suspected, it looks like we'll have to use weighted grading. As the term progresses, I'll update this post with new information as we discover it.


As everyone probably knows, Canvas will slowly be getting rid of enhanceable_content/jQuery UI, including the pop-up dialogs (accordions are already gone). Below is way to get the effect of a dialog, but using the "element_toggler" ability instead. It has more a lot markup involved than just using the enhanceable_content dialog invocation, so it basically necessitates copy/paste and thus may not be so useful for many. But, it also has more capability (including being able to be wider than 300px). Here is a template below that will look fairly similar to the Canvas native dialogs. I've also added an html file of this to the bottom because code is hard to render on these boards.

<a class="element_toggler" aria-controls="modal_demo"
aria-label="Toggle demo modal">
Modal/Dialog Trigger Link Title</a>
<div id="modal_demo" style="display: none;">
    <div id="modal_overlay" class="ui-widget-overlay container middle-xs center-xs"
    style="text-align: left; display: flex; position: fixed; z-index: 11;
           left: 84px; top: 0; width: 100%; height: 100%;"

        <div id="modal" class="ui-corner-all box-shadow"
        style="background-color: #fff; padding: 10px; position: absolute;
               width: 100vw; max-width: 600px;"

            <div id="modal_header" style="border-bottom: 1px solid #C7CDD1;">
                <h2>Modal Title</h2>
            <div id="modal_content">
                <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
                  Perferendis fugiat libero esse hic, architecto natus provident
                  excepturi eveniet repellendus cumque accusamus omnis maxime
                  animi odio sunt modi. Inventore numquam, quisquam.</span></p>
            <div id="modal_footer" class="text-right"
="border-top: 1px solid #C7CDD1; padding: 10px;"

                <a class="element_toggler btn btn-primary ui-corner-all"
                role="button" aria-controls="modal_demo"
                aria-label="Toggle demo modal">
<span class="ui-button-text">Close</span>


Some notes:

  1. There are 2 element_togglers that both affect the visibility of the modal window. Do not put aria-expanded values on these element_togglers. The style guide tells you to do this, and ordinarily you should if you're only using one element_toggler per toggled element. But if you're toggling the element with more than one element_toggler as this does, defining aria-expanded values will make the aria-expanded values for the element_togglers unsynced, leading to you having to click them twice after the initial click for them to work properly. Not defining them at all eliminates this double-click issue.
  2. z-index of at least 11 needed on #modal_overlay div to completely cover the course sidebar on the left.
  3. The .middle-xs .center-xs classes and display:flex are to get the modal to show up in the center of the page.
  4. The .ui-corner-all class gives your elements nice rounded corners on all sides without having to play around with "border border-round border-trbl". You can get rid of it if you don't want rounded corners.
  5.  The .box-shadow class will give you a box shadow on your divs (useful since the editor will strip out the box-shadow attributes)
  6. The .ui-widget-overlay class will give you the transparent background for the modal (useful since the editor will strip out rgba and opacity values)
  7. Modify the max-width value on the #modal div to change the width of teh modal. Current code has it to be the width of the viewport/screen or 600px, whichever is less.
  8. The border values on the #modal_header and #modal_footer divs aren't really needed, just there to make it "look nicer" by separating the modal parts.
  9. Of course, you can do other things with it. Change the background colors, stick a Youtube video in the modal content, stick an image in there and simulate a lightbox. Mess around with what the buttons say/do. I'm just using it for vocabulary word definitions. 8) You can probably also simplify this a lot, especially if you aren't interested in getting it to look like the native Canvas dialogs. Here is a simpler version below:
<a class="element_toggler" aria-controls="simple_modal"
aria-label="Toggle simple_modal modal">

Simple Modal Trigger</a>
<div id="simple_modal" style="display: none;">
    <div class="ui-widget-overlay container middle-xs center-xs"
    style="text-align: left; display: flex; position: fixed; z-index: 11;
                    left: 84px; top: 0; width: 100%; height: 100%;"

        <div id="modal" class="ui-corner-all"
             style="background-color: #fff; padding: 10px; position: absolute;
                    width: 100vw; max-width: 600px;"

            Put all your modal content here!
            <div class="text-right">
                <a class="element_toggler btn btn-primary ui-corner-all"
                role="button" aria-controls="simple_modal"
                aria-label="Toggle simple_modal modal">

                    <span class="ui-button-text">Close</span>

Disclaimer: Presented without warranty, any claims to longevity, optimum efficiency/semantic adherence, IE and mobile app capability, etc etc

Over at KristianStill – BELONG – RESPECT – ASPIRE – ACHIEVE  I posted this early exploration into making Canvas courses appear more enticing. Now I find myself review the Canvas Instructional Designers pages.


This week, on the back of the InstructureCon (Canvas conference), the Canvas blog signposted three Canvas Network’s Educator courses. I decided to dip into Course Design Lab: Add Flair to Your Canvas Course by Gerol Petruzella (Mass. College of Liberal Arts) in an effort to improve the design and UX of my new September courses.

This course is designed as a resource for teachers and designers who want to take their Canvas course above and beyond the norm and give their students a truly engaging learning experience.

The course showcased two threads; "embeded media" and "styling tweaks" mainly achieved through HTML code to improve the look and feel of your course pages.

Course navigation was provided by modules three tiles and then the first use of the excellent HTML code - tabs (more on that shortly, a tweak from module two). You can review the embeddable content examples yourself with this word or caution - any embedded content has to pass your local filtering policy. Discussion forums offered a "swop-shop" style posting, with a handful of additional signposts, I quite liked the Edpuzzle site (although there is not an LTi for Canvas) and due to the strict image filtering at school, I am hoping is open.

The "styling tweaks" are listed in easy, intermediate and advanced.

"Drop Capitals" were quite attractive and the "Content box" and  "Shadow Text Box" clearly define important text. Access to an icon library useful.

"Alert buttons" added colour and "Button" the "Popups" added important interaction with the content and later on I learnt about "popovers."

Maybe adding Horizontal Line Across the Page (controlling thickness and colour).

<p style="border-top: 1px solid black;"> </p>

All very useful layout or visual signposts and hopefully, these can be added to the Canvas editor in time. However, the styling tweak I am most likely to use the regularly will be tabs. Just a little HTML code offers such improved use of the page estate.

[caption id="attachment_10142" align="aligncenter" width="580"] Taken from Gerol Petruzella's course. The catalyst behind this blog post.[/caption]

There are a number of other Canvas "hacks" showcased on various Canvas pages - sortable content, announcement boxes and popovers for example. I also learnt that in Canvas "alert boxes" and "flash boxes", success=green, alert=orange, error=red and information=blue. For now - I plan to keep it relatively simple for now.

Style tweaks wishlist - "return to top" and for the "Previous" and "Next" buttons be available at the top of the page?

My code notes from Gerol Petruzella's course and other courses and Canvas guides.

Drop Caps

To add a fancy, elegant visual style to your paragraphs (while keeping your text and design accessible!), frame the first letter within your <p> with a <span> tag, as below:

<p><span style="float: left; width: 0.7em; font-size: 400%; font-family: algerian, courier; line-height: 80%;">I</span>n 65, Seneca was...</p>

Shadow Text Box

A shadow text box is a great way to add a little bit of visual flair and emphasis. It's fairly easy to add the coding using the HTML Editor. You can also change the colors of the border and shadow by changing the background-color and solid line color.

Courtesy of James Henson, U of Alabama at Birmingham -

<div style="margin: 50px 15% 50px 15%; background-color: #ccc;">
<div style="position: relative; top: -20px; left: -20px; padding: 20px; background: #fff; border: 2px solid #ccc;">
<p>Lorem ipsum...</p>

Your text/content that you want inside the box goes between the <p> tags.</p>

Here it is again with a blue colour scheme.

<div style="margin: 50px 15% 50px 15%; background-color: #0404B4;">
<div style="position: relative; top: -20px; left: -20px; padding: 20px; background: #58D3F7; border: 2px solid #0404B4;"><p>Your Text...</p>


Borders are a great way to section your content and emphasize titles. Adding the code is fairly simple in the HTML Editor. You place the code before and after the content you wish to place in the border. Borders can be used for text, pictures, video players, etc.

The code:

<div class="content-box pad-box-mini border border-trbl">
<p>some content here</p>


Error: Sample .alert .alert-error style.

<!-- Error -->
<div class="alert alert-error">
<strong>Error:</strong> Sample .alert .alert-error style.

Success: Sample .alert .alert-success style.

<!-- Success -->
<div class="alert alert-success">
<strong>Success:</strong> Sample .alert .alert-success style.

Information: Sample .alert .alert-info style.

<!-- Alert-info -->
<div class="alert alert-info">
<strong>Information:</strong> Sample .alert .alert-info style.


Buttons are a way of creating interesting links within your course, rather than just using the standard hyperlink in blue text. Buttons can be linked to sections of your course, or you may have them link to external sites.

*Make sure to include the code within a <div> tag.

<div><button class="Button" type="button">My Awesome Button</button></div>

There are different colors and styles of buttons that you can add. I've give some of the basic coding, but for more information, check out the Canvas Style Guide.

Popups (later pop-overs)

Another great interactive addition to your course is a popup. This allows you to have a button that retrieves a message. This is great for course information, or for instant feedback on something like a quick practice quiz or study tool. There are a lot of possibilities!

All you need to do is add the following code and keep your label and dialog within the correct <div> tags.

Like other buttons, you can also change the color depending on the style of button you choose.

<div id="dialog_for_link1" class="enhanceable_content dialog">Hard work at the start pays dividends at the end</div>
<p><a id="link1" class="Button" href="#dialog_for_link1">Click to reveal the secret to success</a></p>


Iconx can be added to plain links or text in the course and may also be added to buttons. You'll find the basic code below, but again, check out the icon library to change the icon to something more applicable to your course.

<a class="icon-add" href="whatever">Add Stuff</a>


<div class="enhanceable_content tabs">
<li><a href="#fragment-1">TAB 1</a></li>
<li><a href="#fragment-2">TAB 2</a></li>
<li><a href="#fragment-3">TAB 3</a></li>
<div id="fragment-1">PUT THE CONTENT FOR THE FIRST TAB HERE</div>
<div id="fragment-2">PUT THE CONTENT FOR THE SECOND TAB HERE.</div>
<div id="fragment-3">PUT THE CONTENT FOR THE THIRD TAB HERE</div>


Hover your cursor over the word "popovers" above, and see what happens! The textbox that will pop-up, will tell you what this example is all about - as will the blue "HTE" text in the following paragraph.

This has been placed in the Advanced module, because while this is a short and simple code snippet, it must be wrapped around the desired term in your text using the HTE which for non-coders can be tricky.


data-tooltip='{"tooltipClass":"popover popover-padded", "position":"right"}'
title="Popovers are a word or line of text that when hovered over with a cursor, produces a pop-up text box with explanatory message">

Background colour

Change the background colour

<div class="content-box pad-box-mini border border-trbl border-round" style="background-color: #f2f2f2;">


Background colour or a section

<div class="content-box pad-box-mini border border-trbl border-round" style="background-color: #f2f2f2; border: thin solid #ccc;">Add text here</div>


Filter Blog

By date: By tag: