Friday, August 26, 2011

2011 Aug 26 | POODLLPUP - The Bootable Open Source Language Laboratory - Publication

POODLLPUP - The Bootable Open Source Language Laboratory

by Thom W. Rawson

University of Nagasaki, English Lecturer

The purpose of this project is to create an independently usable and portable language laboratory on a compact disc. Online e-learning is a growing field in education which has been expedited through the use of online, freely available and open source operating systems, software, and tools. Using a combination of open source tools and utilities, implementation of an independently bootable and portable web server with both a PHP-based learning management system and a streaming multimedia server has been possible. This project requires Intel-based hardware, an optical drive, network interface, and memory. It provides a fully-functional online e-learning classroom and language laboratory in a portable design - a compact disc. This document will discuss the features and implementation of this project which has been called “POODLLPUP - The bootable Open Source Language Laboratory”.
Background

POODLL (http://www.poodll.com) is a project started by Mr. Justin Hunt and Mr. Thom W. Rawson both from Nagasaki, Japan. Mr. Hunt and Mr. Rawson are English lecturers with backgrounds in the Information Technology Science field. The initial purpose of this project was to provide a way for teachers to deliver content to students using computers and technology, and from there provide for the student to receive either immediate or follow-up feedback on the result of their efforts in the online activities. A focus on using voice and video was part of the initial design of the project for the purposes of English communication research. The project, now in it’s third year of development, has been largely successful to it’s original set of goals set forth in the designs (Hunt, 2010).

A full-featured multi-media language laboratory, POODLL is an open-source freely available set of enhancements for an online learning environment. It provides streaming audio and video functionality within the system using a filter for configuration. The user sees flash widgets including video players, audio players, digital white boards, screen casting and other useful tools for providing the multimedia experience. Some features include assigning headset pairs as well as recording and playback of both audio and video directly into the browser. No special hardware setup is required other than a standard Internet-connected computer with a plain headset and sound card. POODLL is meant as a free alternative to expensive Language Laboratory systems currently in use in many schools in Japan today (Hunt, 2010).

POODLL - The Open Source Language Laboratory

POODLL is made using a combination of open source software products. The decision to make use of open source tools came through research of the available software and hardware and was largely made as a result of budgetary restrictions. POODLL is constructed using the the following open source software:
  • MOODLE - An open source LMS using PHP and MYSQL on Apache. 
  • RED5 - An open source flash media server using Java Tomcat. 
  • OpenLaszlo - An open source flash development environment. 
The logical choice for delivering content online and providing feedback for students is MOODLE. One of the leading developers of Learning Management Systems is the Australia-based MOODLE organization. MOODLE (http://moodle.org), or Modular Object-Oriented Dynamic Learning Environment, allows for the quick development and launch of an online course management system with a minimal investment in technology and a reasonable investment in time for course development. The greatest benefits for the implementation of this type of system include the detailed (sometimes automatic) feedback that students can receive upon doing any particular activity and the collaborative atmosphere and student-centered learning environment that MOODLE provides. MOODLE boasts use in over 200 countries with over 50,000 registered MOODLE sites and an unaccounted number of unregistered sites ("Moodle.org: open-source community-based," 2005).

RED5 (http://www.red5.org/) is the open source version of a streaming flash content server. The web industry makes use of flash for delivering web content in video, audio, and application forms. Adobe Corporation offers its enterprise Flash Media Server for a considerable cost, however the budgetary restrictions mentioned previously made that option non-viable. RED5 is a Java-based application which can run on a variety of platforms and provides streaming for audio and video both to and from the server. POODLL design included the ability to play and record both audio and video, and RED5 supports these features ("Red5 media server," 2010).

OpenLaszlo (http://www.openlaszlo.org/) provides the framework for developing the flash widgets that are used within MOODLE to add the POODLL multimedia functions. All POODLL widgets were created using these tools ("Openlaszlo project blog," 2011).

Challenges for POODLL

Although POODLL has been in use at several major universities in Nagasaki and other places around Japan and the rest of the world, there have been some challenges which have impeded the adoption of this technology in more MOODLE sites. One of the major issues is installability or the ability to configure POODLL in an existing MOODLE installation. Although these tools mentioned are freely available and require very non-specific hardware for their use, the configuration can often prove daunting and elusive to the regular user or administrator.

Users reported difficulties getting administrator access to perform installations and those that were able to install the software reported additional difficulties in getting the streaming server to be operational. There are a lot of factors which could lead to these difficulties - the configuration of Java, the access to systems for starting and stopping the RED5 streaming server, the pointers and file access permissions for reading and writing streaming audio and video files.

Additionally, the live MOODLE installations were often reluctant to make such a significant change to the configuration without somehow having a chance to “try out” the software before installing in a production environment.

Given these challenges reported by users, the creation of a demo with which interested parties could make evaluations and “try out” the software was undertaken. The demo had a specific set of requirements as follows:
  • There should be little or no configuration required. 
  • The users should be able to quickly get an idea about POODLL and it’s features. 
  • The demo should be free to download and use. 
  • The demo could then later be used to help implement a full adoption of the software in a live MOODLE installation. 
An online POODLL demonstration website (http://demo.poodll.com) was implemented to address some of the concerns of the users, however there existed a further need for adopters to have their own version of the software with which to experiment (Hunt, 2010).

Building POODLLPUP - The Bootable Open Source Language Laboratory

POODLLPUP is a bootable “live OS” which includes a fully functional POODLL installation and demonstration website. The POODLLPUP project contains the following open source operating system and software tools:
Puppy Linux - A bootable and portable version of the Linux operating system
XAMPP - A portable APACHE/MYSQL/PHP web server.
DDCLIENT - An open source client for providing dynamic DNS services.
POODLL - An open source language lab enhancement for MOODLE.

Due to the nature and the complexity of the POODLL project as well as the requirements for the working demo software, the decision to make a bootable CD which included a self-contained and fully functional working POODLL installation was made. Linux operating systems come in many versions and distributions and they also contain a complete category of “bootable” or “live Linux” choices. As computer systems have improved and newer hardware has been developed, there is an increasing amount of aging hardware that is unable to support the demands of more robust operating systems. Open source operating systems have been developed which make use of older hardware by using a minimalist approach to the available hardware resources. These live distributions offer a fully working Linux OS which can be booted from a CD and used as a temporary OS on almost any type of hardware. The benefits of these bootable versions is that they don’t make changes to the host OS and once rebooted the original OS on the machine returns.

One such minimalist version of Linux is developed by Barry Kauler and associates at the Puppy Linux organization (http://www.puppylinux.org). Puppy Linux is a small image which can be burned on a CD and then booted in an Intel-based computer. The operating system loads from the boot CD with a graphical environment and without the requirement of being installed onto the host system’s hard disk drive. Once booted, changes made to the system may be saved on a removable hard disk drive such as a USB thumb drive or a USB portable hard disk. The system is flexible and powerful, but very lightweight and will run on much older hardware with small amounts of RAM. Additionally, Puppy Linux contains a set of remastering tools which makes it easy for a user to customize the installation to their needs and create a “newer” bootable CD containing extra software and data ("Puppy linux community," 2011).

In today’s open source community, there are several APACHE/MYSQL/PHP web servers which are freely available. One cross-platform implementation of the server is made by the Apache Friends Organization (http://www.apachefriends.org) and is called XAMPP. Versions are available for Windows, OSX for Apple, and also Linux operating systems. Installation in most cases (Windows and OSX) is quite simple and automatic through a GUI interface design. The Linux version is used in the POODLLPUP project and works effectively in the Puppy Linux environment. Therefore it was chosen to be the server on which the POODLL demo would be hosted ("Apache Friends," 2011 ).

DDCLIENT (http://sourceforge.net/apps/trac/ddclient) is another open source tool which provides for dynamic updating of DNS entries based on changing Internet Protocol Address on any particular machine using POODLLPUP. Most basic adopters of POODLL would never need this functionality, but it was provided as a way for people to use the portable language laboratory in an Intranet environment without users being required to memorize IP addresses. Instead, a regular Internet URL address (i.e. mypoodllpup.com) could be utilized in this situation. More on how this can be used will be described further on in the paper("ddclient," 2011).

The Working System

The basic user of POODLL might simply download the POODLLPUP image file and make a CD. They would then reboot the computer with the new POODLLPUP CD in the optical drive. From that point forward, the computer would become a POODLLPUP host computer, or basically a live working demonstration of the POODLL software. After opening the main browser window (see Figure 1), the user is shown the XAMPP main page.


Figure 1. The main browser page showing XAMPP.

Clicking on the status link will show the user the working systems in the demo CD (see Figure 2). The standard status pages offered by XAMPP were modified to show additional details. The additional details are as follows:
  • The Local IP address and status of the interface. 
  • The status of the RED5 streaming server. 
  • The status of the DDCLIENT process. 


Figure 2. The XAMPP status page showing active systems.

The default settings for the web server and the POODLL installation are configured for the local host machine. From the status page, the user can see the local IP address of the machine and whether or not the systems needed to run the demo are operational. In Figure 2, the status page shows RED5 streaming active and the address on which the web server can be accessed locally. For URL and DNS configuration, the user will have to edit one configuration file to communicate with a dynamic DNS provider. For demo purposes, it might be OK to simply use the IP address or even just the local host (localhost) address.

There are 50 demonstration users included with simple passwords. Access for each user is described on the home page on the demo (see Figure 3). Also, a demonstration course containing examples and activities related to the POODLL software is included. This allows for users to quickly assess the features of POODLL without having to develop original content for that purpose. This forwards the goal of having a self-contained, all-in-one demonstration for POODLL.


Figure 3. The POODLLPUP demo main page
showing demo course and user access information.

Once the user logs in to the demo course, they should be able to try out some of the features of the POODLL software. Figure 4 shows an example of the contents of the POODLL demo course.


Figure 4. The POODLL demo course contents
showing activities to try out.

Extra Features

For the majority of POODLLPUP users, testing a working demonstration using only one computer (localhost) will allow for the proper evaluation of the software prior to a full-blown integration with an existing MOODLE site. However, in some case and for testing purposes the user may wish to allow outside access of the demonstration host from more than one computer. In this case, some additional configurations are available.

Once the user activates the IP address on the POODLLPUP host machine, any user in the local subnet can make access to the web site. Using the IP address of the POODLLPUP host machine, the user should see the XAMPP welcome screen. For example: http://192.168.1.100. The POODLLPUP host machine must have the MOODLE configuration changed to use this IP address as the MOODLE site address. This change is a simple edit of a configuration file on the POODLLPUP host machine.

For a more user-friendly access to the demonstration, the user should configure a dynamic DNS entry. There are several dynamic DNS host providers - many of which offer free services - which can allow the user to make a DNS entry. For example, DynDNS http://dyndns.org offers two free host name subdomains at no cost to the registrant. A URL address can be used simplifying access for users - for example http://ppup5.dyndns.org. Once again, this URL must be configured in the POODLLPUP host machine MOODLE configuration file.

Restoring the Host System

Upon evaluation of the POODLL software using the POODLLPUP demonstration CD, the user can easily restore the host system to it’s prior state by simply removing the POODLLPUP CD and rebooting the host computer. Once the system completes it’s restart, the original operating system (i.e. Windows) will return as normal with no adverse affects.

Conclusion

Using open source tools and software, creation of an all-inclusive portable language laboratory on a compact disc has been possible. This CD is a simple yet powerful medium for showing web developed software in a non-invasive methodology with which even an unskilled computer user can make an evaluation of the POODLL software for MOODLE. Additionally, this software can be used for the purposes of demonstrating web-based software, a portable language laboratory, or even as a digital textbook environment.

References

Apache Friends - xampp for Linux. (2011). Retrieved from http://www.apachefriends.org/en/xampp-linux.html


ddclient. (2011). Retrieved from http://sourceforge.net/apps/trac/ddclient


Hunt, J. (2010, August 25). The poodll blog | an open source language lab.. Retrieved from http://www.poodll.com/


Moodle.org: open-source community-based tools for learning. (2005, January). Retrieved from http://moodle.org/


Openlaszlo Project Blog. (2011). Retrieved from http://openlaszlo.org/


Puppy Linux Community - home. (2011). Retrieved from http://puppylinuxnews.org/


Red5 Media Server. (2010, December). Retrieved from http://www.red5.org/