11 Reasons Hosting Your Own LMS Beats the Cloud


Businesses that need easy, out-of-the-box systems to deliver training online are increasingly turning to Learning Management Systems in the cloud. Startup costs are low, they’re scalable, they can be deployed quickly, and many of them provide a great learner experience. For small audiences, infrequent learning or when simplicity is paramount, a cloud LMS is likely the right solution. But they’re not right for every situation, and for many organizations, hosting their own LMS is an overlooked—yet potentially better—solution to learning. We put together a list of 11 reasons to explain why we set many of our clients up with their own LMS (typically WordPress-driven) rather than rely on a cloud solution.

1. Your Rules

With a cloud LMS you’re stuck with what’s offered. Customization is generally limited to branding and some basic options, which may or may not include the functionality you really want. Want to mix facilitated sessions with self-directed modules? Maybe integrate event planning, webinars, ecommerce and social sharing? What about custom automated emails and reporting? With your own WordPress-based LMS, like the ones we offer our clients, you’re only limited by your imagination. Choose from thousands of widely-tested plugins to add capabilities or dig into the code and make the system do whatever you want it to.

2. Your Data

What happens when a cloud LMS vendor disappears, has a catastrophic failure, you outgrow it or new policies require it to be hosted externally? What if your data privacy rules mean storing data in specific countries? You’re out of luck with a cloud solution. With your own LMS you own the database—and the data. Whether it’s for custom reporting, data portability, easy batch changes or something else, direct access to the learner database means more flexibility and less reliance on a third party.

3. Your Security Standards

I’ve already written about the security practices of cloud LMS vendors before. They’re generally lacking. With your own system, you can apply as much or as little security as you need. Restrict access to specific IP blocks, build in 2-factor authentication, put the system behind your firewall—there are no restrictions on how you secure your own learning systems.

4. Lower Total Cost of Ownership

Yes, getting started with a cloud LMS system is very inexpensive. But then you keep paying forever, potentially spending thousands of dollars monthly as your learning programs grow in popularity. Once that happens, it can be very difficult to migrate away from a cloud provider to a solution that’s more cost-effective. Yes, setting up your own LMS costs significantly more initially, but the ongoing costs—regardless of the number of users—can be as low as $0 if you can leverage existing infrastructure.

5. Nothing Disappears Tomorrow

If a cloud LMS vendor disappears, so do your courses and data. When was their last backup, and do you have a copy of your data? With your own LMS, your platform can’t disappear tomorrow because you own it (and take the necessary steps to keep it safe). Sure, there’s a risk that the creator of the tools you use could stop supporting them, but you never risk losing your platform and data. And you’ll have plenty of developers and access to the code to lend a hand if you need it.

6. More Development Support

Need extended support or customization for a cloud product? Chances are you’re locked into using the vendor. With your own solution, like one based on WordPress, there are thousands of developers ready to help out and many active development communities. You’re not tied to one company and competition means better pricing and expertise when you need assistance.

7. Your Systems

Maybe you’d like to use Single Sign On access for your LMS so your staff don’t need yet another password to remember. Or maybe you’d like tight integration with your website to maintain the same look & feel and maybe even the same user profiles. With a cloud service, integrations with your existing systems are often difficult or even impossible. After all, you’re limited to whatever capabilities they want to offer.

8. Better Performance

Simply put, you can’t control the performance of cloud LMS services. The near-universal U.S. hosting may not be ideal for your users in other regions, and without very expensive packages you’ll be sharing the server with other customers. With your own LMS you can build platforms that fit the exact needs of your audience and optimize them to deliver the best possible experience.

9. Unlimited Storage

Every cloud LMS plan is targeted at the generic customer and their expected needs. Have a lot of multimedia to store? You’ll probably be paying for more users than you need then. With your own LMS your courses can be as big or as little as you want—it’s defined by your infrastructure and needs, not someone else’s. This is even more important when you want to start benefiting from user-generated content.

10. Scalable

Cloud solutions say they’re scalable, but what happens if you get really big or decide the LMS suddenly needs to be hosted internally? A basic dedicated server is about as far as a cloud solution can take you. And if you ever need to get the records out, you could be in trouble—plus there’s the significant expense of recreating the programs on another platform. With your own LMS, you can put the data wherever you want, toss in additional servers and load balancing as they’re required, and never worry about hitting a ceiling.

11. Predictable

Predictability is extremely important for businesses. What happens when a cloud LMS vendor rolls out an update that changes the user experience or your reporting unexpectedly? You probably have no time to prepare and the learner/customer impact could be catastrophic. With your LMS, you control the experience and the timing of updates. Want to test them first? Throw up another instance and test things out before they go out to your audience. With a cloud solution you’re at the mercy of a vendor who controls everything, from application changes to features to data. It’s a big risk for companies that rely on a Learning Management System.

Even with all of these considerations, of course, going with an in-house LMS isn’t the right solution for everyone. But with all of the attention on cloud platforms, many companies should reconsider whether or not it’s the right solution for both their learners and their organizations. And even if it is today, what about tomorrow?

Slashing LearnDash Consulting Costs

browser-demo2LearnDash is a great low-budget LMS, but getting it (and WordPress) set up just the right way can be surprisingly time-consuming and complex. More often than not, customizations and complementary tools are needed to deliver the right user experience. For someone jumping into WordPress, an LMS and PHP for the first time, it can all be a bit overwhelming. That’s why so many companies turn to Uncanny Owl, and it’s why LearnDash now represents about 40% of our work.

Many people choose LearnDash because of the low price and simplicity compared to other Learning Management Systems. Going from a LearnDash license to a live website requires a lot of work, however, and the $5,000 to $10,000 price for a typical LearnDash implementation with Uncanny Owl was a barrier to many companies. Of course, that’s a small price to pay for the companies that spent months trying to build their own sites before turning to us! With so many LearnDash projects behind us, however, we’ve come to realize that most of our clients want the same things. They want lots of placeholders with lots of content types that they can reuse; they want everything to look pretty and be user-friendly; they want it easy for learners to find and complete lessons; and they want hand-held training so they can be independent without wasting months learning everything themselves.

To make a custom LearnDash solution more accessible, Uncanny Owl created a base platform that’s reusable rather than starting from scratch for every client. That means we save days of effort on our side and we can pass those savings on to clients. To make it as easy as possible for anyone to get started with LearnDash, we’re now offering a basic implementation that uses our base platform for just $2,500. It’s designed for businesses that want to get online quickly, don’t have a lot of obscure requirements, are short on time to devote to learning new technology and have to work with a low budget. For these clients, our new offer is probably a great starting point. Keep in mind that we can’t just drop it onto your site; a lot of customization is still required to get things ready for you, and we target a turnaround time of 2 weeks.

The new LearnDash demo site is now online at http://lms.uncannycloud.com/. If you’re just looking for a LearnDash demo to check out, keep in mind that we’ve added a lot of features and customizations to create a platform that delivers what most of our clients need. This isn’t what you should expect out of the box with LearnDash.

More details about the offer are on new LearnDash LMS page. It’s brand new, so we’d love to get your feedback about the offer in the comments section below!

Styling LearnDash Courses and Lessons

As many of our LearnDash readers  will know, the popular LMS plugin for WordPress uses custom post types for course and lesson content. That’s great for people familiar with WordPress, since it makes adding and managing content easy, but many page layout tools for WordPress don’t recognize LearnDash objects out of the box. As a result, many users assume they’re relegated to the default WordPress editor. They’re not, and in the post we’ll explore how to use Visual Composer to improve the look and feel of your LearnDash materials.

Visual Composer SettingsAt Uncanny Owl we typically use Visual Composer to design WordPress pages and posts for clients. It’s a paid plugin, bundled with many themes, that adds a drag-and-drop layout builder and a number of content elements to WordPress. When it’s first installed, Visual Composer is only available for pages and posts, not the custom post types used by LearnDash. To enable it on LearnDash pages, navigate to Settings > Visual Composer in the WordPress administration interface and make sure “sfwd-courses” and “sfwd-lessons” are both selected. The screenshot to the right shows the relevant areas.

The images below demonstrate what can be done relatively easily with Visual Composer that would take significantly more effort without it. The image on the left shows a lesson page with embedded Articulate Storyline content from Grade Hacks. Because it’s quite a lengthy lesson, we included some extra information to help learners and set context. We have a row to include a time estimate and navigation tools within the lesson (between the introduction, embedded Storyline and quiz, the page is quite long), a row to introduce the lesson and link to key resources, then a row for lesson content. Everything you see on the page uses Visual Composer elements to produce the design quickly and make it easy to maintain; the image on the right shows how we built it. Click on the screenshots to see larger images of the front end and editing views.


Visual Composer also includes a number of elements that make it much easier for us to include a variety of content types in lessons. With a raw HTML element, for example, we can include iframe code to embed Storyline and Captivate modules within lesson pages. And with a video element, it’s easy to drop in YouTube and Vimeo videos and then move them around the page to try different layouts. We hope this quick lesson helps you improve the look and feel of your LearnDash lessons. If you have any of your own layout ideas to share, please add your comments below!

Top Study Skills Program Goes Free

Grade HacksWe recently made the decision to adopt an open education model for Grade Hacks, our study skills platform. The program combines elearning courses, videos, downloadable resources, calculators and more to help high school, college and university students improve academic performance. The 30-day program has already helped hundreds of students achieve better grades in school.

The shift to a free model was made for 2 reasons. First, we want it to help as many students as possible. Making it a paid program proved a significant barrier for many students (more so than expected) and we didn’t want financial means to stand in the way of students reaching their potential. The program covers many important strategies that aren’t taught in schools and we knew we could help more students than we were reaching.

Second, the program ended up being a driver of consulting business for us. As a showcase platform on the LearnDash website, we’ve received quite a bit of traffic from organizations interested in building out their own LMS solutions. What they could see without registering, however, was very limited. By opening the site up we hope to further expand interest in Uncanny Owl consulting services.

Even though we’ll take a financial hit from opening the site up, we know it was the right move for a program geared to students. This email from a teacher (right after we issued the press release) certainly confirmed it:

I just came across this your website and it looks absolutely fantastic. I am so glad that it is free and I will be using it to help my students (at-risk students including ADHD etc.) with their study skills and learning styles.

We hope you enjoy Grade Hacks too.

A Better eLearning Voice Over Workflow

Editing voice over work can be tedious and painful. For one recent course, we received a single 1 hour audio file from our voice talent that had to be chopped up and incorporated into almost 100 slides in Articulate Storyline. Listening to a 1 hour file, cutting it up and saving it manually to individual files for each slide is far too time-consuming, so I wanted to share our approach in case it can help other people save time editing.

Audacity playback speedFor audio editing we use Audicity. It’s free and works well. After loading the source file up in Audacity, the first thing I do is double the playback speed. At 2x the normal speed I can still understand what’s being said well enough to identify where slide audio begins and ends, and I can also make out potential recording errors. Listening to the audio at normal speed just to identify dividing points takes too much time.

The best way to divide audio by slide and do a batch export is by using labels in Audacity. Start at the beginning of the recording and press CTRL+B (command+B on Mac). This creates a label; name it “Slide 1”. Now listen to the audio and find the break point between the first and second slide. Press CTRL+B again and label it “Slide 2”. Continue doing this until all slides are labelled at the appropriate break points. The screenshot below show a labelled segment of audio.

Audacity labelsExport Multiple AudacityOnce everything is labelled, it’s time to export it. Audacity’s Export Multiple function makes this easy. Just go to the File menu, select “Export Multiple”, and configure the export options. Make sure you split files based on labels and use the label name as the file name; refer to the image on the right for an example. Export the files (just click through the metadata options) and you’ll end up with a folder full of audio files for individual slides. Import them into your favourite authoring tool and you’re ready to go.

Websites, LearnDash and More

At Uncanny Owl we do a lot more than just create engaging elearning programs. While that’s certainly our core business, we have completed some interesting work in other areas over the last month that’s worth sharing.

We continue to get a lot of attention for our LearnDash work. We’ve helped both a boating company and transcription business set up LearnDash platforms and course content recently (names withheld because they haven’t launched) and we start another big LearnDash project next week. Most of our inquiries for LearnDash work seem to come from California now; a number of startups are turning to LearnDash as a low-cost way to develop Minimum Viable Products in the edtech industry. For basic hypothesis testing and model validation, it works quite well—even if some manual interventions are still needed in the workflow. If you’re looking to build your MVP and need some LMS features, we may be able to point you in the right direction or lend a hand.

ManchesterCF LogoWe’ve also been busy with some web development projects recently (which does tend to go hand-in-hand with LearnDash development). A few days ago we launched a redesign of ManchesterCF.com, a Toronto-based company that provides financial crime training and advisory services. We also recently launched torontotrackdays.com, a pet project for Ken that helps Southern Ontario track enthusiasts find events and support. We’ve also taken over a marketing automation cleanup and reengineering project for a mid-sized software company.

The work is busy and diverse, but it keeps things interesting and really hones our ability to serve as a one-stop shop for everything elearning, from creating courseware to building the platforms to deliver it effectively (and profitably).

Delivering Better Webinars

176891779I recently participated in a webinar facilitated by a large elearning group that was delivered to about 1,000 people. It’s been a while since I sat in on a webinar of that size, and given the group’s industry and audience, I expected a really polished session that I could learn from. What surprised me most were just how many easily fixable issues still pervade webinars, even at the top levels.

The problems started during the introduction. The facilitator was clearly reading notes from a script and stumbling through them as admin activities were taking place in the background. For scripted content, why are people still not prerecording everything to ensure a polished performance? If there’s no video and no audience interaction, the people on the webinar will never know the difference; they just get a great delivery.

With the introductions out of the way, the problems shifted to the presenter and her interaction with the moderator. First the presenter had trouble gaining control of the webinar to show her materials (wasn’t there a run-through?). Then the lack of an audio check meant that the moderator had to interrupt the presenter to see if abandoning the headset and going with a different microphone would yield a better result. This is all, of course, while 1,000 people listened and waited. And, once again, the presenter fumbled between reading a script, showing materials onscreen and talking through what she was doing. Periods of scripted demos could have easily been prerecorded to make things better for everyone; it’s only when there are interactions with the audience that live teaching is needed.

There were, fortunately, such opportunities for interaction. And, unfortunately, they went poorly too. There were awkward delays while the moderator took back control to enable voting and then waited for more than a handful of people to participate. The technology platform, GoToWebinar, was also annoying during this time; I work on multiple monitors and had the webinar on my 2nd monitor in the background, but every control change moved it back to my primary monitor. The opportunities for audience interaction also didn’t make any difference to the session; the results didn’t affect the session flow (responses were easily predicted) and it could have all been prerecorded.

Maybe there are some people who appreciate a haphazard webinar more because they know it’s at least live and it’s potentially more relatable. For me, I’d rather see the polish and people who execute well. I also see it as something of a market problem. There are great tools that make webinars easy, but there seems to be a lot less interest in how to do them well. Users fend for themselves and, all too often, come up short on delivery.

So what can you do deliver better webinars? For starters, I think a lot of the guidance we have over on Grade Hacks about delivering presentations comes into play. Try to practice the session in its entirety at least 3 times before you deliver it, preferably on the same equipment and platform as you’ll use for the live session. Sign in early and test the audio, changing control and presenting interactive elements. Record things that don’t necessarily need to be live if you can get away with it. Get a few other people to sit in on the practice session and give you feedback. Record it and watch it yourself to see how everything comes together for the audience. For important webinars, put the time in up front to get things right.

Screencast Workflow Best Practices

Female hands typing on comuter keyboardWe recently created a number of screencasts for clients to support software training. As public-facing screencasts for enterprise software, the standards had to be very high. That meant 1 single person couldn’t do everything; we needed a professional voice actor, a software SME, and someone from our team to take care of instructional design and editing. While we’ve certainly created many screencasts, I looked online for workflow best practices for creating high-quality screencasts with multiple resources.

Unfortunately, very little guidance and a lot of complaints were all that I could find. For this type of screencast you can’t wing it; having the SME record the video and then building a script around it just doesn’t work. And getting the voiceover work done prematurely, without proper planning, tends to mean rework. So what’s the best approach?

While it might not work for every situation, we’ve developed an approach to screencasting that generally works well for Uncanny Owl. Here are the steps we follow:

  1. Plan everything. We start off by looking at the planned outcomes and objectives. What does the learner need to get out of the screencast? What’s the best way to achieve it using the software? This certainly requires a lot of collaboration with an SME and production of a draft script. We can have the software up on the screen and walk through exactly what the learner needs to see and how best to explain it.
  2. Record the video. The SME does the actual interaction with the software while someone from our team observes the recording to do initial script reconciliation and verifying that the pace is appropriate. With 2-3 good takes, there’s typically enough video to perform a more detailed reconciliation and to tailer the script as needed. If anything needs to be recaptured, it can be done almost immediately. It may even help to have someone read the script while the SME is performing the activities.
  3. Finalize the script. This needs to get as close as perfect as possible before it goes to the voice actor. Try recording it yourself and listen to it both with and without the video to make sure it flows well and is straightforward to learners.
  4. Record the audio track. Since the voice talent may not have the video context to work with, include directional cues in the script as required.
  5. Put everything together. Cut the audio up and add it to the video, syncing everything so it seems like the person interacting with the software is the same person speaking. Add or shorten the video as appropriate, and make sure any edits don’t hurt the pacing or cause problems with mouse movements. Once that’s all done, the screencast is ready for publishing!

That workflow has produced generally good results for us, but we’d love to hear your tips for better screencasts in the comments.

How to Save Money on eLearning Projects

Business reportSometimes the elearning solution you want costs more than you want to spend (or more than you can spend!). Balancing budget and scope is always a challenge, and the cost of elearning can vary widely depending on the context and requirements. According to a 2010 research report by the Chapman Alliance, the cost of a 1-hour elearning course might average as little as $10k for a basic, linear course with static media to as much as $50k for a highly interactive and dynamic program. In this article, we’ll look at some ways to keep your project costs lower when you work with elearning vendors.

Make sure your goals and objectives are clearly defined before including any outside parties in an elearning project. What do you really need and what are the expected outcomes? Risk and unknowns are going to increase quote costs and potentially lead to expensive rework late in the project. The more you can define and prepare up front, the less you’ll need to spend.

Keep everything as simple as possible. Use animation and interactivity sparingly to improve knowledge transfer, not just to look good. Think about what really needs to be custom and what existing resources can be leveraged.

Compile all of your subject material and organize it for easy hand-off. This step can  save a lot of time by eliminating expensive research and review cycles. Where material does exist, but may not be in a format suitable for easy incorporation into elearning, make improvements. Make everything as simple and straightforward for the vendor as possible (if they can see what will be provided up front to better assess their effort, they can lower the price accordingly).

Reduce review and testing requirements. Maybe 1 or 2 reviews with 3 people in a room is enough rather than 3 rounds with 6 people that’s conducted by email with updates in between. When it comes time to test the elearning, maybe testing on 3 platforms is enough with a handful of users rather than significant cross-platform testing and a large pilot group.

All of these ideas should help lower costs while not significantly changing the scope and outcomes of your project. Try doing whatever you can in-house and make the vendor experience as easy and straightforward as possible.

If you have any other tips, feel free to add them in the comments below!

WordPress the LMS: Working with LearnDash

LearnDash is a low-cost Learning Management System (LMS) plugin for WordPress.  Installing it adds LMS features to your WordPress instance, including courses, quizzes, certificates and progress reports.  In this post, I’ll review some of the ins and outs of working with LearnDash and how we used it to create Grade Hacks, our study skills program.


The WordPress admin menu after installing LearnDash.

The WordPress admin menu after installing LearnDash.

Installation of LearnDash is as straightforward as installing any plugin in WordPress.  You purchase the plugin at learndash.com, download the .zip file, and upload it to WordPress through the Plugins page.  Doing so adds new menu items to your WordPress admin panel including Lessons, Courses, Quizzes and Certificates and Advanced Quiz.

Setting up courses

Setting up your first course in LearnDash involves creating a course, then creating a lesson and associating it with the course.  If you wish to further divide your content you may create a topic and link it with a lesson*, or create a quiz and link it to a lesson.

Because the admin interface is organized by content type (course, lesson, topic, quiz) rather than by course, setting up a course is a bit of a disjointed process. You are constantly jumping between the the course, lesson, topic and quiz screens, linking them all together with course associations.  Many LMS platforms have you “select” or “enter” a course, with any subsequent actions you take applied automatically to that course.  It’s a more natural way of thinking and working because users tend to focus on one course at a time.  But due to the way LearnDash uses WordPress custom post types to implement the course, lesson, topic and quiz objects, creating that type of editing paradigm isn’t possible.

Thankfully, you eventually get used to jumping around and if you only have a few courses to develop it works quite well.  But if you intend to have many courses, with no way to filter lessons by course or topics by lesson, it could become tedious to find what you’re looking for.

After setting up a course, you must also  provide a way for users to access the course on the site’s front end, either through a menu or a link on some other page on your site.  You can link to the specific course or the default course list page (at /courses).

Creating content

A customized LearnDash lesson page.

A customized LearnDash lesson page.

Other than quizzes, LearnDash does not provide any content creation tools beyond the standard WordPress post/page authoring interface.  We leveraged the excellent Visual Composer plugin to set up some nice page layouts with sections to related resources and exercises.  We used Articulate Storyline to create content that provided a more immersive, interactive experience than static text and images.  Using shortcodes, we then embedded the Storyline content in several formats to target the various devices our users may be using to view the content.  On desktop and laptop, we instructed WordPress to display the Flash-based Storyline content, as this was “truest” to what we saw in the Storyline authoring environment.  On iPad, the content was displayed in the Articulate Player app, which provided a nice “native” experience for the learner. On other platforms, the system falls back to HTML5.

For quiz creation, LearnDash currently offers the most powerful assessment tools of any WordPress-based LMS, unfortunately wrapped in an awkward interface.  Functionality is accessed through standard or advanced quiz types, with standard being too basic for many applications and advanced offering a dizzying array of options.  Both types use  different interfaces for managing questions and you can’t switch between the two, so you may find yourself halfway through the creation of a standard quiz only to realize you need the functionality of an advanced quiz and have to start over.  The quiz UI could really use an overhaul that creates a single, unified quiz interface that exposes the most commonly used controls while hiding the rest for power users.

User Experience

The default course homepage using the "Twenty Fourteen" WordPress template.

The default course homepage using the “Twenty Fourteen” WordPress template.

Out of the box, the LearnDash user experience is quite good, providing an intuitive course/lesson/topic structure which works well for most situations.  Visually, course and lesson pages were redesigned in the version 1.5 release and now provide a simple, pleasing interface to the user.  You’ll run into small niggles here and there though; for example, after successfully completing a quiz, the learner must then click a button labeled “Click here to continue” for their progress to be recorded.  If they instead leave the quiz by some other method or close the window, their progress is lost and they are forced to retake the quiz.  The plugin author is aware of this issue and has promised a fix.

The experience of using WordPress as an LMS is also not without its quirks.  Logging into WordPress does not, by default, change the site’s menus or navigation, which means that logged-in users may have a hard time distinguishing between marketing pages and paid content.  We used the Nav Menu Roles plugin to display different menu items to logged-in users, which created the impression of a separate public site and learner portal.


LearnDash provides a number of options for customizing your LMS, as well as shortcodes for outputting various types of LearnDash content on any page or widget.  Like most plugins, LearnDash can be customized through CSS overrides in your template files or a CSS plugin.  Advanced developers used to working with WordPress hooks, however, will be disappointed. LearnDash includes few actions and filters, and those that are included are poorly documented.  LearnDash also does not support template overrides, so for major customizations you’re stuck making changes to core files.


The LearnDash plugin author, Justin Ferriman, is very responsive to customer feedback and maintains an active support forum available to paying customers only.  Users who post a question will usually receive a response within a day.


LearnDash is probably the most full-featured LMS plugin available for WordPress today.  It’s still early in its development, but it’s being updated quickly and once you get used to it you’ll find it’s capable of delivering a solid experience for your learners at a low cost.

In a future blog post we’ll cover the ins and outs of using LearnDash and WooCommerce to sell your courses online.

*In version, in addition to assigning topics to lessons you must also assign them to courses for them to be tracked properly.  This seems redundant since you assign topics to lessons, which are themselves assigned to courses, and will hopefully be updated in a future release.