Friday, June 29, 2012

The WebGL ecosystem

After a couple of recent discussions and some further reading; two diagrams have provided some great insight into WebGL as it relates to the web and other related technologies... These two digrams and related posts are as follows;

http://electronicdesign.com/article/embedded/html5-and-webgl-fit-interactive-embedded-applications

http://phillihp.com/2011/01/27/waiting-on-webgl-html5/


Mozilla Ignite + WebGL: Introduction

Over the last two weeks I have invested considerable time reading about, talking with people, and watching the occasional youtube video on WebGL. I've been doing this to create some learning resources for the Mozilla Ignite challenge. I won't be creating the technical resources myself; I will be facilitating the discussions and thinking around the WebGL technology and how Mozilla can best support the ignite candidates to onboard themselves. In otherwords, what aspects of OpenGL ES, WebGL (and related libraries) does a software developer need to understand to implement their ignite challenge idea. And what learning resources can Mozilla create to assist these developers.

A concept map can go a long way toward developing an understanding of any subject domain. This simple concept map is my first stab at WebGL and will be added to as I deepen my understanding.

An introductory concept map for WebGL. What is WebGL?

To start learning about WebGL there are many resources and tutorials to assist with learning. These resources can be found with internet searches and will take you to many step-by-step guides and youtube videos. I strongly suggest you spend time searching for, and completing WebGL tutorials if you are wanting to deepen your understanding of the coding to WebGL. An excellent YouTube video that covered an introduction to WebGL with a whole lot of coding examples is from Erik Möller...

Tuesday, June 26, 2012

Learning in the Open

Learning in the open; Koh Lanta, Thailand.
People who follow this blog know I am a strong believer in open education, self-directed life-long learning, and the creation of open educational resources. I also believe this can be successfully done outside of traditional learning approaches and institutions. I also believe a familiarity and understanding of your metacognitive abilities combined with agility and pragmatism you can successfully learn all you need out in the open with only attending an online course or traditional institution when it best suits your learning needs. I believe this so much that I dedicate this blog to the subject of self-directed life-long learning. I am also in the process of writing a book on Agile Learner Design, a book about understanding your metacognitive abilities and how to create your own personalized curriculum and courses. All in support of your own learning.

One area of learning and OER development I am currently involved is with the Mozilla Ignite Challenge. With this project I leverage my 25 years in technology and software architecture, combined it with my teaching, instructional design, and open education experience and create some OER to assist Mozilla Ignite candidates learn about some of the technologies available in (and supported by) this challenge.

What is Learning in the Open?
Learning in the open is based on four principles and one model;
Progressive inquiry in detail
Progressive Inquiry
  1. the principle of open learning - the learner is self-directed, independent, and self-guided.
  2. the principle of metacognition - the learner is aware of their own learning style, and how to best develop their own skills and knowledge.
  3. the principle of open - where everything they do while learning is done in the open, with transparency, reflection and frequent publishing of their knowledge gathering.
  4. the principle of collaboration - engage your peers and learning cohort with frequency and without hesitancy.
  5. progressive inquiry - provides the discipline and model to follow when working towards discovery and understanding.

How does this apply to the Mozilla Ignite Challenge?
By learning in the open, engaging others in my learning and publishing the artifacts of my leaning, I create a road-map for others to follow who want to learn the same. Over the next five weeks I will gather information in a variety of ways, publish frequently and coalesce the information into a single rich media artifact for peoples learning consumption. I will start with WebGL and finish with WebRTC. Feel free to follow along;

Saturday, June 23, 2012

Open Badges Step 0.3: A first look at open badges JSON

In this screencast I take a first look at the json message for issuing a badge. Given the open badges dependency on messaging this is the first look at the messages required to implement open badges. Keep in mind that as the OBI matures and the partner network increases, there will be a growing number of software applications that will implement this messaging. In the near future the technical understanding of the messaging will be the domain of the software developers. Understanding the messaging and its attributes will assist greatly in your open badges implementations. This screencast is a part of the Introduction to Open Badges Step by Step guide. The main theme of this screencast is a review of three blog posts which look into manually issuing a badge;
  1. a technical look at some existing learning resources
  2. an investigation into the criteria and evidence attributes
  3. a completed manual badge implementation

Reflective activity: Think about how you would create the criteria for a badge, and how someone would provide evidence to be awarded the badge.

Friday, June 22, 2012

Open Badges Step 0.2: Do a whole lot more reading

In this screencast I look at some of the technical resources available for introducing someone to the open badges infrastructure (OBI). The screencast is a part of the Introduction to Open Badges Step by Step guide. The main theme of this screencast is a review of my technical look at the available resources.




Reflective Activity: take some time to read all of the above sites referred to in this screencasts related post and answer the question, "Which FAQ would you read to answer technical questions and which would a read for more general questions? Where could you access the source code for the open badges project?".

Thursday, June 21, 2012

Open Badges Step 0.1: Do a whole lot of reading

In this screencast I look at the resources available for introducing someone to the open badges infrastructure (OBI). The screencast is a part of the Introduction to Open Badges Step by Step guide. The main theme of this screencast is a review of the post by Sunny Lee of the Open Badges team.


Reflective Activity: take some time to read all of the above sites referred to in this screencasts related post and answer the question, "How are the roles of Issuer, Earner and Displayer related, how are they dependent upon each other, and what role do they each play within the Open Badges Infrastructure?".

Wednesday, June 20, 2012

Screencasting guildelines

I've always though the strength of screencasts was in their storytelling qualities. And a few searches on the keywords "screencast + storytelling" do take you to some sites and articles supporting storytelling using technology, in particular, using screencasting. In one paper titled, "Does screencast teaching software applications need narration for effective learning?" found that "the findings provide evidence that screencast with narration can be used for online self-paced learning that is not only effective but also efficient."

When I combine my belief in screencasting with my experience in creating Open Educational Resources (OER) I look to a larger picture where the preparation and artifacts created in the lead up to recording a screencast are also important artifacts for learning and reuse. And when you also consider the reuse possibilities and the localization needs that may occur, creating treatments for the screencasts and storing the raw multimedia files also become important.

For my current project work with Mozilla I have decided to create an Open Resources Wiki within the larger Mozilla Wiki. This open resources wiki will store guidelines, resources and artifacts for creating open resources. I believe these resources could be very useful as Mozilla deepens its commitment to digital literacy and webmaking. I believe that the resources I create will have the ability to be reused and localized and I need to be mindful of this possibility as I create new learning resources.



Preparing multimedia resources of reuse and localization takes additional work, but it is work that makes a better initial product. This occurs because greater thought needs to go into the resource before it is created. My recent set of screencasts have focused on the onboarding of open badges implementers where I have created screencast treatments and stored the related media in RAW format encouraging reuse and easing localization efforts.

Tuesday, June 19, 2012

Open Badges Step by Step Screencasts

I'm developing a set of screen casts that are going to be a companion to the step by step guide I am putting together on the Mozilla wiki. And once the full set is done, they can be reused for developing other Open Badges educational resources. What I'm really wanting to do is develop an Open Badges 102 as a follow-up to the 101 course found on the P2Pu.


After I put this screencast together, I reflected upon it and received some feedback from the open badges team I'm going to make the following changes;
  1. keep each screencast to around 5 minutes or less.
  2. keep the content down to a few main topics
  3. don't jump into anything technical to quickly
  4. end most of them with a reflective activity to have the learner reflect and do some "homework".
If you have any further feedback or suggestions please post them here as comments...

Monday, June 18, 2012

Youth Informal

I get flipped out by the idea that there is so much interest in the Youth Informal partner type for the open badges issuer. Having alternative ways to recognize skills, knowledge and accomplishment is a big part of open badges and having partners focused on this youth group is a great thing.



If you want more information about partnership engagement for open badges, go to this excellent post put together by Sunny Lee of the Open Badges team.

Sunday, June 17, 2012

Ignite Learning labs


I need to start investigating a number of technologies for the Mozilla Ignite challenge... the eight technologies I will be looking at include;
  1. WebGL - Graphics Library
  2. WebRTC - Real-Time Communications

  3. I'm going to start with these above two technologies and move into these final six if the first two investigations prove successful. Success will be measured through the creation of learning resources to assist ignite candidates.

  4. OpenFlow - deploy innovative protocols
  5. Eucalptyus VM - Infrastructure as a Service
  6. Web Audio API - processing and synthesizing audio
  7. WebCL - Heterogeneous parallel computing
  8. Node.js / Websockets 
  9. Appcache and WebAPIs 
With support from Mozilla Developer Network I am going to be creating some learning resources to assist people who are considering the ignite challenge and need to begin learning about the technologies available within the challenge. Feel free to follow along my delicious tags, and I will be posting my progress with each technology as I go. Enjoy the ride...

Friday, June 08, 2012

Open Badges for a Wikiversity course

This post describes implementing Open Badges within a Wikiversity course. It takes a very simple approach by issuing the badges manually. It looks at two approaches to creating the required json files; one using a simple plain text recipient and the other using an encrypted recipient. The technologies required to implement open badges within wikiversity include; json, HTML, JavaScript and PhP.

The course
The course is Mobile Web Applications. I have been slowly developing this course to provide an Open Educational Resource (OER) for implementing HTML5 mobile applications within an Model View Controller (MVC) pattern. And how the MVC pattern fits within a multi-tier architecture. The course was inspired by two of my most viewed blog posts from last year (these two posts have attracted thousands of views over the the last nine months);
The course is far from finished, and whenever I have a few spare cycles I try to add to the course. My latest effort toward this course was to implement open badges for completing the quizzes and projects from within each chapter.

The badges
After considerable thought I came up with a badge system for the course and I document my approach to this badge systems design through two post within this blog.
The courses badge taxonomy became a part of the course wiki; http://en.wikiversity.org/wiki/MWA/Badges

The criteria
For each chapter will be added a criteria page and this page will point to both the projects and quizzes. The quiz results are not saved as they are widgets built from wikiversity templates. The quizzes are mostly to test your understanding and prompt you to review the modules contents. A little reflection to deepen learning. The projects become the key part of the criteria. With the projects you need to build working software, and it is this working software that will become the evidence to be evaluated against the criteria.

The evidence
To be awarded the badge you need to complete all the projects for the chapter. As the course is about building mobile web applications, the evidence is a working mobile web application. Once all the criteria has been met the learner will create an evidence URL for review to be awarded the badge. The evidence I provided for the course can be found at; http://books.bit.bc.ca/ which implements all the requirements requested in the chapter projects. Try viewing the evidence in a browser and on your mobile device.

The 1st json file
There are two ways to prepare a json file for submission to you digital backpack. The first way is to use the URL approach to baking a badge. This is best described in a blog post by Billy Meinke. This blog post walks you through the process of hand baking a badge. The difference between the two methods is the first, described here, requires no coding or javascript, it just requires the correct creation of the json file and submitting it to be baked through well formed URL.

The 2nd json file
The second approach is by hashing the recipient attribute, inserting it into the json file and submitting the file by using the correct JavaScript call. The recipient attribute is hashed using a one way hash with a select number of hashing algorithms, in this case sha256. The recipient attribute will look something like the following;

sha256$b42062d4b8b9b45560d202243720e7f94f139ce0c7363fa4171daf1f6fcaaef5

The Code
The below block of code does two things; first it shows the line of php code that creates the hash for the recipient and second, it shows the javascript to load the json into the backpack. The php serves as an example of how to create a hashed recipient and the javascript works at submitting the json to the OBI.

Please Note that the hashing line does not automatically insert the hashed string into the json file. That needs to be done by hand. This block of code is for example purposes only.

<html>
<body>
<?php
echo hash("sha256", "peter@rawsthorne.org"."mwach01");
?>
<br/>
Peter Rawsthorne <a href="javascript:OpenBadges.issue(['http://badges.bit.bc.ca/mwa/mwa-pjrch01.json'], function(errors, successes) {  });">, claim your badge.</a></p>
<p><script src="http://beta.openbadges.org/issuer.js"></script></p> 
</body>
</html>

The PhP
hash("sha256", "peter@rawsthorne.org"."mwach01");

This line of php code simply hashes the earners email address with the seed value using the sha256 hash algorithm. This code creates a string of text that should be embedded in the json file to be submitted to the OBI.

The JavaScript
The javascript has two main parts; referencing the script library and calling the issuer of the badges software module.

this line includes the open badges issuer javascript library.
<script src="http://beta.openbadges.org/issuer.js"></script>

this line sets up the call to submit the json file.
Peter Rawsthorne
<a href="javascript:OpenBadges.issue(['http://badges.bit.bc.ca/mwa/mwa-pjrch01.json'], function(errors, successes)
 {  });">, claim your badge.</a></p>

The json file
Follow this link if you want to look at the json file, as required for the 2nd approach, that would be submitted to the OBI; http://badges.bit.bc.ca/mwa/mwa-pjrch01.json

The Success
After using either of these two methods for submitting the correctly formatted json file, a new badge will be in the backpack.


Wikiversity as an Issuer
Wikiversity and Wikipedia are already (in a way) badge issuers, they call their badges "Userboxes". They have many Userboxes that can be put on a contributors profile.It would be great if these could become a part of a persons digital backpack.

Thursday, June 07, 2012

Three point lighting for video capture

I have the need to capture the talking heads in a video conference session. I need to capture each talking heads video stream and save it to disk. I need each stream captured and saved so it can be archived for later viewing, and the ability to slice up the video into smaller segments. The video will be taken from interviews using online video conferencing software. The challenge comes where the video conferencing software doesn't allow capture of individual streams, in general they just make the whole conference (with all talking heads) available as a single video. And because we need to have solid recording of each talking head for later use in a variety of online learning situations we need a remedy for this situation. Keep in mind, that in general, the video conferences will be with two or three people all in different geographic locations. The solution is to use the video conferencing software as we would normally with two adjustments to the environment;
  1. Create a good studio environment from a lighting perspective.

  2. There is no shortage of good images and video on how to set up a three point lighting system. these two below are a couple of my favorites. Keep in mind the interviewer is going to be replaced by the laptop hosting the video conference.



  3. Include a separate video camera to the mix. Or replace the interviewer with the laptop hosting the video conference.

  4. This is where things vary most from the traditional interview setup. The interviewer is replaced by the laptop hosting the video conference. This will allow you to capture the video in a good quality with good sound. And it will provide it in a format that will allow you to separate the audio from the video and slice up the video so it can be re-used in different learning contexts and situations. Essentially providing a long tail to your video resources.

Sunday, June 03, 2012

Open Badges Evidence

What started as my exploration of the open badges displayer hack by David Wiley, ended up deepening my understanding of the assertion json required for issuing a badge. It really got me thinking about how assessment could be applied to peer-to-peer learning and self-directed life-long learners.

David Wiley put together the open badges displayer hack so his students could generate the code required to display their badges at any location they could host JavaScript or HTML. This hack was important to support the badges the course had issued to the students. What is also interesting is the varied approaches behind the criteria and evidence of the badges for this course. When you look into the different json for each badge with particular focus on the criteria and evidence attributes you get to see the varied capabilities of issuing badges. To get started I'd suggest you review the following sites looking at some particular attributes;
  • The introduction to openness in education course site provides a good look at the breadth of topics within openness in education. In particular, look at the right column list of topics. Spend some time reading all the tabs that make up the course. Look at the flexibility David Wiley has created in how to earn a badge. When you look at the badges issued, you see he also created ways for students to define their own criteria and then provide evidence.
  • The badges earned page prompts the students to claim their badges, and taking a look at each students json file gives great insight into how assessment and badge awarding can be achieved within an academic environment.
  • I opened up the json file for Wendy Woodfield and the awarding of the "OpenEd Overview" badge.The json file had the following criteria and evidence attributes; as you can see these two attributes resolve to URLs, and when you follow these you get the descriptions of what is required to be awarded the badge (criteria) and what Wendy created and accomplished to meet the criteria (evidence).
By looking into the json from this course you see what David Wiley has done around evidence and criteria. This is where I see academia starting to utilize the open badges infrastructure and applying it to the peer based approaches found in MOOC's.  This could be a very powerful combination. If you look at the json of the student contributed badges you can see them setting their own criteria then providing evidence of its completion... Kevin Ashton did exactly this and created the "OpenEd Visualization Ninja Programmer" badge. You can see in the json below the criteria and evidence links resolve toward two blog posts on Kevin's blog. Essentially, Kevin created his own criteria and then fulfilled the criteria and was awarded the badge. I would assume that David Wiley recognized the criteria as meeting some goals within the course. The main point is a person created both the criteria and evidence for a badge. This is amazing self-directed learning receiving solid recognition from a legitimate source.
{
  "recipient": "sha256$a782df7378fc6a5190b3b25dd7834ce8e0c192055595bc4ae7e79dc10831ad44",
 "salt": "#ioe12",
  "evidence": "http://www.kipsum.com/blog/2012/04/04/data-visualization/",
  "issued_on": "2012-04-11",
  "badge": {
    "version": "1.0.0",
    "name": "OpenEd Visualization Ninja Programmer",
    "image": "http://openeducation.us/issuer/img/badge-assessment.png",
    "description": "Has designed a badge-based assessment for the Introduction to Open Education course.",
    "criteria": "http://www.kipsum.com/blog/2012/03/15/open-visualization-ninja-programmer-badge/",
    "issuer": {
      "origin": "http://openeducation.us/",
      "name": "David Wiley",
      "org": "Introduction to Open Education, 2012",
      "contact": "david.wiley@gmail.com"
   }
  }
}
To further explore the approach of issuing badges and how it can be done within peer based learning environments it is very useful to view the work of Alex Halavais. In particular, the slides from the slideshare below at around the 14 minute mark speak to the approaches for peer assessment within an online course.
In my mind, this means it is completely legitimate that you could issue yourself your own badges. And you would be the one who sets and enforces the quality and rigor required to earn your badge. If people come across your badge, and believe it is worthy, they could follow the same learning journey defined in the criteria and evidence and attempt acquiring the badge themselves. The subject of issuing your own badges requires further unpacking... but combined with peer-assessment from your personal learning network could provide a vehicle for self-directed life-long learners to publish their accomplishments in a way people could follow and even replicate.