Archive for the ‘UCF Dissertation’ Category

Moodle for Business

Posted: December 23, 2011 in Active Projects, UCF Dissertation

Moodle for Business

As Moodle has matured as a learning platform, many corporations have found they can both save money and enhance business processes by implementing Moodle to streamline interviews, training, and internal communication.

Moodle’s open source licensing also makes customization and integration easier and cheaper than proprietary systems. Moodle has built-in tools for integrating with backend authentication tools, such as Active Directory or OpenLDAP, enrollment plug-ins to take a data feed from an HR system to enroll people in courses, and a web services library to integrate with an organization’s other systems. Some organizations choose to go further, customizing individual modules to meet their unique needs. Others have added components for unique tracking and reporting, including development of a full data warehouse.

Moodle’s low cost and flexibility have encouraged widespread adoption in the corporate sectors, especially among smaller companies. According to the eLearning Guild 2008 Learning Management System survey, Moodle’s initial cost to acquire, install, and customize was $16.77 per learner. The initial cost per learner for SAP was $274.36, while Saba was $79.20, and Blackboard $39.06. In addition, Moodle’s open source licensing provides a considerable cost advantage against traditional closed source learning management

Moodle Communication

Out of the box, two-way communication in Moodle comes in three flavors:

  • Real-time, synchronous chat: Moodle’s very own built-in instant messaging system (such as MSN), allowing clients to talk to clients.
  • Forums: Just like old-fashioned message boards. You post a question or comment and later on someone posts a response.
  • Messaging: Don’t be confused by the name; the Moodle messaging service allows you to send a message to any other Moodle user. This is different from chat in that it’s more like e-mail messaging, than instant messaging.

In addition, corporations often use wikis to disseminate information.  The Moodle wiki module enables employees to collaborate on a group writing project, build a knowledge base, and discuss class topics. As a wiki is easy to use, interactive, and organized by date, it encourages collaboration among the participants. This makes it a powerful tool for creating group knowledge. The key difference between a forum and a wiki is that when users enter a forum, they see a thread devoted to a topic. Each entry is short. The users read through the thread, one entry at a time. The result is that the discussion becomes prominent. In a wiki, users see the end result of the writing.

Moodle Web Conferencing

Real-time web conferencing is a need that often arises in the corporate setting. Distributed workforces have increased the costs in time and money for arranging face-to-face training. Adding synchronous video and web conferencing to Moodle helps provide a deeper real time communication than just chat. Three well known Moodle integration modules for web conferencing are Adobe Connect, BigBlueButton, and Remote-Learner. Regardless of which one you choose it is important to implement training on these systems to ensure their success.

Moodle for Mobile

Developing responsibly in today’s market requires a mobile platform. Implementing Moodle for mobile can be done by using a plug-in such as Moodbile (which is in beta) or by writing your own HTML5/JavasScript  Moodle modules. Clearly writing your own modules gives a great deal of leverage over your applications but also requires a higher degree of competence in coding. Regardless of which way you go, you must test your programs on different mobile devices to ensure compatibility.

Moodle Integration

Moodle 2.0 introduced two new important integration features: repositories and e-portfolios.

The Repository integration allows admins to set up external content management systems and use them to complement Moodle’s own file management system. Using this integration you can now manage content outside of Moodle and publish it to the system once the document or other content is ready.

The Portfolio integration enables users to store their Moodle content in an external e-portfolio system to share with supervisors, clients, fellow employees, and others.

Just to list a few options: Alfresco is an open source content management system that integrates well with Moodle and can act as Moodle’s content repository. Mahara is an open source e-portfolio system which has been tightly integrated with Moodle 2.0. Google Docs is a cloud-based office suite which is available for free from Google. Corporations can sign up for a Google Enterprise account.

Moodle E-Learning

Education and industry approach e-learning in fundamentally different ways. While educators will typically use menu-driven out-of-the-box features to weave course material into the Moodle CMS, industry developers will create stand-alone courses that talk to the Moodle CMS using a middle tier language such as JavaScript, or PHP. This is the most efficient way of developing e-learning courses  since the courses are portable, can be developed independent of the CMS, and can be easily be ported to other CMS systems such as SABA. The reason why industry prefers this method is that it is most cost efficient. However, it does require a higher level of sophistication in programming skills which explains why educators shy away from this approach.

The average educator lacks the necessary programming skills required to create separate courses that use a middle tier language to talk to Moodle. However, templates can be created that assist educators in loading such courses.

 Moodle and Security

Moving your classes and resources online with a Learning Management System such as Moodle opens up a whole world of possibilities for teaching your employees, and streamlining learning. However, it also opens up a number of threats as your employees, private information, and resources become vulnerable to cyber-attacks. Proper safeguards must be put in place to keep the bad guys at bay.

For example, web robots can harvest e-mail addresses to send spam e-mails from accounts, which could have devastating effects. Moodle comes with a number of set roles and permissions which keep out the spam bots, using Moodle’s authentication features. Many times dangerous web attacks come from inside your system. You must monitor user activity to make sure that there are no threats from registered users. In addition, you must work with the tools that enable you to back up your settings in case of a crash.

Communication Proposal

The Corporate Communication System should include the following elements:

  • Document Repository
  • Forum
  • Instant Messaging (Optional)
  • Web Conferencing
  • Corporate Wiki

Each element will take about 10 hours of consulting time. In addition, time should be included for setting up proper security (20 hours), branding (5 hours), and creating a series of video tutorials (20 hours) to assist in coaching. In the long run, video tutorials will decrease the need for outside coaching as more people internal to the company become involved in the process.

 E-Learning Proposal

The e-learning proposal involves creating stand-alone courses that talk to the Moodle CMS. More specifically a course shell (or course template) should be produced. This gives designers the ability to load and create new courses without any­­ programming involved. Creating this framework will take 50 hours of work. Integrating the framework with Moodle will take another 20 hours of work. This course template should be created in HTML5 to facilitate mobile delivery.

Once the framework/template is created lower paid designers can be trained to create and load course content. Video training on how to create courses using the framework will take approximately 20 hours to produce, and 10 hours per month should be dedicated for course maintenance. Building such a framework will greatly reduce the cost and time required in creating/testing e-learning courses. Using video training will drastically reduce training cost as more people become involved in this project.

Note: Fifth Third bank successfully uses a similar approach in their e-learning development.


Comparing Delivery Platforms

The software delivery framework created for my Dissertation “front end” has far reaching implications for educational technology. It offers a loosely coupled modularized framework which can be adapted for rapid e-learning development. It provides a mechanism for porting web applications to such devices as Android, Xoom, and Ipad. It offers a lightweight yet robust data-basing capability that any instructor can install and use with minimal effort, removing the need for a database administrator. In addition, it can be synched to other legacy database systems already in deployment. My Dissertation offers the next generation of software solutions that are cross-platform, mobile ready, geared for rapid deployment, and engineered for a low maintenance life-cycle.

One of the biggest technical challenges faced by education and industry alike is in transitioning homegrown software applications intended for small audiences to enterprise solutions that address a much larger audience. As an application grows in size and usage, its complexity, data transfer issues, and maintenance requirements grow as well. Depending on how an application is initially set up and grown can make a big difference in the number of people and cost required to keep that application running smoothly. More and more industry software developers are turning to solutions that entail a modularized framework. Most popular of these frameworks is the MVC architecture which stands for Model, View, and Controller.

Key to success in the education market place is using a modularized framework such as MVC (Model View Controller). The MVC framework is a natural transition when applications grow from small to big. Small applications typically mix graphics, control logic, and data programming together. As programs grow in size so do the number of diverse people working on them and it’s natural to separate software into distinct components (or buckets). MVC separates an application’s elements by job tasks, fully exposing them to those who would normally work on them. For example, a database programmer would work on the Model, a graphic designer would work on the View, and an interface programmer would work on the Controller.

The Model is the boundary layer of your system and deals with the part of the program that talks to the outside world. Typically, it is the part that stores data and is worked on by database programmers. Segregating data control into one place ensures that data services are always accessed from a single place. Otherwise data transfer can become tangled and inconsistent. The View contains only the graphical elements of the program so as graphic designers makes changes they don’t have to worry about changing or rearranging code to accommodate their graphical changes. Finally, the Controller holds the business logic of the program and acts as the interface between the View and the Model. It bridges the gap between interface development and data flow.

Separating a program into the various MVC buckets ensures that working on one piece of the program doesn’t break another piece. It also enhances maintainability by de-tangling spaghetti code and organizing it into understandable compartments which enables new developers to come up to speed more rapidly without the cost of reverse engineering poorly organized code. Such MVC architectures are referred to as loosely coupled since one distinct component does not need to know about the internal working of another component to do its job. This allows developers to work on any part of the program without breaking another part of the program.

In addition to the challenges of code modularization, software managers struggle with making the correct decision on which development platform to use. Software giants such as Google, Adobe, Microsoft, and Apple are in strong competition, releasing ever-changing and expanding software options. Overall, the trend in software is surprising; solutions such as PHP, Java, and C# once engineered with the intention of handling user interface creation are rapidly moving to the middle-ware position while software like Adobe Flex, Silverlight, and HTML 5 are predominantly being used to build fluid user interfaces. With virtualization and cloud technology software solutions are rapidly becoming agnostic (platform independent), requiring a transparent data flow mechanism.

In today’s educational market, software applications must be deployed on multiple platforms such as desktop, web, and mobile. Choosing the correct software development platform, can make or break software deployment. Software solutions should be engineered such that transition from one platform to another (like transitioning from desktop to mobile) should not require a new development activity. My Dissertation took a “write code once and deploy” approach in choosing its software deployment platform. In addition, five essential design parameters drove the software design decision: (1) ability to transition to mobile, (2) 3D support, (3) ease of data-basing, (4) life-cycle cost of the solution, and (5) fluidity of the design process.

Of the number of solutions considered, Adobe Flex, Silverlight, and HTML 5 offered the most plausible front-end development platforms. Any of these solutions would have been a good choice but ultimately Adobe Flex was chosen for this project. HTML 5 offers an incredible solution for both web, mobile, and 3D but still lacks the browser support (and a fluid design environment) required for a fluid cross-browser deployment. Silverlight has a superior design studio using Expression Blend, and is gaining momentum in the developer community.

Note: If there was any credibility to the statement that Adobe and Microsoft  are going to merge, it’s in Expression Blend. I’m definitely following this software as it evolves.

Of the three, Adobe Flex is the most mature solution. It has a fluid design interface which uses a data wizard to access multiple data sources using drag-and-drop techniques. It interfaces with multiple-ware languages such as ASP, PHP, or Java, has built-in 3D support, creates desktop and mobile applications (for Android, Xoom, Blackberry, and Ipad), builds module components, and offers internal support for the SQLite database. In addition, Adobe Flex has a large user community. It has gained tremendous support in the corporate world and is being used on many enterprise applications for banking, insurance, and medical deployments.

Adode Flex alone doesn’t give you an MVC framework, but a number of MVC architectures are available for Flex such as Parsley, Cairngorm, PureMVC, and MATE. MATE was chosen because of its light finger print (natural use of Flex), and its ability to use Flex modules as stand-alone loosely-coupled components. Finally, SQLite, a lightweight data-basing system, was incorporated since it didn’t require the use of a server administrator. SQLite gave my Dissertation the advantage of widely distributing an application which could simply be dropped on any server with no configuration. Also, SQLite is 3 times faster than other database solutions, and can be 128 bit encrypted for secure data processing.

For educational institutions to survive in the new world of online educational experiences they must create applications that are engaging, rapidly engineered, mobile ready, and offer a low maintenance life-cycle. Using the technologies discussed above, my Dissertation is a prototype for a new generation of educational experiences.