Sunday, May 31, 2015

Randomization Wonderland

In a typical semester, I teach one class with 30-40 students and another class with 50-60 students. Those are not "big" classes I guess (at my school, you can get a grant to help with course development for "big" classes... which means enrollments of 600 or more!), but they are big enough that the sheer level of activity in any given week can be very daunting: stories and other blog posts, comments, projects ... it's a LOT of stuff.

My goal as the instructor is to keep an eye on everything (thank you, Inoreader and the magic of RSS!), but that is not a reasonable goal for students. Instead, students need to find their own individual pathways as they connect with others, and my goal is to help them find those pathways, either by means of making their own choices OR by providing them with random choices that can lead them in totally new directions, meeting new students in class, encountering new stories, etc. Choice is great, but random is also good, a fun and effective way to just take the plunge and get connected!

At the bottom of this post, I've provided a list of links to the different kinds of randomizers that I now use in my classes. But first, some history:

Let the Fates Decide

I first discovered the power of random way back when I built the Myth-Folklore class online back in 2002. Each week, there was a choice of two reading options (now, with the UnTextbook, there are so many more choices; more on that below), and so I created a simple little javascript called "Let the Fates decide!" for students who couldn't decide on their own, either because they really liked both options or because they had never heard of either option and thus had no grounds on which to choose.

When I made the javascript (it was the first javascript I ever wrote by hand!), I was scrupulously fair, making sure each choice had a 50-50 chance of appearing. Much to my surprise, students were really fond of the Fates, and they would sometimes writing in their blogs about how "The Fates told me to choose King Arthur three times in a row!" and so on. Those old pages are still up; here's an example: Medieval Heroes.


I was only half-joking about the Fates: ancient divination was a topic that had fascinated me in graduate school, and many of the ancient practices were based on what we would call randomness, like the casting of lots (sortilege, cleromancy). There were even some wonderful book-based forms of divination — bibliomancy — such as the sortes Virgilianae: open the book by the poet Vergil (at random), choose a passage (at random), and it will provide the answer to your question, whatever it might be. The English word "sorcery" comes from this Latin word for the casting of lots, sortes. Of course, in modern times we have the Magic 8-Ball

Enter Randy Hoyt and RotateContent.com

I will not dwell too long on the weird coincidence that the builder of the randomizer I use most, RotateContent.com, is himself named Randy (cue Theramin music...). Randy Hoyt was a student in the very first class I taught at OU back in 1999 and we have been friends ever since; he is now a genius computer programmer and also a maker of board games (see his latest Kickstarter for Foxtrot games: Lanterns). Randy went on to take Myth-Folklore online back in the very early days, and also Indian Epics in early days; a lovely poem he wrote for that class is still online here: Song of Kaikeyi. 

So, probably around 2003 or so (honestly, I don't even remember when exactly), I hired Randy to build me a randomizer. It actually started out as a date-based content tool, but it was Randy who realized that the same table-based content could be deployed by date OR at random, and so the free online tool, RotateContent.com, was born. Randy has been so kind and generous to host the script on his server all this time, long long long after I paid him for the project. All you need to do is put content in an HTML table and, presto, RotateContent will give it back to you as a randomizing javascript or as a date-based javascript. 

To show how that works, here's the latest script I wrote with RotateContent: it's a randomizer for the Amar Chitra Katha comic books that will be part of Indian Epics starting next year! 



I hope to add lots more comic books in June and July; right now there are about a dozen comic books, which makes for an okay randomized experience. But by the time I get 50 or 60 comic books by the end of the summer, it will be really fun.

Random: FUN and EFFECTIVE

As the "Fates" example above shows, randomness has a quality of fun to it, even mystical fun, which students can really appreciate. In a world where so much of school is scripted and predictable, sometimes to the point of being mind-numbing, the UN-predictability of randomness can provide some much needed fun.

At the same that it is fun, randomness is also a very effective tool for distributing attention and effort. So, for example, by putting the students in random commenting groups each week, I can help make sure that over time they all get about the same number of comments on their blog that originate from this assignment (other commenting assignments are 100% student-choice based, and that's good too; some blogs do become quite popular compared to others). In any given week, some students get more comments from this assignment and some students get fewer (because student participation is itself random too), but over time the power of random evens it all out.

So too with my participation in the form of blog comments: I spend a few minutes each day commenting on student blog posts at random — literally at random, using a randomizer to highlight blogs for me to comment on. Over time, that helps make sure I am involved in all the blogs without having to use tedious checklists. I don't have a lot of time to spend commenting on blogs, and the randomizer helps me make sure that the time is indeed well spent, attending to all the students but at random over time.

Random content presentation is also important in terms of distributing the students' attention over all the content equally, at least in terms of the first contact. Not all content will interest them to the same degree, obviously, but I want them to be exposed to all the content equally. So, when I have lots of content, like hundreds of past student projects, just putting them in a list is not a good idea: the items at the top of the list will inevitably get the most attention, and for no good reason. A list does not randomize attention, and I want the students' attention to be randomized; then, when one of the random items really gets their attention, they can click to learn more.

Example of Randomizing and Randomizers

So, I hope the preceding paragraphs have managed to convey how powerful randomization can be, both as a way to engage students and also for distributing effort and attention. For the nitty-gritty, here are some of the ways I use randomization and randomizers in my classes. I use RotateContent to build the randomizing widgets that I insert into blog posts and web pages, while other examples are casual randomization done on the fly using GoogleDocs spreadsheets.

~ ~ ~

Crystal Ball. The Crystal Ball is the updated version of "Let the Fates decide!" for the UnTextbook which presents the students with many choices each week. That links shows all the crystal balls, but the students only see one ball at a time as I link to the individual posts week by week as the students progress through the semester. For example, in the Myth-Folklore class Week 4 has India and Middle Eastern reading options.

Random Storybooks. It is really important to expose the students to as many past student Storybook projects as possible out of the hundreds in the archive, so I use random Storybook widgets on the homepage of the online course syllabus, at the eStorybook support site, as part of the Favorite Storybooks exploration assignment during the Orientation week of class, in the sidebar of the class announcements blog, etc.

Other random content widgets. I have other randomizing content widgets as well such as the random Indian Epics comic book widget shown above, a random Indian Epics image widget which you can see in the sidebar of the Indian Epics image blog, random Myth images in the sidebar of this words and writing blog, etc.

Random weekly groups. Each week I use a GoogleDocs Spreadsheet to sort the students into random groups each week. The reason I put them into groups, as opposed to just having students visit the blogs and projects totally at random, is to promote a sense of back-and-forth dialogue (you are commenting on the work of the same people who are commenting on your work that week). Here's a screenshot of how that looks: the students find their name in the alphabetical list, which lets them quickly find their group for that week, new random groups each week.


Random participation by me. While I read every page of all the projects, my participation in the students' other work is done at random. I have links to their blogs in a spreadsheet, and I randomize the listing of the blogs when I spend some time each day commenting. Once I get to the blog, I choose what to comment on there, but the choice of blogs is random.

~ ~ ~

Randomizing in a spreadsheet is easy (I just use the RAND function in a cell and sort on that column; details here), but RotateContent can require some advance planning, especially if you are using images. Here's a write-up I did about creating a RotateContent widget: Using RotateContent to Make Widgets. I wrote this up when my Latin LOLCats won a contest for creative widgets sponsored by D2L. There's no love lost between me and D2L, but I do love widgets! :-)



And . . . .  drum-roll please . . . here is my first-ever screencast! In preparation for DML2015 and our panel "The Open Show" I made a little video: Laura Loves Randomizers. It gives a quick rundown of both the content randomizers built with RotateContent and also the blog randomizers that I run in a spreadsheet. Please be kind: I never made a screencast before. It was fun! :-)

Some Tips for Making Good Use of Inoreader

I use Inoreader to manage my class blog network, and I also use it for my own personal learning network, so that means I spend a lot of time at Inoreader! In a separate post I wrote something about using Inoreader's syndication features to create class blog hub pages, and I've also written up a post about using Inoreader to create a blog network for #Rhizo15. In this post I just want to make some general observations about how I use Inoreader, both for my classes and also for keeping up with education blogs and news.

But first . . .

Some Background. I'm one of those people who was really sad about the demise of Google Reader (I used the old Reader bundles and blogroll features extensively), and I never really liked Feedly very much because it had no syndication features, just item-by-item sharing. With Inoreader, though, I have pretty much everything I could wish for when it comes to a feed reader; it's like Google Reader and Gmail and Yahoo Pipes combined. The basic (free) version of Inoreader offers RSS outgoing syndication for folders and tags, so if you have any interest at all in opening up your aggregator space to share with others, Inoreader can do that for you. (Feedly keep promising collection sharing, but even though I have a lifetime pro account and applied for "early access," I still don't have that collection-sharing feature, which I might in fact use for some additional syndication given that Feedly has such a huge user base.)

I should also note there are LOTS of features of Inoreader that I don't use (so I have not mentioned them below), and some features I have not even explored (yet). Most of the features I use are part of the free service, although I use a few premium features also; here are more details about Inoreader free and paid plans. They are good at posting news inside the Inoreader dashboard and at the Inoreader blog, and they are also active at Twitter and Google+. In my experience, they are very responsive to bug reports and feature requests, so don't be shy to contact them with questions and suggestions!


And now, here are . . .

MY INOREADER TIPS AND TRICKS

1. FOLDERS AND TAGS. In a lot of ways folders and tags are alike, but folders really are important because you can do things with folders you cannot do with tags. You can use folders to manage rules, bundles, OPML sharing, and dashboard views; you cannot use tags to do those things (although it would be nice if you could!). So, I make sure to put every feed in at least one folder, and I often have feeds in multiple folders, which can be very handy (so I have Education blogs, and also Must-Read Education blogs as separate folders).

2. USING TAGS. Tags show up with folders in the navigation pane, and they are incredibly helpful for me in managing my reading habits. I also use tags for workflow, adding and removing tags as I process something. With student blog posts, for example, I use tags to tag a problem the student needs to fix (like when they try to display Pixabay images by remote linking, etc. etc.), and then I remove the tag when the student has fixed the problem. I also use tags for sharing specific types of assignments with students, like the stream of Storytelling posts as a page at the course hub.

3. TAGS AND RULES. Rules (a premium feature) allow you to add tags automatically to incoming posts based on various parameters of your own choosing (folders, keywords, etc.); it's very much like creating rules for incoming email (see below for more info). You can add tags manually, of course, but having automatic rules for tag assignment has been a big help for me in managing content as it comes in, syndication to send content out (tag-based RSS feeds), along with overall reading habits and workflow.

4. READ/UNREAD. I rely very heavily on the read/unread signaling in the navigation pane to let me know what I really need to read. In order to make that work, I use rules to mark most of the incoming non-school content as already read, leaving "unread" only those blogs and news sources that I am determined to keep up with no matter how busy school gets. You can set Inoreader to mark as "read" the items you scroll through in expanded view (or whatever views you want to use for scolling/reading), so that is how I manage to at least skim all the incoming student blog posts, tagging things as needed to go back and read later, leave comments, etc.

5. RULES. I use rules to separate out my students' blog posts into tag-based collections, with the tags automatically assigned based on keywords in the title (it just takes a little manual jiggling from me when a student makes a typo, leaves out the keyword, etc., but 99% of the time the automatic rule is all I need). I also use rules to mark most incoming new items from my personal learning network as "read" (see note above) since the read/unread distinction is how I manage my time spent at Inoreader. Rules are a premium feature and they are the reason why I opted to go for the "professional" service (unlimited rules). You can also use rules for other behaviors besides tagging and marking as read/unread as you can see in this screenshot of the rule creation interface:



6. DASHBOARDS. The customizable dashboard is a premium feature, and I find it very handy. You can even have multiple dashboards, although the dashboard is so easy to configure that I usually just reconfigure my dashboard on the fly rather than building separate dashboards. If you do have premium Inoreader, I'd recommend playing around with the dashboard options because they can indeed be useful, although I mostly rely on the navigation pane to do my reading/browsing.

7. STAR. I really like the starred feature which is automatically a "special folder" in Inordeader. I use that to run a "recently starred" widget in my personal blog for example (there is RSS for the star folder, and so I popped that into the RSS widget in Blogger).

8. GOOGLE+ and TWITTER. In addition to standard RSS, Inoreader supports subscriptions to Google+ accounts and Twitter accounts (it's a premium feature). This is very useful for me in creating the "omnifeed" which reflects posts from all my blogs, activity from my two Twitter accounts, and also Google+ posts. You can see the omnifeed at MythFolklore.net.

9. HTML CLIPPINGS TO PDF. My students' storytelling posts lend themselves to more leisurely reading offline. To manage that, I use the HTML clippings to display a gigantic webpage of posts (you can put hundreds of posts on a clippings page if you want), and then print-to-PDF, which gives me a nice PDF file of stories I can mark up in a PDF reader on my iPad. For example, here are 100 of the latest stories from my Spring 2015 Indian Epics class in a webpage that I can print to PDF (220 pages! wow!).

10. PREFERENCES. Explore the preferences. The options you have to configure the Inoreader environment are excellent IMO. I appreciate the responsive color coding (like "new since last visit" in addition to the standard unread), the ability to change font size (I need all the help I can get!), the keyboard shortcuts, and on and on.



And for the DML2015 preparation plan, I did a screencast: Laura Loves RSS.

Saturday, May 30, 2015

Course Hub Pages with Inoreader

In preparation for DML2015 in June (and June is soon!), I did a massive redesign and clean-up of some course hub pages. Admitted, these course hub pages are really not something I use or that my students use (which is why I had neglected the pages; the students and I both have other ways of intersecting with the course — more on that later), but it is definitely something I need in order to try to give visitors a sense of how the courses work, and I am now thinking it might also be useful for the students at the very beginning of the semester for a kind of overview also!

You can see the results here:


The idea is that these pages provide you with a basic overview of the courses. The main course hub page for each course shows the blog post feed in the left panel and a list of useful links in the right panel:


In addition to the all-posts feed you see there, I created some additional pages showing the blog comments feed, along with some specific types of posts for the classes: Reading Diary posts, Storytelling posts, along with their "Famous Last Words" posts (a free-form option for blogging about whatever). There are actually lots of other types of blog posts that the students are writing, but those are the main categories. During the semester, the feeds are full of new content every day, but now that the semester is over, it all feels very frozen in time. I'll be excited when the new semester starts up again in the fall, and the feeds come back to life!

Advantages and Disadvantages of an Aggregated Hub

There is no one-size-fits-all solution to the challenge of how you "re-present" a network of independent blogs. By using an aggregator, you can get all the latest posts and their content, which is great, but you lose the distinctive personality of each blog. For example, in the screenshot above, here is that that student's blog post looks like in its natural setting:


To make those person-to-person connections, the students need to engage with the blogs directly (more on that later), rather than accessing the course through an aggregator: the blogs provide personal spaces that allow them to interact with one another as individuals, above and beyond the content of a specific post or comment. When you are at someone's blog, you can read their introduction post, look at their other writing, see what they have put in the blog sidebar, etc. etc. You are "in their world" when you visit their blog; the aggregator is just a gateway to get you to where you really need to go, and the aggregator is also essential for me to interact with the class overall (more on that later).

To see just how varied the blogs are, you can click on any post title in the post display area and go straight to that person's blog. They are all so different! You can also visit the blog list for each class and click to access the blogs that way.

Inoreader HTML Clippings

As you can see, the course hub pages are insanely simple: just a a feed display panel on the left, and some links on the right. I built the feed display panels using the magic of Inoreader's "HTML clippings" view. The customizable clippings view that I use is a premium feature (part of the $30/year package), but you can get the same effect by using the standard clipping presentation and adjusting your webpage design accordingly.

To start with, as students join the class and make a blog, I use Inoreader to subscribe to their blog post feed and also to their blog comments feed. I put the post feeds and comment feeds into folders in Inoreader, and I also configure Inoreader to automatically assign tags to incoming posts based on keywords. The rules are also a premium feature, but it would also be possible to do this by manually assigning the tags and/or subscribing to the label-specific RSS feeds for the students' blog and then putting those label-based feeds in a folder.

So, after you have your folders and tags chugging along, you can then syndicate that content publicly via RSS, HTML Clippings, or an OPML file. I used the HTML Clippings option to create the different pages in the course hub, showing either all the posts for a course (those are blogs in a folder) or all the posts for a specific course assignment. Here's how you syndicate a specific folder or tag:

First, right-mouse click on a folder or tag in the sidebar, and then choose "View Folder Information" (or "View Tag Information").


You will then see a screen that allows you to turn sharing on or off, and also to access the RSS, HTML, or OPML data for that folder (or tag):
If you choose the HTML Clip option, you will then see the various options you can use to configure the display, along with an http link that you can use or an iframe option you can use to insert the display inside another webpage, which is what I did for my course hub pages that are linked above:

That's all there is to it! There are a lot of things I like about Inoreader, and this easy way of sharing curated content is one of my favorites. For another application of this same approach, see my homepage at MythFolklore.net. The feed on that page is what I call my "omnifeed," since it combines content from my blogs, plus my two Twitter accounts, and also my Google+ posts, thanks to Inoreader's great Twitter and Google+ integration. Whoo-hoo! :-)

Screencast!

Yep, I made a screencast; it is for our DML2015 presentation support site. Maybe it will be useful: Laura Loves RSS.