New Media Player module for Moodle

In this article, I’m going to give you an introduction to the new Media Player module for Moodle. It’s a flexible, robust and feature-rich method of deploying video in Moodle as an activity.

The Media Player module for Moodle using Searchbar and Playlist features

In November 2009, I started the FLV Player module for Moodle project. It was a way of deploying video in Moodle that was robust, standards compliant and above all easy to use for non-developers. It’s been a great success and I’ve have a lot of feedback from teachers, course content developers and admins. As a result of this, I’ve decided to update the module and include a number of new features. I’ve developed this new version as a separate and distinct module to avoid teachers and course content developers having to redeploy existing instances of the FLV Player module due to conflicts between the old and some of the new module’s settings.

You can already deploy video in Moodle. Why create a Module for it?

Moodle already has media filters that automatically convert HTML links to video files into instances of video player plugins, including Flash, QuickTime, RealPlayer and Windows Media Video. These work well for basic video deployment but don’t allow users to:

  • Decide which video player plugin to use
  • Control how the video player looks and behaves
  • Allow you to deploy streaming video from a media server
  • Do anything other than basic video playback functions

The Media Player module uses a single, extremely well developed and supported Flash video player (JW FLV Player) which effortlessly and gracefully handles the majority of web video formats, including FLV and F4V (Flash video), M4V and MOV (Quicktime) and MP4. It also supports the new and popular H.264 (Blu-ray) video CODEC and of course the most asked for feature in web video players, a variety of playlist formats.

Also, the only way to deploy captions with video is to hard-code them into the video file which is inflexible, doesn’t adjust when the video is scaled and doesn’t support multiple languages. External captions, on the other hand, are very flexible, easy to edit and easy to read at any magnification.

Obviously, many teachers and course content designers would like to do much more than basic video playback deployment for e-learning purposes and that’s where the Media Player module comes in.

But video is a resource. Why is Media Player an activity module?

If you only deploy video and nothing more, then it isn’t interactive and it would be unreasonable to call it an activity. The Media Player module includes options that have quite a high degree of interactivity such as Snapshot and Searchbar. As you’ll see while you read this article and try out the demos, it’s much more than a video player and will continue to support more features as they become available.

So what can I do with the Media Player module?

There’s a lot you can do with it and you can also use all of these features in combination with each other. The features are difficult to describe and I think it’s much better to see them demonstrated. See the links at the end of this article for some demos.

Here’s a list of the available options:

  • External captions files: Supporting the popular SMIL and SubRip captions standards which allow very detailed control over how captions are displayed. You can also deploy the same video multiple times with different captions that play in the same playlist. Learners can immediately see what captions are available and there is no screen refresh when they select different ones. The captions can also be turned on or off at any time during playback.
  • High and normal definition video files: You can deploy two versions of the same video, one normal definition and the other HD. Users can switch between the videos according to the speed of their Internet connection. If you use a streaming media server, you can also use automatic bandwidth checking so that the video player automatically finds the optimum definition of video to play.
  • Info box: A consistent way to display information about the video being played (title, description, author and date deployed). An easy way to comply with copyright and licensing requirements.
  • Livestream: This one if for live video broadcasts from media servers. Normally, users have to keep checking manually and refresh the web page every few seconds to see if a live broadcast has started. This feature automatically checks at defined intervals to see if the broadcast has begun without refreshing the web page and then plays the video so users are free to do other things while they’re waiting.
  • Logobox: Include a logo with videos and also a link. It also supports Flash animation files so you can have an animated logo. The link could be to a web page or to a downloadable ZIP file.
  • Metaviewer: Displays metadata information of the video files being played. It’s a convenient way for teachers and course content developers to find out essential information about the video file such as the exact width, height and duration.
  • Playlists: By far the most asked for feature on video players is the ability to deploy several videos in one player. For example, if you have a video which is very long, it’s necessary to split it up into shorter (5 – 10 minute) sections or chapters and deploy them in order in one presentation. It supports thumbnail images, titles and descriptions for each item on the playlist. This means that users can easily return to a video and carry on watching from more or less where they left it. It’s also much easier to find a particular section without having to download the entire video. It supports several standard playlist formats including those produced by YouTube.com and iTunes.
  • Search bar: Allows users to perform keyword searches on sites such as YouTube.com or, if you have a custom search script, anywhere you wish to define. It’s useful if you’d like users to do research without leaving your site.
  • Snapshot: Allows users to take snapshots of frames of the video being played. The snapshots are stored in the course files directory and a link returned to the user. They could use this to post snapshots in course forums or blogs. The ability to store snapshots is controlled by creating a special directory in the Moodle course files directory for each user. To protect your server and users’ computers, the Snapshot feature follows the Flash Player security model and only allows users to take snapshots of videos hosted on the same site as the Moodle. It’s possible to enable other sites but only with a correctly configured crossdomain.xml policy file.
  • Use YouTube.com as a video hosting service: Play videos directly from YouTube.com without any annoying advertising or popups and without users accidentally “clicking through” to the YouTube.com site. Only a small unintrusive YouTube.com logo appears in the bottom right of the screen. A cost-effective solution if you don’t mind making your video content publicly available and has the additional benefit of promoting your e-learning courses to a huge audience.

How can I start using it?

The Media Player module plugin for Moodle is open source and available to download and install from the project site hosted on Google Code. Please use the project Issues Tracker to report any problems or requests.

Can I see a demo?

There’s an HD (1280 x 720) video tutorial, deployed using the Media Player module, demonstrating how easy it is to deploy video with it here (login as a guest).

There are more demos of the various features on my Moodle here (login as a guest).

Flash Word Search learning application

In a previous article, I announced a developer preview of the SWF Activity Module for Moodle 1.9. This is a brief announcement to developers who are interested in trying out the developer preview.

This Flash learning application generates word searches as activities in Moodle courses. The word searches are automatically generated are are unique every time a user interacts with them.

What does the word search do in Moodle?

  • It’s quick and easy to deploy
  • It’s fully integrated with Moodle
  • It’s XML driven
  • It pushes grades, elapsed time and feedback into Moodle’s grade book

Where can I download it from?

Download the Flash learning application called “xml_word_search.swf” from the SWF Activity Module project downloads page. There’s instructions and an example XML file that you can copy and paste on this SWF Activity Module project Wiki page.

Other possibilities…

A possible extension of this learning application is to use the SWF Activity Module’s AMFPHP Flash Remoting library to pull vocabulary lists from other database tables in Moodle, such as Wikis and Glossaries, or 3rd party web services such as on-line dictionaries and encyclopedias.

Flash and HTML5 – Competitors or complementary solutions?

Flash and HTML5

Flash and HTML5There seems to be a heated and highly polarised debate in progress about Flash and HTML5. There also seems to be a lot of misinformation flying around and some misunderstandings about what Flash and HTML5 are, what they can do and how the future of the web is likely to shape up in the next ten years.

Microsft, Apple, Adobe and Google are all competing for their own particular profit models and market share. Most of the debate and the disagreements have little to do with what the best technology for the web is or what’s best for developers and users. The link at the end of this post is a sober, well-informed article written by Jeremy Allaire, founder of the Flash MX platform, ColdFusion and Brightcove.

Also, please note that the developments in HTML5 RIAs that they’re talking about are in quite a long-term time frame by web technology standards. Don’t be fooled by Google’s “hard push” campaigns and their YouTube.com/html5 beta demo. Try it out in IE8 and you’ll see it’s still the Flash plugin video player and Internet Explorer still accounts for almost 59% of web browser usage, with versions 6 and 7 making up the majority share. Unless there’s some radical change in web browser user behaviour, we aren’t going to see a widely distributed full implementation of HTML5 on users’ desktop browsers for the next few years.

Here’s the article:

http://techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps/

My Flash MP3 player to be included in Moodle 2.0

In my last post, I described a project I had just started which was a Flash MP3 player that can be used for tests since teachers can determine exactly how many times a learner can listen to an audio file. Here’s an update on the latest developments…

MP3 Player for Tests

Part of Moodle 2.0

I’m pleased to announce that Gordon Bateson, a core Moodle developer and author of the very popular Hot Potatoes module for Moodle, has chosen to include my MP3 Player for Tests in the next major release of Moodle, Moodle 2.0. It will be part of the QuizPort module which is the successor to Hot Potatoes. Over the last few days, I’ve been working closely with Gordon on the exact specifications and functions of the player to optimise it for learners to take listening tests in Moodle.  The announcement came today on Moodle.org forums. You can login as a guest if you are not already a member of Moodle.org.

Moodle SWF Activity Module developer preview

SWF Activity Module

SWF Activity ModuleOK, this is going to be a very techie post as it’s aimed exclusively at developers who are interested in integrating Flash and Moodle. If you’ve never written a line of computer code, then this article will most probably bore you to death!

What is the SWF Activity Module?

The SWF Activity Module deploys Flash learning applications as activities in Moodle courses. It uses standards compliant XHTML 1.0 Strict embed code and leverages SWFObject 2.2. For Moodle users, especially non-developers, it’s a quick, easy, reliable, and mostly importantly, non-techie method of embedding Flash.

What’s the developer preview?

I’ve just uploaded a two-part installer package to the SWF Activity Module project site on Google Code. The first part, like any other Moodle activity module, performs the installation in Moodle and acts as the user interface. The second part is the Flash Remoting service library which handles communication between Flash and Moodle. The particular implementation of this is AMFPHP. This package is a developer preview. It has not been extensively tested, has not been proven to be stable and is not intended for installation on public servers.

What does it do?

So far, the activity module does the following:

  • Installation
  • Backup and restore
  • Creates and manages SWF Activity Module instances
  • Creates and manages grade items in Moodle’s grade book
  • Custom grade reports

The Flash Remoting service library does the following:

  • Establishes fast, lightweight, powerful two-way communication between Flash learning applications and Moodle
  • Handles user authentication, capabilities and permissions
  • Allows Flash learning applications to push and retrieve grades and user data in Moodle’s grade book
  • Allows Flash learning applications to retrieve user data such as avatars, VoIP client IDs, groups, etc. to facilitate social networking and web communication between learners and teachers

Accurately track learners’ activities while on-line

The custom grade reports are particularly interesting because they provide a much asked for function in Moodle activities, namely tracking the amount of time that learners spend on activities accurately. The problem at the moment is that Moodle can only record the time elapsed between requests sent to the server while learners are using a module. Between server requests, Moodle can’t tell whether a user was studying or if they went for a tea break, either way the elapsed time logged is the same. Since Flash learning applications run on learners’ computers, they can track mouse, keyboard, camera and microphone actions over any given period of time. If a learner goes for a tea break, mouse, keyboard, camera and microphone actions stop and Flash learning applications can take this into account, for example, by discounting inactive time. I had to create the custom grade reports because Moodle has no provision for this kind of user data.

Open up Moodle to more web services

The SWF Activity Module is far more than we’ve come to expect from Flash based learning interactions. The Flash Remoting gateway opens up Flash and Moodle to a wide range of 3rd party web services. Here’s a few possibilities to consider:

  • Deploy web conferencing clients that use open VoIP and chat protocols. Here’s an example of an existing project could be leveraged.
  • Deploy Flash clients that leverage Google Wave’s open protocol, when it goes fully public, for real-time multimedia collaborative projects.
  • Consume map, video, search and data services from providers such as Google and Yahoo!
  • Or any combination of protocols and services for media-rich, collaborative learning interactions. The sky’s the limit.

How can I use the developer preview?

This is where I need your help. I’d like this module to be tested in as many environments as possible except, of course, public servers so if you are a developer and have a development server with Moodle installed, this is where you can help. Installation instructions are included in the developer preview package and the Flash Remoting gateway comes pre-configured for Moodle. There’s also a sample “Grade Pusher” Flash application that simply pushes grades into Moodle’s grade book. Please try it out on your development servers and let me know if you encounter any problems with it.

The SWF Activity Module project site is at: http://code.google.com/p/swf-activity-module/ where you’ll find downloads, documentation, examples, source code and the issues tracker.

The SWF Activity Module is proud to be open-source.