Thursday, September 22, 2016

Experience Play: PD Post

I'm rushing to get out of town tomorrow (and that trip is connected to my game!), but I really wanted to write down some thoughts now so that I could have them put down on paper before I move on to the post-trip round of work on this project. THANK YOU, Keegan, for encouraging people to participate remotely and for sharing the game you made for your grandmother; that was what prompted me to make a game for my friend's birthday this weekend, and I want to develop that over the course of the semester to learn more, and then figure out how to incorporate all of this into my classes. So........ here's the post:

Making Your First Game video. I loved this video about making a first game! It reminds me a lot of the kinds of advice I give my students especially as they brainstorm writing projects for my classes. So, I am bookmarking this for future reference: Making Your First Game. My long-term goal here is to offer a "text game" option side by side with the current Storybook and Portfolio options that my students choose from right now, and this video will be really helpful.

My Process So Far. 

Stage One: Text Widget + Blog. The process started two Saturdays ago. We are having a poetry celebration for my friend's birthday this weekend, and I knew I wanted to use poetry by Kabir, and I thought it would be fun to make a "Random Kabir" widget as a way to share the poetry in addition to doing a reading at the party. So, I read through a bunch of Kabir, and grabbed many couplets along with excerpts from longer poems, and then I put them into a giant table, which I turned into a randomizing widget thanks to the power of (an amazing free tool built by a former student, Randy Hoyt: he built it back around 2002, and it is still going strong!). I created a blog to display and share the widget, and also to share the texts I had used, along with bibliography, plus some videos. I used so that I could host the javascript in an https environment, and I also built a vanilla HTTPS webpage display of the widget to use via iframe in places where javascript is not allowed (like in Canvas). I also used OUCreate to make a nice simple URL for the site: (Nomi is the birthday girl!). I thought I was done... but then...

I had a dream.

Stage Two: The Game. Yes, a dream: no kidding! I dreamed about Kabir's poetry as a garden to wander in, and I realized that it could be a text game. So, I spent all of last Saturday making a game! Because I had the blog set up already, I decided to use the blog as a kind of storyboarding space, supplemented by a Google Drive Spreadsheet and a Google Drive Doc to keep track of my work. I created posts for each chunk of poetry, and then I looked for ways to connect them through shared lexical items. I did it in a very simple way: I started with one verse and then branched, and then branched, with a few triple branches and a few crossovers, but no real loopbacks. It's very simple: the idea is that you go into the garden, and eventually the path comes to an end and you are invited to start again. The shortest path has five turns (I'm pretty sure that is the shortest one), and the longest path actually has ten turns (I think! I got a little lost by the end, ha ha). I'm calling it The Garden of Kabir.

Stage Three. Party! I hope we can play this at the birthday party. I've played it on my computer, and it also works well using a browser on a mobile device because Blogger automatically defaults to a nice mobile view which is actually perfect for the game. I am really curious to learn what people think about this at the party, and I hope I will get some ideas for how to keep developing it. The way I think we can play it at the party is that I will read the first verse and ask someone to pick, then read again, ask someone to pick, and so on. It will be like walking through the garden together, sharing the decisions about which way to go next. There are going to be some really wonderful people at this party: artists, poets, people who do improv... so much good energy and wild imagination. So I hope to grab some new ideas there!

Here are some of the ideas I have in mind already:

1. Learning resources at the blog. I want to develop the existing blog posts to have more links and background information so that people will better understand the poetry and Kabir's cultural context. For that reason, I will definitely be maintaining the blog and also expanding it. The blog post structure lets me add commentary, links, images, and video as needed, which I really like for making this a real learning opportunity. For literally 30 years I have wanted to immerse myself in a real study of Kabir... and now I am going to take a couple of years to do that. I am also thinking that the time may have come to finally (FINALLY) learn Hindi.

2. More Garden paths. I want to think more about how to create and maintain the paths in the blog version of the garden. I did it quite hurriedly and while all the paths seem to work, I am guessing they are not optimized. I am not even exactly sure how you optimize paths in a game. I am hoping to learn more about that as part of the Experience Play course!

3. I want to add more texts to the Garden. I relied mostly on Tagore because I could copy-and-paste from Gutenberg, but there are also some other great online resources I can use, including the verses of Kabir in the Sikh scripture Adi Granth, plus there is Ahmad Shah's public domain translation of the Bijak, along with some other freely available materials online. I also have some excerpts from printed books, like the wonderful book by Vinay Dharwadker, formerly of the University of Oklahoma; I met him my first year here, although he has since moved to Wisconsin. I am excited to get in touch with him when I have made some more progress here; we have not been in touch all these years, so this will be a very nice excuse to contact him and thank him for his beautiful Kabir book: Kabir: The Weaver's Songs. It is the book I would recommend to anyone who wants to learn more about Kabir and his legacy beyond what is available freely online.

4. Twine! I want to build something more like a maze using TwineThreads, something more structured than the rambling branching I have done at the blog. I will need to plan that out, and I'm not really ready to do that yet, but working in the blog space has given me so many ideas. What I am hoping is that I can build something really cool with Twine, and then figure out how to replicate it in a blog so that my students can choose either to learn how to use Twine and/or to build something in a blog space (since they already are doing a lot with blogging in my classes).

Final thoughts on Digital Storytelling (in response to Keegan's prompt). I'm not really much of a technologist, so the digital is not what matters to me so much, except insofar as digital makes possible CONNECTED Storytelling, which is what I care about deeply. I love stories, all the stories... and I see all the stories as connected in a gigantic woven intertext. And yes, I also love that Kabir was, by profession, a weaver. The Internet (WWW) has given us a new way to experience the connectedness of stories, linking and sharing, sharing and linking. I am really glad that Keegan and Co. have prompted me to take my limitless enthusiasm and express it in a new form... a form that people can play. And in my next post I promise to say something about Sanskrit LILA, the play. Kabir has a lot to say about play too: plays of joy!

And now... I need to go pack for my trip. Thanks again, Keegan, for this lovely opportunity. I never would have turned my widget into a playable game without your encouraging example!!!

Friday, September 2, 2016

Blogger Announcements as Canvas Homepage

For a more up-to-date version of this post, see: Blissfully Blogging Announcements in Canvas at my Teaching with Canvas blog.

I promised Michelle Pacansky-Brock some notes about my use of a Blogger blog as the landing page for my public Canvas courses at and Click on those links and see: totally public, no log-in required!

First, I'll explain why I use a blog this way, and then I'll review the nitty-gritty of how/why it works.


Here are some of the reasons why I use a blog for the announcements:  Daily Announcements Blog.

1. Blogs are essential to my classes. The students blog all their work, so modeling ways of using the blog platform is very important. I use blogs for almost all my class content development, not just the announcements. See, for example, my Writing support blog or my Freebookapalooza online library.

2. Blogs are open. This was essential when we had the completely closed D2L for our LMS. Now people can make their courses public, but having public announcements in a blog is a way to share a course even if people are shy to make their Canvas course public. Some former students continue to read the class announcements, and people who are not in my classes also subscribe.

3. Blogs have sidebars. Especially given my extremely limited ability to control my Canvas context (and it is sooooo boring), having that blog sidebar is a big plus, giving me a design space Canvas denies me.

4. Blogs can display Twitter and YouTube. My Twitter widget works great in the blog sidebar, and I really value Twitter as a way to share all kinds of content with students; I have a dedicated class Twitter stream at @OnlineMythIndia. I also like having a YouTube playlist in the sidebar (music!).

5. Blogs can run javascript. I am able to create fun randomizing javascripts to use in the sidebar. Right now, I have random growth mindset cats, and I've used all kinds of randomizers over the years (random images, random student projects, random motivational posters, etc.). More information about javascript in Canvas. There's a cat in the sidebar as you can see:

6. Students choose how to subscribe. Students can subscribe to the blog by email if they want, or by RSS; they can even put the RSS feed for the class announcements in the sidebar of their own blog.

7. Blogs have labels. I use blog labels both for navigation and also to manage my workflow. It's easy to link to a week's worth of announcements with a rolling current label, for example: Current Week. Labeling the blogs by week (Week02) and by semester (Week02 F16) is a big help to me behind the scenes for content reuse (I can quickly compare my Thursday of Week 2 post to the same post last Spring or last Fall, etc.).

8. Mobile view. I often include links to the daily announcements in communication with students, and those links are mobile-responsive automatically; if they are checking their email on their phone, for example, they will see the mobile view when they click on the announcements link. I can also simulate the Blogger mobile view by adding ?m=1 to the blog address or to a specific post address; I like being able to quickly simulate the mobile view to see for myself how it looks.

9. One blog for two classes. This may just be peculiar to me, but because I am able to use the same announcements for both classes, having the blog is crucial. If I did the announcements using an LMS-based tool inside my courses, I would have to do them twice, and also edit twice (because I'm usually fixing typos during the day, etc.). Not good.

10. Don't put all your eggs in one basket. If/when the LMS is down, my announcements blog will probably still be up. I've never had my blogs go down, but if they did, I could quickly put announcements in the LMS if I needed to. Having multiple channels of communication is always a good idea in my experience.


Here is some of the nitty-gritty. The key thing to understand is that I am using a wiki page AND I am telling Canvas to make my wiki page the default homepage of the course, so both of those addresses show my blog:

But notice the difference: the course homepage has the right-hand sidebar, but the wiki front page does not. That difference will be important in the set-up described below.

Okay, here goes:

Blogger. I use Blogger because, until recently, that was the best option I could recommend to my students. Blogger is ad-free and it is javascript-friendly, while the free hosted version of WordPress has ads and does not like javascripts. Now my students can use DoOO ( and set up their own WordPress but I've had students blogging for years... and I couldn't wait for DoOO. Most of my students use Blogger too, although some use WordPress, which is great. I provide detailed tech support for Blogger since I know it best.

HTTPS. Blogger now has https. By default, it displays http, but you can use https too. That's what you need to display the blog in Canvas. The sidebar content also needs to be https to display in Canvas.

Blogger templates. All the standard templates (NOT the "dynamic view" template) would work; I use the "Simple" template, and I set the blog width at 840 pixels and the sidebar width at 260 pixels. I put the page font at 15 pixels Arial with post titles at 18 pixels. I suppress the top navigation bar (the one with the search box).

Open links in new tabs. Because the mixed-content rules in Canvas mean http links will fail unless they open in a new tab, I edited my template's HTML to open all links in new tabs automatically. To do that, just add this big of code right after the <head> tag so it looks like this:
<base target='_blank'/>

Canvas "Daily Announcements" page. I start by creating a Page in the course wiki; I called it "Daily Announcements." Then I made that the "front page" of the wiki:
I then chose that as the "Home Page" for my Canvas course, so this also shows the same page:
But, as noted above, the "Home Page" for the course shows the right sidebar but the "front page" of the wiki does not; that's just an automatic Canvas thing beyond your control.

Blogger in wiki page. I use a simple iframe to put the Blogger into the wiki, making sure I use the https address of the blog; I set the width at 100%, and I have a height of 1000 (my blog posts are usually longer than that, so there's a scroll bar in the frame).
<p><iframe src="" width="100%" height="1000"></iframe></p>

Then I do something tricky. Remember how the course homepage has the right sidebar and the course wiki front page does not? Well, for many reasons, I prefer to have a homepage without the right sidebar. So here's what I do:

Create Homepage link in left sidebar. I use the Redirect Tool to create a "Homepage" link which I display in the left sidebar. That link goes to the wiki front page address (which means the right-hand sidebar does not appear):

Remove "Home" from left sidebar. After I create my Homepage link in the sidebar, I then remove the Canvas Home link from the left sidebar, putting the Homepage link I made with the Redirect tool up at the top.

Fix up "Daily Announcements" page. Above the embedded blog, I add some text to help people navigation: I want students to realize they can turn the right sidebar on or off, and I also want to tell them how to suppress the left sidebar. Most of all, I just wish they would open the announcements in a new tab entirely!

* Hide or show the right menu.
To do that I use these addresses to make the links:

* Reminder about how to suppress the left menu.

* A link to open the Announcements in a new tab. There's no reason for them to stay in Canvas, so I feature this link to open the announcements blog in its own tab. Plus, if anything goes wrong with the iframe or some other accessibility problem, people can use this link to see the announcements where they really live: on the Internet.

Custom URLs. When I created my custom URLs for my courses at my domain, and, I used the wiki page as the redirect address, so you don't see the right sidebar. Since I use those short URLs to share courses publicly with people who are not students in the courses, that makes sense: the right sidebar is basically useless for anyone who is not logged in.

I think those are all my tricks, but if I forgot something, please ask! I really am a big fan of this approach; it is what I always did in D2L, and I am glad I found a way to make it work in Canvas too!

Spreadsheet versus the LMS

When is a spreadsheet not a spreadsheet? When it is inside an LMS...

The whirlwind of the semester starting hasn't left much time for blogging and documenting, but there are so many things I want to write up, esp. because of the switch to Canvas this semester. I'll just have to tackle things one at a time, and since I was just now making good use of my Class Roster spreadsheet (Google Sheet), I thought I would say a few words about why the Canvas Gradebook faux spreadsheet does not work for me, and why I use my own spreadsheet instead., just as I did with D2L. Here's a screenshot of part of the sheet; details below:

* Sort by classes. Yes, I teach two "separate" classes, but my overall workflow is what I need to manage, and I need to see both classes at once. I do that in the spreadsheet; I can sort by Myth-Folklore or Indian Epics as needed, or mix them, and I color code those rows because, at least right now, I am still learning which student is in which class. Sometimes I want to organize my day based on both classes combined, sometimes I want to do one class at a time; the spreadsheet lets me sort either way.

* Sort by weeks. Students are on their own schedule, some having already finished Week 2, and some even working on Week 4 project assignments. I need to be able to see that at a glance. The Canvas Gradebook is a nightmare; I cannot do anything to configure the columns in there (I can't even select which columns do display; I can only smush them to make them thin: argh). This way, I can quickly sort to see who is ahead, who is behind, and just what I can expect to come in from any student. (I need to know that to manage my own daily quota of work.)

* Sort by assignment stages. I often send reminders to students based on what assignment they have due in the current week. The students are all on individualized schedules that diverge more and more as the weeks go by (based on type of project, revisions, etc.). So, I need to be able to sort both by week and by assignment.

* Access email. See previous note. I send reminders based on conditions that Canvas cannot understand (it apparently can only message students based on a single assignment condition...?). This way I can sort and filter as needed on multiple conditions, and then grab the resulting email list, either for both classes together or separately.

* Sort by "the stack."There is where I can quickly see what project assignments are waiting for my comments; I can also quickly alphabetize that list to put in the public Google Doc where I let my students know that I have received their project, and it also alerts them when they should have gotten an email back from me with detailed comments.

* See preferred name. Yes, Canvas lets students display their preferred name in some areas of the course... but not in the grading area. I want to be able to see preferred name, first name, and last name, and be able to sort on them as needed.

* Blog address. I need immediate access to my students' blogs; this gives me a clickable link for each blog.

* Color coding. Yes, it's just me, but I really rely on color coding, including conditional color coding that is so easy in a Google Sheet. Canvas marks late submissions red, but it doesn't let me control that or any of the other kinds of conditional displays I would like to see (like flagging students who are not currently passing the class, which is an important factor in whether or not I send email reminders).

Okay, back to work - there is lots more I could say about my workload management and communication with students. Suffice to say that even though lots of data in Canvas could help me to do that, the faux spreadsheet that is the Gradebook doesn't let me function efficiently. I need a real spreadsheet to do my job. :-)