Tag: Plugins

IU Online’s Teaching Online Series at #InstCon

In the last session of #InstCon, I attended a talk on Indiana University’s Teaching Online Series. The session provided an overview of the development of IU’s Canvas based professional development for online teaching.

In assessing the faculty needs, IU’s E-Learning Design and Services surveyed instructors and admins at the seven IU campuses to evaluate their training programs for teaching online and best practices. They then developed a Canvas based PD to train instructors on using backward design for their online courses.

The modules within the IU Canvas PD can stand-alone and can be pulled through Commons into other courses. There are modules to address accessibility, LTI integration, asynchronous and synchronous online courses, etc.

In the second half of the presentation, Matthew turned to some specific LTIs that were used in the Teaching Online Series and are used at IU. He ceded the floor to reps from VoiceThread and Canvas Network (Canvas’ MOOC platform), who gave pitches for their apps.

It was interesting to review the developmental process for IU’s Teaching Online Series, but the session was less instructional and more of a sales-pitch. This was mitigated though by the fact that IU has posted their materials in the Canvas Commons (‘IU Teaching Online Series, Commons Version’) and Canvas Network is about to role out their own portal for PD.

The talk was useful in familiarizing me with a few resources, and, paired with a presentation I saw earlier in the day on Canvas as a Portal for PD, I will have a lot of material to review as we develop our own Canvas PD resources at OU.

Using a Canvas Course as a Portal for PD #InstCon

This morning, I attended a presentation called ‘Pack Light for Performance’ by Nichole Lemmon and Bruce Douglas, both from Springfield Public Schools (SPS), MO.

The tl:dr summary of the talk offered by Nichole was ‘Needs vs Solutions.’ Rather than focusing on big, long range solutions, she emphasized focusing on the needs of the school district and instructors and finding light weight solutions that can be changed or updated whenever needed.

The presentation was targeted towards K-12 people, so some of the solutions developed in the SPS system aren’t applicable for my school, the University of Oklahoma. However, a couple of their ideas are universally applicable.

The first was their focus on student voice. In choosing an LMS, Springfield Public Schools sought student input. They had the students attend the LMS demos and provide feedback. The inability of many of the LMS providers to connect with their students and demonstrate the advantages of their systems ruled them out. Canvas’s sandbox platforms on the other hand allowed students to get into the system and evaluate it.

At OU, Mark Morvant led a ton of town halls and sought as much input as possible from students as we evaluated LMSs. Student sign-off was a big factor for us in deciding to make the move from D2L to Canvas.

The second idea that really struck a cord for me was the way that Springfield Schools uses Canvas to organize their PD. They have constructed a portal course with all of their PD courses nested inside of it. They also integrated videos within their own instructors to demonstrate various PD principles. Nichole noted that paperless PD is both effective and cost efficient in that simply moving away from reams of printed material for PD saves a good bit of money.

I really like the idea of using a single course as a portal for PD. One of the hurdles that I see in Canvas is a proliferation of courses that will make discovery difficult. The idea of a big course hub for PD may provide a single, course that lives in an instructors course portfolio from which we can push notifications about new initiatives and new PD. This might also allow for a sufficient user base of instructors and ID folks for an active, centralized discussion board.

A third idea that I need to look into more is the use of mobile hot spots. SPS uses Kajeet hot spots, both for instructors and for any student who doesn’t have internet access at home.

My first plugin

*The opensource code for the BadgeOS_Slack integration plugin can be found at the OUDigilearn GitHub site: https://github.com/oudiglearn/BadgeOS_Slack-Integration.

InSlack message board window my office (the University of Oklahoma’s Center for Teaching Excellence), we use Slack for internal communication.  Slack is a wonderful group messaging system.  I can message a single co-worker about a project that we’re working on or taunt them after my Red Devils beat their Gooners.  I can also post messages to office chat boards that anyone in the office can sign up for.  Our #food_n_drink board regularly has updates on people’s lunch plans, and the #office_decor board was useful when we moved into our new space.  There are also private groups where you can talk to your team, a sub group, or an interest group (e.g. our ball_is_life board that is devoted solely to basketball and soccer news).  Slack combines the utility of person-to-person text messaging with group texting and thematic discussion boards.

One of my pet projects here has been to develop WordPress BadgeOS systems. I have been using BadgeOS to design a lightweight Learning Management System to incentivize skill based learning and combine those skills into lessons, units, and courses.  As a test of the system, I also built a badging system for our office. The idea is that you get lightweight, relatively silly badges for doing the simple things that improve an office.  If you bring donuts for the office you earn a Sweetie Pie badge.  If you run an errand for someone to drop off a package or pick up a soda, you earn a Gopher badge.  The first person to the office each day gets the Early Bird Badge, and if you work late, you get the Night Owl badge.

None of the badges have intrinsic value, but they offer some small degree of recognition for doing your work or doing something that improves the office. The system allows my colleagues to nominate our office mates for badges and allows me as the moderator to award some badges directly (the winner of the office’s NCAA Tourney Bracket Challenge for example).  I was able to build out the system over the summer, and we are still tinkering with the exact names and descriptions of the badges.  The main restriction on the system though is that my coworkers already have work on so many websites and systems that adding another to the daily checklist doesn’t make sense.

My solution was to integrate my badge system with Slack. I wanted to push notifications of BadgeOS achievements so that winners were notified in the office’s primary messaging system.  Slack programmers along with a legion of open source coders on Github and the web generally have been adding Slack integrations to all sorts of other programs. There are several variations already in existence just for WordPress.  However, there was not an integration built for BadgeOS.  Trusting my 13 year old programming skills (I started college as a CS major learning java), I decided to build my own.

My refresher course on coding was fairly short.  The API tutorials on Codecademy and  Lynda (OU now offers all it’s students and faculty full access) got me up to speed on the basics of API interactions.  After reviewing the strong WordPress and BadgeOS API guides, I was ready for the key step – forking established code.

For the uninitiated, forking is the practice of replicating something and then adapting the copy to your specific needs. Before starting any coding project, check to see what others have already done and think seriously about forking a project to fit your needs rather than writing from scratch. Github is built around this concept serving as a repository to a huge variety of open source code that can be refined, extended, or forked.

I started off by forking the JP bbPress Slack Integration which pushes BuddyPress forum posts to Slack.  In this WordPress php plugin, Josh Pollock pushed new BuddyPress posts and replies from WordPress to Slack’s incoming Webhooks.  By encoding the BuddyPress posts in JSON text package, Josh could feed the posts into a Slack message board.  My fork replaced the JSON package from the original plugin with a package derived from BadgeOS variables.

Side by side comparison of php code

In the original JP bbPress Slack Integration, a new bbPress post would trigger an add on function that posted to Slack’s incoming Webhook via API feed.  In my fork, a BadgeOS achievement award triggers a similar add on function to Slack’s incoming Webhook.  By replacing the trigger action and a few of the variables in the JSON package, I quickly adapted Josh’s plugin to my needs.  Now, whenever my system awards someone a badge, it automatically sends that person’s first name, the badge title, and the link for the badge to Slack and displays a message in our #all_things_badge Slack board.

Slack message board window


On the small and immediate scale, my love of puzzle solving and my self-image as a digital researcher were sated. On a larger, more universal scale though, I proved (for myself at least) that someone with old, rusty programming skills and a vague mission could write useful code by forking already existing projects. In creating my first plugin, I found a useful, open source starting point and adapted it to the needs of my office and ultimately my students. Educational Technology does not have to be the domain of the large-scale, all-encompassing, professionally developed apps but can be incrementally built by teachers to fit our needs.

Powered by WordPress & Theme by Anders Norén