Snow Day! – Canvas Camp?

This post was originally published on the Canvas Camp website.

Since we missed our final session of Canvas Camp, I’ve recorded a video as an overview of our session. At times, I move through some of the content quickly, so feel free to pause and watch at your own pace:

Additionally, I encourage you to refer to the other materials on the Canvas Camp website as needed. Here are a few items I want to highlight, in particular:


Complete your Canvas Course – Finish adding and organizing all the contents and assignments of your course in the Modules section. Ideally, all course content appears in at least one Module. Additionally, make sure to complete the Syllabus, double check all due dates in the Calendar, and review your course materials are correct.

Add TAs to the course – In the People section of your course, add your TAs.

Publish the course! – The final step! Make sure all of your content is in the “Published” status by referring to the green, check-marked clouds next to each of your materials in the Modules section. All content that has a gray, x-marked cloud is currently in the “Unpublished” draft form and not visible to students. Lastly, on the home page, change the Course Status from “Unpublished” to “Published.”

S’more ( Abbreviated, refer to day 4 page for full list)

Grades – The Canvas Gradebook is automatically generated from the Assignments in a course. First, checkout this overview video:

Then read through this guide to see how to interact with the Canvas Gradebook. You can set default grades (i.e. zeros for missing work), curve grades, and message students who make certain grades from the Gradebook. Additionally, I recommend muting assignments while grading if you prefer to release all grades and feedback to students all at once. Otherwise, students will receive notifications as you make changes at your grading pace. Lastly, you are able to download and upload scores to the Canvas Gradebook using CSV files if you prefer.

Use Speedgrader – The easiest way to grade assignments in Canvas is the Speedgrader. This video introduces its power when grading in Canvas:

The Speedgrader supports documents (.doc/.docx), slides (.ppt/.pptx), and PDF files, media recordings, website URLs, and more. This guide demonstrates the specifics of using Speedgrader, including how to enable anonymous grading, leave feedback for students, and use a rubric in Speedgrader. Additionally, you can grade Canvas assignments from the Speedgrader app on a tablet if desired.

Submitting your Grades – Our University aims to make submitting grades through Canvas simple. Checkout either the video guide or the text guide to learn how to complete this task at the conclusion of your semester.

Messaging students using the Canvas Inbox – You can communicate with your all of your students through Conversations in the Canvas Inbox. This feature allows you to message individual students, your TAs, or the entire class. This video guide is a great place to start learning how to use this tool in Canvas.

Publishing Content – In the Modules section of Canvas, you can use the published state of contents to hide materials from students as needed. Unpublished materials are in a draft state and will not be accessible to students. Before you finalize your course, make sure all the content you want visible to students is marked as Published with the checkmark/green cloud icon.

Crosslisting in Canvas – You can combine sections from multiple courses into a single course. Before you do this, read this entire guide and view the cross-listing video because you want to make sure you understand how this works. I recommend experimenting and practicing with nonofficial Canvas courses first.

Get Canvas Assistance – The first place I go to get Canvas help are the Canvas Guides, in particular using the search bar on this page. The broader Canvas Community is a great place to get ideas and interact with other Canvas Users from across the world. Our University has its own Canvas Group on the Community website if you’d like to join us. Finally, there are more materials available for instructors on our campus ranging from OU’s Canvas Tutorials, to the resources on the Center for Teaching Excellence’s website.

If you’re hoping to get feedback on your Canvas course, I recommend asking the students in your courses and being open with them about trying new things. Students will be able to give you great feedback on how Modules are setup, etc. At the end of the day, we are all in this Canvas learning process together.

Happy course building, campers!

Hacking My Apple TV

Sometimes I have way too much fun. I recently acquired a 1st gen. Apple TV and wanted to breath some new life into it. So, I decided to remove its extremely outdated operating system (version 3.0.2) and replace it with something that actually allows media streaming. I decided to start with OSMC and followed this excellent video guide:

The installation process was smooth for the most part—I only had one snag during setup. The most updated version of OSMC from November was not installing properly, so I repeated the steps outlined in the video using the October build of OSMC and succeed. (I tried to update the October version to the November one later, but that update failed so I’ll stick with the older version for now.)

November built of OSMC failing to install properly on Gen 1 Apple TV displays a white sad face on blue background
OSMC Installation Failing 1st Time
OSMC linux operating system installing on Gen 1 Apple TV
OSMC Installation Succeeding 2nd Time

At this point, most people stop with an awesome Kodi enabled Apple TV but I wanted much more from this Debian 8.6 Linux computer! In accordance with the recommendations from the aforementioned video guide, I installed LXDE as the desktop interface. It was at this point that I started dreaming of all the things I could do with my new linux computer!

Apple TV As A Computer

First, I installed a web browser. Learning to use the “apt-get” command from forums, I installed Firefox ESR and explored my first text-based web browser, Lynx. It was a spectacular experience to see what the web looks like when images, videos, and advertisements are stripped away and words are all that remain.

OU Create loaded in Lynx text-based web browser shows only words of the website
OU Create in the Lynx text-based web browser

Next, I built a Twine game from my Apple TV and used the notes from eXperience Play to add some style to my simple game. Once it was built I decided to upload and host the HTML game on my OU Create domain.

ATV game built in Twine and hosted at
Twine game made on Apple TV now available at

Eventually, I decided to load office software onto my Apple TV to create some documents. To install LibreOffice, I had to learn how to setup backports by creating text files in the command line using:

nano /etc/apt/sources.list.d/filename.list

But after some tinkering and patience, I was able to install LibreOffice onto the Apple TV. With this software, I composed my first document from the Apple TV.

LibreOffice running on Apple TV.
LibreOffice running on my Apple TV

After playing around with Debian Linux for a few hours, I started to push my goals even further. I wanted to see what it would take to turn my Apple TV into a web server. 🙂

Apple TV As A Web Server

There was a phenomenal guide on setting up a LAMP environment in Debian that I followed to transform my Apple TV into a server. However, I had trouble getting MariaDB MySQL to install properly. Since I wasn’t determined to install any web apps that used MySQL, I didn’t sweat this problem and turned my attention towards the more crucial Apache2 and PHP5 and started getting more ambitious.

First, I discovered I could host the Apple TV-made Twine game on the Apple TV itself by placing the HTML file in the web root directory that Apache had generated (in my case /var/www/html). THIS WORKED PERFECTLY. In other words, files located in the computer folder “html” (that is located in the folder “www” that is located in the folder “var”) on the Apple TV were now accessible to other computers on my home network. This meant I was able to navigate to the IP address of my Apple TV using my iPad to access the Twine game.

ATV game built in Twine and hosted on the Apple TV
Same Twine game now hosted on the Apple TV

In fact, any device on my home network can navigate to and access the html file that was being hosted by my new LAP (Linux, Apache, PHP) server. Yet this game was only simple HTML and I wanted to take the Apple TV even further.

So, I started exploring web apps since some flat-file CMS like Grav don’t require MySQL to operate, I started exploring what it would take to run a Grav website from my Apple TV. I spent a while reading and researching the requirements like editing the apache2.conf file to allow .htaccess to function and installing different PHP components. However, after I looked at my watch and saw 8 hours had past since I started this adventure, I decided it was time to take a break… 🙂

What’s Next For The Apple TV?

I want to finish getting Grav running on my new web server, but I’ll need to do a bit more research before another Apple TV journey. Also, I’m exploring a firewall exception and mapping port 80 in my router to grant users access to my Apple TV web server outside of my home.

Finally, I’m considering installing node.js and trying to get a copy of Ghost running. This may be feasible as opposed to running something like or Gitlab, with the measly 256MB of RAM on an Apple TV.

WHY? Why Not?

If you played the Twine game I keep referencing, you’ve already witnessed me questioning my intentions. Why the heck did I spend all day turning a media player into a computer and then into a server? I may sarcastically reply with “why not?” but the real reason is for the fun of learning. Today, I taught myself loads of awesome stuff! From heavy usage of the Debian command line to Apache2 as a web server to how the web works at a file and IP address level—these days of experimentation, building, and re-building help me understand technology and its role in our lives. For me this was more than an exercise in learning, this was an opportunity to discover how and why I’d bring the web into my own classroom.

The featured image is provided CC0 by Ilya Pavlov via Unsplash.

Gamifying The Writing Process With Habitica

One of the (many) side-projects that John and I have been working on is gamifying the writing process. In particular, we’re interested in gamification that seeks to reinforce and build good habits that yield efficient writing, research, and revision.

This semester, the Writing Center on our campus engaged us in brainstorming the logistics, pedagogical implications, etc. of such a writing program. From conversations with them, John and I have pursued various tools and solutions. At the moment, we’re prototyping two different applications of gamifying the writing process. John has already written about one of these ideas—using automated word-counts to engage individuals in competing against themselves to encourage writing. Now I want to address the other prototype we’re developing.

We’ve been researching and using Habitica as a platform to facilitate a gamified writing program (learn more about Habitica here and here). In fact, writing this blog post fulfills a “daily” task for me in the very Habitica system we are prototyping!

Keegan's Habitca website daily todo list that highlights "writing for 10 minutes" and "write a blog post"
Keegan’s Habitica Writing Tasks

Anyways, yesterday I met with Annemarie Mulkey, an instructor in the english department who has participated in both GOBLIN and eXperience Play. I reached out to Annemarie because she has experience with Habitca, a background in English, and is a blast to work with! Since Annemarie uses Habitica to motivate her own productivity (even more broadly than writing), her perspective was phenomenal.

Eventually, we wound up brainstorming how to setup Habitica to gamify writing an undergraduate research paper. We decided the research paper was only going to be ~5 pages and be completed over 7 days. With these parameters set, here’s what we developed using Habitica in half an hour:

Whiteboard Brainstorming

Research Paper Challenge outlined on whiteboard

Resultant Habitica Challenge

Research Paper Challenge in Habitica includes many tasks to complete

Since Habitica possesses a feature called Challenges that allows users to add custom sets of tasks to their account, we used this mechanism as the means to facilitate the gamification of writing a research paper. The Habitica To-Do list we envisioned includes tasks like outlining, researching, and drafting the paper to serve as a set of goals for students working on their research paper.

Taking this a step further to encourage the practices that produce good writing and researching, Annemarie and I used the Habits and Dailies of Habitica to reward students for tasks like 30 minutes of uninterrupted reading/writing, exploring the citations of sources, and writing 1 page for the paper everyday. Together, these three components of our Habitica Challenge (To-Dos, Habits, and Dailies) divide up the process of writing a research paper into manageable pieces for undergraduate students, and award students who complete these tasks regularly with experience points and gold in Habitica.

If you want to dive deeper into the specifics of Habitica or our Challenge, either reach out to me with questions or signup for Habitica, send me your Habitica UserID so I can invite you to Annemarie and I’s party, and then join the custom Challenge we built.

Finally, we recognize that at face value, this prototype appears very systematic and would yield standardized writing. Therefore, using this in the classroom would require more explanation and emphasizing to students the flexibility of their writing process in conjunction with the framework we developed using a Habitica Challenge.

The featured image is provided CC0 by Olu Eletu via Unsplash.

My Vision (and Search) for a Connectivist Graduate Program

For the last year, I’ve been contemplating graduate school. I’m still researching and evaluating various programs around the world, but I wanted to take a second and reflect on what I desire from a graduate program. I have many answers to this question, but let me expand upon this idea:

I want a graduate degree program where students teach some of the courses in the curriculum.

I don’t believe this is too outlandish since I’m looking at programs in the field of education, possibly within instructional design. But I’ve had no luck uncovering such a program. So, for now, I’m going to dream. What would such a degree program look like?

Anatomy of a Connectivist Graduate Program

I envision a program founded upon connectivist learning philosophies and comprised of two components:

  1. A core set of curriculum that every student must complete. This is crucial for standardizing instruction for degree components like research methodologies and models/theories of the discipline.
  2. An additional set of courses led by students based on their own expertise. These are intended to be open-ended in regards to content and practice and would vary year to year based on the student body.

To me, a connectivist program necessitates a particular anatomy and entails thoughtful design. As an example, a degree like this would require a set cohort of students that progress through the curriculum together. Such a cohort would need to be comprised of diverse individuals from different backgrounds, possessing a variety of skills. To ensure such diversity, there’d need to be an application process that not only considers expertise, but also establishes cohesion in terms of student backgrounds within each cohort. In other words, this entire process requires careful design considerations.

If it was possible, there would still be several challenges to overcome.


The skills to thrive and succeed in a connectivist degree program are not the same skills present in typical educational environment. For instance, I anticipate humility would be a critical element of a connectivist degree for everyone involved. There’s a significant discomfort about not knowing the exact direction of a program as a student or as a teacher; and overcoming these feelings would require a strong emphasis on community and active, inclusive communication between all parties.

Additionally, I foresee accreditation being a serious stumbling-block. In fact, I proposed a “core set of curriculum that every student must complete” as a solution to this challenge. Program viability depends on the consistency of educational quality and rigor from year to year for each cohort. Accreditation is a conversation well beyond what I wish to tackle in this post but it remains a significant challenge. (Not to mention, I don’t have the answer to accreditation anyways.)

With these two challenges, I hope that I’ve illustrated the complexity of design for such a program to exist—intention and care in developing a connectivist graduate degree are imperative. Still, I am determined! If we are to produce the next generation of educators, critical instructional designers, etc., we need to utilize the educational philosophies we champion in the designs of our programs themselves.


Since I’m still dreaming here, I want to explore a couple of my favorite questions.

What courses would I want to teach?

This is one of my favorite questions in the context of a connectivist graduate program!

One course that I’d love to facilitate would involve exploring productivity using affordable. I know this may sound a little out-there, but I imagine a course where everyone is limited to $300 worth of technology and must participate with minimal computing devices—including designing instruction to operate on inexpensive technologies. Specifically, I’m interested in engaging others in curriculum around $100 laptops, $50 phones, or $50 tablets? What does a Domain of One’s Own project look like under these parameters? A portion of this curriculum would focus on socioeconomic barriers and issues related to digital redlining.

Another course I’d love to teach would focus on interests that I’ve explored in both GOBLIN and XP—I’d love to teach a course about digital storytelling, game design, and what games have to teach us about learning. I see many opportunities to engage others with information literacy, media literacy, and various digital literacies while participating in experiential learning and exploring creative expressions. Ideally, part of this course would involve developing games and discussing them as transformative experiences with opportunities to pursue action research and/or academic research.

What courses would I want to take?

On the flip-side of teaching in a connectivist graduate program, there are many topics I’d love to explore.

For example, I’d love to learn more about practical use cases of APIs in the classroom and beyond. From personal workflow automation to manipulating sets of data across the web, a practical API course sounds phenomenal. I’d imagine course projects would range from building APIs to utilizing public APIs and engaging in the conversations of the future of APIs in education.

Also, I’d love a course on “crowdsourcing” and how it can be implemented instructionally into courses and/or research. Topics like large scale community driven problem solving and hosting crowdfunding campaigns for social work. These projects would make for some spectacular curriculum in my mind. Crowdsourcing as an instructional tool is not typical and I see a lot of potential around a such a course since there are a multitude of directions and applications for the idea.

Looking Forward

I know this post presents small and specific examples as part of gross oversimplifications of larger ideas. But I write because I see value in a connectivist approach to graduate education. I provided examples of student-led courses because they demonstrate to me the strength of connectivim and highlight where traditional curriculum falls short. Student-led courses can be built on personal passions and current conversations. A dynamic program might be tailored to the participants, current technologies, and cutting edge scholarship; not to mention, scaffold greater transference of connectivist (etc.) theories to practice!

At the end of the day, the core of my dream—what I value most in my education:

  1. The opportunity to be viewed as an aspiring scholar, rather than just a student;
  2. A program that practices what it preaches, instead of defaulting to lecture and discussion of readings;
  3. The promise of growth and not feeling indoctrinated into standardizations of thought;
  4. Connecting with a community that involves and cares about everyones struggles, development, and experience.

That is why I’m envisioning a degree program constructed with connectivist learning philosophies because we should make our programs reflective of the educational ideas we champion.

Before I close, I want to take a moment and shoutout to Martha Burtis & Sean Michale Morris for their recent talks on Critical Instructional Design:

Although the topics from their presentation does not necessarily relate to the content I cover, their words were an “inspiration catalyst” for me to finish writing this post, which began a few months ago.

Anyways, what are your thoughts on a connectivist graduate program? Is it possible? What are the risks? What are the benefits? Am I crazy? 🙂 Let me know.

The featured image is provided CC0 by Baim Hanif via Unsplash.

DIY Instructional Video Consultation

In the spirit of John's recent post-per-consultation (PPC) to broadcast valuable information from our consultations at the Center for Teaching Excellence, I am writing my first PPC.

I just met with Mark Norris, a professor of linguistics who recently participated in John & I’s eXperience Play faculty learning community. (Check out the game Mark created here!)

Anyways, Mark is interested in creating instructional videos for his students. Specifically, he wants to show students his problem solving process and explain the reasoning behind every step. This sounded like a fantastic opportunity to provide extra instruction for students who need to focus on certain concepts.

I was excited to see Mark had already experimented with instructional videos, because this helped me understand what Mark wanted to produce for his students:

In the name of features and consistency of quality, I recommended Mark consider digital annotation for his instructional videos. Such tools offer the ability write on documents, expand the annotation space at will, and streamline the video editing workflow. After some discussion, and checking what equipment was available for checkout, I offered Mark two methods for producing digital whiteboard videos: (1) iPad Pro with Apple pencil and Explain Everything Classic, (2) Surface tablet with stylus and Open Sankoré. Mark chose the former and we started exploring what annotated instructional videos would look like when produced from an iPad Pro. Combined with a high-end Blue Spark Digital microphone, Mark now has all the tools he needs to produce some excellent resources for his students.

Working with Mark was phenomenal because I love interacting with faculty who are passionate about teaching and are always exploring how to best engage their students. In other words, I’m excited to see what Mark produces in the coming months!