Thursday, September 23, 2010

Reinventing the Virtual Classroom in the Cloud

Adam Monago, Vice President of ThoughWorks Studios on the Chief Learning Officer site (http://www.clomedia.com/talent.php?pt=a&aid=3032) provided a good intro post on an area which is going to experience a lot of growth over the coming years. 
I wanted to expand on the ideas he outlines in the article around a virtual lab provisioning system.  As far as I know, we are the only company delivering a complete end-to-end virtual learning system for technical training.  Our new release due out at the end of October includes solutions for all of the items listed below www.grokworx.com

Content updating

You need to be able to rapidly update content in the cloud.  In most scenarios an educator continually tweaks hands on lab images to fix small issues, or update to newer software releases.  Ideally, you should be able to continually update and publish a lab to your library for participants to access in a few minutes. 
Updated content should automatically appear to the participants the next time they access the labs. 

Manage asynchronous and synchronous learning modalities

Just having the content online isn’t enough, you need the management tools to be able to leverage the same content for both scheduled (synchronous) and on demand (asynchronous) delivery types.  As an educator, you don’t want to spend a lot of time managing access for your participants.  The whole process needs to be seamless; regardless of how the labs are consumed.  
Any Lab, Any time can leverage a learning library as an added bonus to participants and educators. A participant can choose the lab they want to launch on their own time, without any management intervention.

Security

Educators needs advanced security to ensure content is only accessed by the intended audience to maintain copyrights, intellectual property, and non disclosure.    

Lab sharing / performance-based testing

One of the most exiting parts of a virtualized lab system is the ability to measure students based on their ability to actually perform a task (scenario based), instead of answering written test questions.  This can be an easy process:

  1. The participant would receive a lab to complete
  2. Work through scenario 
  3. After completing the steps share or “submit” the lab back to the instructor for review/marking. 
This also works well with distance education where a student can share their VM out with an instructor and explain what the problem is using an office hours type of concept.  The instructor and participant can collaborate to fix the problem.  All of this would be done on each other’s own time.

Complex lab environments

It is very common in technical training to require multiple VMs for each student.  In corporate environments you may need to provide the complete software stack in order to conduct a lab, which means both the server and client virtualized together.   These VMs need to be able to communicate with each other, but need to be isolated from all other student VMs.
In some lab scenarios where you are doing time based activities, like show me the transactions from the last 30 days, require setting the clock on the virtual machine to the same date every time it is issued to a student.      

Save lab WIP (work-in-progress)

There are many scenarios where a participants needs to save their work over the duration of their learning activity.  If you are doing asynchronous training they may get interrupted and need to save their work until they are able to come back to it again.  If you are doing synchronous deliveries they may need to retain their data over several weeks. 

Lab switching 

When designing technical training content, it is very common to have a “starting” point which every participant uses to complete a lab to reduce the number of potential problems from previous mistakes.  The system needs a mechanism to easily switch between the different sets as a participant completes the lab activities.   

Lab performance

If you are leveraging cloud-based labs in a traditional classroom environment, make sure the facility has enough bandwidth to accommodate it.  
Latency is a concern when doing remote labs.  You need to be within a 120-160ms of the servers to have a good experience. 
The type of content can also be a concern. If your labs have a lot of moving pieces on the screen this generates more bandwidth.  When you design the labs and configure the VM make sure to optimize it for remote control.  Using a solid color for a desktop background and disable any visual effects is a good starting point. 

Geographically dispersed public / private cloud lab machines

It is critical to have lab machines close to the participants to give them a good experience.  As well, some lab machines have sensitive data on them which can not leave a controlled internal network. 
Being able to position those lab machines anywhere without losing the management capabilities is a key requirement.  

Instructor collaboration

Instructor needs to be able to take control of a student’s VM, but they also need to be able to talk (voice not chat) privately just like they do in a real live classroom when doing VILT (Virtual ILT).  This isn’t part of the cloud-based labs, but is important to have this feature in your supporting presentation toolkit. 

3 comments:

  1. Insightful article. Educators and students around the world are witnessing challenges due to pandemic and are adapting to ensure continuous learning. E-learning solutions have provided a platform to run classes. Thank you for sharing this. Education Development

    ReplyDelete
  2. The post you have shared here about Reinventing the Virtual Classroom in the Cloud is really great as it contains some good knowledge which is very useful for me. Thanks for posting it. Keep it up. Automotive Management Systems Training

    ReplyDelete
  3. Great job for publishing such a nice article. Your article isn’t only useful but it is additionally really informative. Thank you because you have been willing to share information with us.Welding Machine Price

    ReplyDelete