Showing posts with label RunRev. Show all posts
Showing posts with label RunRev. Show all posts

Friday, July 15, 2011

Floating Cities & K12 Learning - Instructional Game Theory Model

Imaging using a tool to create instruction that incorporates both synchronous and asynchronous student participation, requires students to work together, does not limit students by age, grade level or location, has very few rules requiring students to create and learn the rules as they progress, incorporates skills students will use in “work” world, promotes creativity, writing, questioning, fact gathering, uses intrinsic and extrinsic rewards, provides ample feedback (from teacher, “peers,” and self), addresses content standards, incorporates the students’ physical environment, provides a model for ethical and responsible engagement, social networking skills, multiple solutions, “highly” engaging, game play, writing for multiple purposes, digital and physical components, and the tool could be reused over and over again for different instructional goals.

Imagine that this tool could be used to teach a specific concept in a particular grade, used to teach an entire class, or even used as a tool to develop an entire school.

What might that tool look like? It may sound like I’m describing the “Holy Grail” of instructional tools. I don’t think I have discovered that particular tool, but I do think I have an idea of one that seems to point in a direction that leads to more possibilities in the “Holy Grail” tool direction.





A few weeks ago I caught wind of a site called The Floating City. It was created by Thomas Dolby, the musician - “She Blinded Me With Science” fame, and a small crew of creative individuals not numbering probably more then ten, from what I have read. The site is named after his next album, The Floating City and takes place on a fictitious world, in an era which seems to be around the time of the Second World War and loosely imaged as what the planet may have looked like if things turned out a little differently. To get a visual, think of the Kevin Costner movie, Waterworld, but taking place during the 40s with a strong SteamPunk theme. The site is designed as a multi-user game, with teams of players searching for clues as to the reason for the (fictitious) Floating City. Along the way, players of the game read the Gazette, the only remaining news paper, gather clues floating in the water, trade objects (named after some of the lyrics in a Dolby song) back and fourth to create complete sets which then can result in codes to download complete mp3s of the particular Dolby songs. Everything in the game from the objects, the Gazette, the names of locations on the world map, to the clues that are provided through game play, are provided to give players a chance at forming their ideas related to how the Floating City came about. Is there a correct answer? Will one be fleshed out? Either way, it’s a great strategy to promote creativity. If you’re interested, I highly suggest you take your browser over there and get yourself an account and check it out.

What I really enjoy about the Floating City site is how it was constructed and the learning model it promoted. As I mentioned earlier, the Floating City was constructed with a small, creative, team of developers. They took advantage of OpenSource and free tools, such as Google Maps API, and mashed up their entire game using a little of this tool, and a little of that tool, to eventually get to the environment that is the Floating City. Not having to develop a ton of code to create a discussion board, or a messaging system, or a graphic user interface, such as the game map, freed them up to develop the look, feel, and more importantly, the narrative (instruction) of the game. Looking at how they developed this got me thinking as to why couldn’t we do the same thing in our schools or classrooms. There really is no reason, aside from the prerequisite knowledge of basic installation requirements that some of these tools require, skills most of our school IT departments readily have, why could we not allow teachers to create instruction modeled on a similar tool? I think most teachers are very creative and would jump at the opportunity to create instruction that was more game like, promoted creative thinking, writing, sharing and collaborating while at the same time addressed standards, digital citizenship, and technology.

So this last week I decided to see what it would take to develop the “bones” of a similar model based on the Floating City. As a Director of Technology, I know a little about a lot of technology. I have a very liberal education as it comes to instructional technology. I’m not an expert C+ coder, or a PHP web site developer, or a database design guru. I do know a little though…just enough to be dangerous.

A multi-user (game) environment requires sharing of information between the players. In order to do this you need to store the player information. So right from the start, you need to use a network based database. My database of choice was mySQL. Looking at the other “instructional components” of the Floating City such as the discussion board and messaging system, these tools are also OpenSource (free) and work within the mySQL database. I looked at the Google Maps API, and in the short time I evaluated the API, everything made sense to me with the exception of the custom map tiles. With a little more time I probably would have figured it out, but when I went back and looked at the Floating City map, having a custom map this based on true latitude and longitude coordinates is probably not necessary. The Floating City map is used primarily to access the profile and inventories of other player and could have well been either a random representation of players on a image of a map or even player determined locations on an image of a map. So I scrapped the idea, at least for now, for using the Google Maps API for an interface component.

The Floating City is all web based and that makes it compatible with almost all devices and all operating systems. However, on the iPhone the layout is a bit cumbersome due to the layout just being reduced to fit the screen and requiring the user to pinch to zoom in on links. They probably could solve that with a custom App. I thought about doing my model just using php and MySQL. But that would also require time spent on developing CSS, php and lots of html code. It could be done, but I decided that I did not have the time. Plus, if this model is to be used over and over, I wanted a development tool that would provide me a little more flexibility. The tool that I chose was RunRev’s LiveCode. I should point out that LiveCode is not OpenSource. It is a commercial application with a variety of licensing options. However they do give a discount to educators. LiveCode stands on the shoulders of other rapid development tools such as Apple’s old HyperCard software. It allows for the development of applications very quickly and uses a scripting language that is very easy to understand. One difference between doing the development in LiveCode as opposed to doing it all in html/CSS/PHP is that in LiveCode you actually compile a standalone application. That being said, you can provide your users access to your LiveCode programs via the web and using a web plugin. The plugin can be installed by your users for free and then your application will play in the user’s web browser window, similar to how Adobe’s Flash works. The other benefit of using LiveCode is that they make tools to port your LiveCode application to MacOS X, Windows, Linux, Apple’s iOS, Google’s Android, and Windows Mobile. So with a little tweaking on the design layout, you can compile for mobile devices.

In about a week’s time, working on it when I had the time, I was able to create my own model. The model is just the bones, there is no narrative or design yet, but the logic is all in place. The model consists of the following components:
  • User Login and Authentication
  • Location of Player on Map
  • Ability of player to relocate themselves on map and save coordinates
  • Ability to click on other players map icon and get player profile and current inventory
  • Ability for player to review their profile and inventory
  • Ability for player to initiate a trade
  • Ability for player to accept or decline a trade
  • Ability to generate an automatic message when trade is initiated
  • Ability to send a reply to received message
  • Ability to delete messages
  • Ability to send a new message to different player
  • Ability to enter code or phrase to unlock mission
  • Ability to enter mission code to receive “badge” or recognition

Though many of the missions are hard coded, based on entering the correct data by the player, because the data is stored in a database, it does provide the teacher the ability to change things on the fly such as rewards, badges, and inventory. In addition, the missions can be as varied as the teacher’s imagination. They could be as simple as a code the player types in, a website that the students is directed to and research, an audio sample or video file, or even a QRCode. As long as it can provide some type of definitive code that a player can enter into the game and that the game can verify as correct, it can be used within the game.

The following is a screen cast of the LiveCode project:





The wheels are turning, and I have some ideas for narratives that may fit well within this model. Stay tuned for both student and adult examples!

Monday, May 17, 2010

Creating With Computers (Part VI) - The Student Reading Recorder Example

The fundamental design concept behind all of the Web 2.0 tools such as Twitter and Facebook are very similar to my simple Student Reading Recorder application. What you see on your computer screen when you are looking at Twitter or Facebook is the same thing that every single person on the planet sees, at least in respect to the layout of the elements on the screen. What is different is the content that fills in those little elements of space on your screen. The way Facebook and Twitter determines what to put in those little boxes within the layout is based on information that you generated and they store in their database. In Twitter for example, every person with an account that has selected me as someone to follow has an entry in the Twitter database that identifies my account as one that they want to follow. When I add a new tweet, that action initiates a query through the twitter database looking for all accounts that have marked my account as one that they are following. When the query locates my unique account information in somebody else's list of people they are following, it pulls my last tweet out of the database and puts it into the list of tweets of the for that individual. At least that's how I imagine it. I don't work for Twitter or Facebook, but my hunch is probably pretty close. My little reading application works the same way.


My database consists of four tables. The first table holds information about the teacher. The second table holds information about the students. The third table in the database holds information about the assessments and the last table holds information about the individual student assessment results.

The first screen of the student application pulls information from the database out of three of the tables. The start button initiates a call to the database that queries the database to retrieve the unique identification number for the specific teacher that the students types in to the "class" field. This identification number is then used to generate a drop down list of every student that has that teacher's unique identification number saved into their student record. When the student selects their name from the drop down list, a second call to the database is initiated and uses the student's unique identification number to retrieve the students current reading assessment activity. In addition, it uses the student's unique identification number to retrieve their avatar icon for the upper right of the screen. The avatar icons are titled with the student's unique identification number.

The remaining icons on the screen consists of two buttons. The red circle button begins a recording session. This recording session works with Apple's Quicktime technology and requires that the QuickTime player is installed on the student's workstation. The sound recording is actually saved to the local "recordings" folder on the student workstation. (This works in the same fashion for both the Macintosh platform and the MS Windows platform. The Linux platform does not have an Apple QuickTime player so it records audio a little different. I will describe the Linux version in a separate post.)

In order to provide the teacher with the ability to evaluate the student's reading recording from any networked computer, the green triangle button, which is used by the student to navigate between the screens, also uploads a copy of the student recording to the remote server via an FTP process.

A copy of this application is linked at the bottom of this post. One important fact, this tool has not been designed for commercial release. This is an in house tool designed for a specific goal and in a specific environment. The environment that this application is running is very robust and latency issues at home over a DSL speed connection are not experienced in the classroom.

The remaining student screens provide students with additional focus on thinking about their reading using the recording that they created in screen one. This second screen prompts the student to listen to their recording and count the number of words that they read. They can strike the space bar on the keyboard to help them count the number of words that they read aloud during the recording.



The third screen simply has them rank how well they felt they read the paragraph and allows them to drag a marker on a line to identify their rating.







The fourth screen allows the student to listen to the recording again and identify one word that they thought was particularly difficult to read aloud.







The fifth screen provides a ranking which is actually just a number that increments by five each time they do an recording activity. The screen is particularly vague as I am interested in how the students that use this tool would describe what this number represents. Obviously the more times they do an activity the more obvious it will be that the number increases.


Remember, even thought this application is functional, it primarily serves as an example of what can be done with these types of rapid application development tools. Revolution is a great tool development tool and seeing how they provide a free version and educational pricing on more complete versions there is only a small investment in time to get started.

Download Examples
Examples of the Macintosh and Windows Student Applications Available Here

In part VII I will share the teacher management components of this example application and show off some of the other features of Revolution that helps make developing tools with this product much easier than traditional programming languages.

Friday, May 14, 2010

Creating With Computers (Part V) - The Tools

As I mentioned in Part II, my early interest in computers and education was launched when I first discovered HyperCard in the mid 1980s. The ease at which you could quickly create a custom application to do what you wanted it to do and to address a specific task was very enticing. The continued development of HyperCard by Apple lead to more and more possibilities including the ability to incorporate multimedia into custom applications. In my opinion, Hypercard was the ideal computer development tool for the classroom teacher and allowed for the development of instructional materials tailored to the needs of individual students. HyperCard eventually was retired by Apple, but other companies picked up where Apple had left off. Development tools such as SuperCard, ToolBook, and Metacard continued to evolve the HyperCard development model. This model of application development based on objects and events began to gain more and more popularity to the extent that one such tool, HyperStudio, became very popular with students and teachers. Though this tool was similar in design, it is targeted more toward students and is not as versatile as the previously mentioned software tools. However, it provides an excellent starting place for students to understand many of the important concepts of application development.

In 2003 Runtime Revolution purchased Metacard and used it to develop Revolution. RunRev, as they are now known, has developed mutliple versions of Revolution and address the needs of the wide range of users. RunRev produces versions of Revolution that run and compile on all three major operating systems, Windows, Linux, and MacOS X. Applications developed in Revolution can also be deployed as browser plug-ins similar to Adobe Flash applications. One attractive feature of Revolution is projects designed and developed in one operating system, such as Mac OSX can be compiled and deployed as standalone applications on Windows and Linux operating system. Future versions of Revolution are in the works that will provide deployment on mobile operating systems such as Google's Android.

Developing in Revolution is done by dragging objects from palettes to your window and then programing those objects using Revolution's Transcript programming language. Transcript is very similar to HyperCard's HyperTalk programming language and uses very English language like commands. The following example should help to better illustrate this description:



In Part VI I will begin to tie the conversation back to my example, the student reading tool, and share the necessary steps of connecting the student tool to a remote database.

Friday, May 7, 2010

Creating With Computers (Part II)

I was talking with my wife about some of her work with her English learner students. She was sharing all the assessments that they incorporate into their daily instruction and their practice for encouraging and modeling strong reading skills. I began thinking about the types of software that have been promoted to help students with their language arts, specifically reading skills. Scholastic's Read 180, Accelerated Reading, and Auto Skills came to mind. I was wondering how well those current software tools promote students to critically evaluate and think about their own reading skills? How many of these tools really get students to think about their reading?

These ponderings then turned to other thoughts as to what the ideal activity, or activities are to encourage students to think about their reading skills? Would an activity that promotes students thoughts about their reading skills even in the most basic activity fosters the needed attention to improve their reading abilities? What would those activities look like and what software tools are there that provide this instructional strategy without direct teacher participation? I could not think of one software tool that would promote this type of self-directed learning strategy that was simple to use, and could be started and completed in it's entirety in a 15-20 minute block of time, and provide the teacher with a record of the student's work.

The previous two paragraphs essentially defined the question or the task. Since I could not think of a software solution currently available, I decided to just create one myself. Granted I am not a classically trained software programmer. I'm what's referred to as a hack. Somebody who can get the computer to do what they need it to by "hook or by crook" at least in regards to software programming. My passion for technology in education began in the mid 1980s when I was introduced to the MacPlus and a new program on it called HyperCard. I fondly remember learning the trick to unlock the HyperCard Player so that it would divulge it's hidden software authoring tools. Though HyperCard is no longer being developed, there are a number of tools that have have picked up where HyperCard had left off. One such application, and my current favorite is Revolution by RunRev. This application is very similar to HyperCard. It is event driven and utilizes standard English resembling code. Many people earn their living developing in Revolution. One of the nicest features of Revolution is that you can develop on one platform and deploy on Macintosh, Windows, and Linux platforms. Soon RunRev has claimed you'll be able to deploy on the iPhone/iPad and Windows Mobile too. If you are interested in learning more about Revolution, they have a free version you can download called RevMedia.

Now that I had defined what I needed, an application focusing on reading that fosters students self assessment and analysis of their own reading, I set out to define the components.

(Photo courtesy of http://www.flickr.com/photos/ricardojesusflores/)