Month: February 2016 (Page 1 of 2)

Using Reclaim Hosting’s Server Status API in WordPress

I am extremely excited about a server status page that I just published for OU Create.

The page simply displays the current status, operational or otherwise, of the two Reclaim Hosting servers that run our OU Create service. The page itself is boring and purely information, but the code that powers it is exciting to me.

After a recent, short outage, Tim Owens at Reclaim Hosting and Tom Woodward at VCU entered a conversation about using RSS to post notifications of outages for each of the schools using Reclaim Hosting servers.

Drawing on this new Server Status API, Tom wrote a Google Script that would post a tweet on the ALTLab Twitter account whenever the servers were down. Tom’s code runs an HTTP GET request against the Reclaim API every five minutes. It then parses the response json file to check whether their server is ‘Operational.’ If it is, nothing happens. If it’s not, then the system generates a tweet.

Inspired by Tom’s work, I wanted to use the API to add server-status page to the OU Create account.  To do this, I added a plug-in called ‘Insert php’ to the WordPress account for OU Create that allows us to write php code directly into posts and pages and display the results. I then used Google and advice from our coding guru, Kerry Severin, to write this short php code.

The code first runs WordPress’s version of the HTTP GET operation to pull in the Reclaim Hosting server status information as a string – an unstructured list of characters.  Then it uses a php function to parse those characters into an array of json attributes.  Next, it sets variables equal to relevant pairs within that array to read the status of the two OU servers.  The final If/then command prints the status of the servers with either a green check mark if they are operational or a red ‘X’ if they’re not (these images were modified from Wikimedia files and would need to be modified when adapting this code).

This code is shared on GitHub and should be readily adaptable for anyone else who wants to produce a similar WordPress page.  Simply change out the php header and closing tags as per the instructions in the ‘Insert php’ plugin.  Then change the number of your server and get rid of code for the second server. Don’t forget to change the urls for the image files (ours were open-sourced from Wikimedia).

Team Learning: A Halo 2 Clan Story

This post was written by guest blogger Keegan Long-Wheeler and cross-posted from his blog, Keeganslw.com. Keegan is the educational technologist at the Center for Teaching Excellence at the University of Oklahoma and my collaborator on GOBLIN.
Halo2

My first experiences of online multiplayer gaming were dominated byHalo 2. This Xbox title was the most popular game of its time in my social circles. In fact, every single one of my friends either owned or played this game at some point during high school. My favorite aspects of Halo 2 were the teams and communities that engaged and encouraged me during my teenage years. In particular, team learning was a significant part of this communal experience.

The first clan I joined, Domini Corona, was the community that engaged me in team learning while playing Halo 2. Coming together as a well-oiled teamwork machine did not spontaneously occur. Instead, all of us invested a lot of time playing against each other and exploring the various maps and weapons in depth to understand the nuances of all of these game pieces. Part of this learning process involved establishing the roles for each team member. For example, there were players who would rush to acquire the sniper rifle while players that excelled at vehicular warfare would seize the tanks and warthogs. Additionally, our clan leader emphasized team communication and continuously evaluated situations and issued orders to each member. (Fun fact! Our clan leader was one of the final OG Halo 2 players before the servers were shutdown.) As for my role, it varied from game to game, but I remember supporting my team by eliminating enemy vehicles and medium range targets with the battle rifle!

Although, we played many game styles, Major Clan matches were the most memorable. This game type was usually a series of 8 vs. 8 player objective games such as capture the flag. These games were the ones that demanded the greatest level of team learning and coordination. At the beginning of our Clan career, I recall trying to figure out how to play Halo 2 with 16 players in a match while also deciphering my role as a member of Domini Corona. Gradually, I learned my peers’ strengths, the layouts of each map, and how to synchronize attacks to efficiently defeat enemies. Eventually, this team learning contributed to us being ranked in the top 100 teams for Major Clan matches in the world for a brief period of time! Without going through rigorous exercises of team learning, we would never have achieved the level of team work we ultimately reached.

I’ll never forget the fun I had with Halo 2 players from all over the world. When I think about how much learning was involved during this time, I am humbled by the energy everyone devoted to come together and be among the best teams in the world.

As I write a portion of our story, I am reminded how powerful games are as agents of team learning. They can facilitate or simulate social interactions and learning to empower individuals to accomplish more in groups than they could alone. Additionally, many games excel at intrinsically motivating players to develop communication, coordination, and strategy skills. And, as with other forms of knowledge, becoming a literate user of a game often requires understanding complex systems and their relations in order to solve problems, overcome obstacles, and succeed. As an educator, comprehending this strength of games is valuable when thinking about course design and ways to engage students.

Scaffolding: From Candy Land to Calculus

Roel Wijnants' picture of a wooden playground with scaffolding

I’m currently teaching my 4-year old daughter, Evie, to play board games. Before we get to chess or Scrabble or even Sorry, we’re starting off with some really simple games that can demonstrate for her how games work.

Candy Land is mind-numbingly simple and a great starting point for her. Players race down a string of colored squares to see who can get to King Candy fastest. Each turn you draw a card (or in some editions pin a wheel) to see what color square you can advance to. Occasionally, you get a card that allows you to move to the second square whatever color. That’s it. That’s the whole game mechanic. There are winners and losers and graciously accepting victory and defeat. Evie loves it: “There are lots of castles, but I don’t like that guy that gets you stuck.”

Box and board for the Candy Land game

Having established these basic game mechanics, we’ve advanced on to Chutes and Ladders. Players race along a linear path, similar to the one in Candy Land, but instead of advancing based on colors, you use a die or numerical spinner. For a four year old, counting presents the dual challenge of accuracy and honesty. The game is further complicated by the ladders, which accelerate your progress and the chutes that reverse it. The first couple of times we played we ignored the chutes, only integrating them once we were somewhat confidant Evie wouldn’t burst into tears when faced with adversity.

Proficiency with the game mechanics of racing, dice rolling, and random jumps and falls will allow Evie entrance into a world of more interesting games from Sorry to Monopoly.

Games built for adults also have use demonstration and complication of game mechanics. The decidedly adult Assassin’s Creed video games tell a complex story of power, politics, corruption, and betrayal through a game mechanic of repeated complex assassination simulations. The game starts out literally teaching the gamer to walk and then run (and then punch, stab, and shoot) within the game world. In the current iteration of the game, “Syndicate”, the first two missions function as a tutorial teaching the game mechanics in a region completely separated from the rest of the game world (1860s London). As the game unfolds and the gamer develops their skill with the various game mechanics, new and increasingly complex missions simultaneously train and challenge the player.

Game cover art for Assassin's Creed Syndicate. A hooded assassin sits in a chair while surrounded by nefarious looking game characters.

Like many games, Assassin’s Creed employs a leveling model. When you start the game you are a level one character. As you play, you move up in level unlocking new game mechanics along the way. The foes that you face in the game also progress from level one to level ten. Rather than frustrating the player with either impossibly hard or boringly easy foes, the game creates a banded range of difficulty in which each challenge can be slightly easier or harder. As you gain proficiency in the game mechanics, you are asked to employ appropriate sills in a timely way. The game thus increases in difficulty but always within the band of possibility created by the leveling system. The graph of difficulty over time would look approximately like this. The increasing difficulty and variation keeps the player challenged and engaged but also allows her to succeed enough to enjoy the experience. This difficulty curve is a ubiquitous concept of game design. Like modeling/scaffolding, the difficulty curve encourages gamers to learn new game mechanics and then challenges them to hone their skills, combine them, and apply them with discretion to increasingly complex challenges.

Keegan Long-Wheeler and I are leading a faculty learning community, goblin.education, demonstrating the applicability of gaming concepts to higher education. Scaffolding, critical synthesis, and application of skills have obvious parallels for education in any field. Whether we’re teaching calculus, brush techniques in the visual arts, or research methods in the humanities, we use this same basic approach. The next step for instructors is to apply the concept to course design more broadly. How can we scaffold skills throughout our courses? How can we then allow students to experiment and play with those skills within a banded curve of difficulty that allows for failure to encourage experimentation, synthesis, and critical application?

Page 1 of 2

Powered by WordPress & Theme by Anders Norén

css.php