Group Hierarchy Reporting support for LearnDash

It’s time for a huge Uncanny Groups for LearnDash release that adds some important new tools for site owners, end users and developers. Let’s jump straight in to what’s new.

Group Hierarchy support for LearnDash reports

This has been a popular request for months now but we needed to be very careful about how we approached it. We didn’t want to slow report generation down too much, nor did we want to potentially confuse users with new views of consolidated data. As such, the very first thing we did was to make the hierarchy support optional. To use it, turn on group hierarchies in LearnDash and enable this new option in your Uncanny Groups settings page:

Add LearnDash group hierarchy support

Once those changes are made, and you have some groups set up in hierarchies, visit your Group Management page on the front end. If you select a parent group from the drop-down (or you view it as a user with a single group that is a parent), you’ll see a new checkbox to include data from child groups in the table. When you check this, the page will reload and students across the current group and all child groups will be output in the table. The list of courses for the group will be updated to include courses from all child groups (as results from students in the table could be for courses not otherwise in the parent group), the functions in the Users menu are hidden (to avoid confusion around which group a student would be added to) and the checkboxes to select multiple users are also removed (students can only be removed from a single group at a time).

For other report pages (including the course progress, quiz, essay and assignment reports), results from the child and parent groups will be combined automatically. These reports, when the “Include data from child groups in reports” setting is checked, will always show data that covers both the selected group and all of its children, no matter how many levels deep in the hierarchy.

Please note that this is a global setting, it is not possible to add hierarchy support in reports for some groups only or for some reports only. The setting affects all groups and Uncanny Groups reports.

Export the Group Management student list

The Uncanny Groups 4.1 release adds support for exporting the list of students on the Group Management page to a CSV file. By default, an “Export CSV” menu option is added to the Users menu on the page. For users that hide or show elements using our shortcode attributes, this menu option can be hidden with the new csv_export_button=”hide” attribute for the Group Management page shortcode.

Seat count changes when users are removed

Normally, removing a user from a group (when it’s “allowed”) causes the seat count to increase. After all, since the user is no longer in a group, in most situations someone else should be allowed to take their place.

In Uncanny Groups 4.1, there is now a setting so that users that have completed all courses for a group will not free up a seat when they’re removed from the group. Here’s the new option for this behaviour:

Free LearnDash Group Seats

Instant access to essay records

We have added the ability to prepopulate the search field on the Manage Essays page based on a querystring passed into the URL of a page. As populating URLs should be dynamic for there to be much value with this feature, it is largely for use by developers. To use this new feature, add this string to the URL of a Manage Essays report page:


where “%query%” is a string to be entered in the search field, perhaps a username, status or lesson to pull up reports more quickly with the associated record. This helps to show users a specific view of data without them having to filter records themselves.

New Developer filters

We know many sites want to customize our reports to show different columns, filters and more. To help with this (as even if we add more optional columns, we’ll never make everyone happy), the following new filters have been added:

Progress Report – ulgm_progress_report_courses

Progress Report – ulgm_progress_report_user_quizzes

Progress Report – ulgm_progress_report_user_courses

Group Management page – ulgm_is_reconcile_required

Group Course Report – ulgm_group_course_report_user_course_data

Edit Group page – ulgm_other_similar_orders_limit

These new additions will help developers more easily modify our report output to meet exact site requirements.

We hope you enjoy the new enhancements!


Introducing the Uncanny LearnDash Toolkit

We are very pleased to announce the Uncanny LearnDash Toolkit, our very first plugin in the WordPress repository. This plugin is a collection of some of the key basic features we see requested on LearnDash sites that usually require a custom solution. We created this plugin to make it easier for general LearnDash users to get a head start with their LearnDash sites.

The plugin, at least for its initial release, makes it easy to do the following:

  • Add a clean login form to any page so you don’t have to rely on wp-login.php.
  • Force user verification, so users can create accounts but can’t sign in until approved by an administrator.
  • Hide the admin bar for WordPress roles of your choice.
  • Add a button anywhere that lets users resume their most recently viewed course, lesson or topic.
  • Display a user’s list of LearnDash Groups in their user profiles.
  • Redirect users to a specific page after logging into the site.
  • Mark lessons as complete automatically when all topics and quizzes within the lesson have been marked complete.
  • Hide or show menu items based on the user’s signed-in state.
  • Display a list of earned LearnDash certificates.
  • Show or hide content based on a user’s signed in state.
  • Display a list of certificates in a widget.

Yes, it’s a lot of functionality. We designed it to be lean though, and it’s really easy to turn on only the specific features you need. Every feature has an on/off switch so you can use the plugin  as much or as little as you want. For the developers out there, we’ve added some hooks and translation features that should make your customizations easy (we’ll follow up with another post with some of the cool things you can do with filters).

Uncanny LearnDash Toolkit

Before I jump into a detailed overview of each feature and how to use it, there are 3 very important things to remember. First, this is the first release of a complex plugin, so there could be issues. We invite feedback, and in fact, we’ll be opening up the git repository so you can suggest changes. Second, the plugin offers a lot of capabilities, so to maximize performance, we made it possible (and easy) to turn functions on and off. By turning functions off the associated code will not run and there won’t be any performance hit; as such, we recommend turning features off that you don’t need. Third, very little styling is included so that the plugin styles inherit whatever has been set up for the theme and LearnDash. Our aim was to keep things consistent with your current system and easy to style with CSS rather than introduce new styles.

With that out of the way, here’s a video that outlines exactly how the plugin works and how to use each of the features included in it.

Detailed Feature Overview

Front End Login


This function lets you put login forms anywhere on your WordPress site; it also allows you to restrict access to verified users. To use this feature, turn it on so that the green ON switch is displayed. Once enabled, several features become available: a [uo_login] shortcode for login from any page; a [uo_login_ui] for the default login page (which replaces wp-login.php and must be defined in the feature settings) and user verification.

Let’s start with verification. If enabled in the Settings (click the Gear icon to turn this on), users that register from the front end MUST be manually approved by an administrator before they can sign in. This field must be checked for it to work. Once set and saved, a “Verified” column will be added to the list of users in WordPress. Any users listed as “Not Verified” cannot sign into WordPress. To verify a user, navigate to the user’s profile and look for the “Verify User” label. By selecting this field and saving the page, the users will be able to sign in. On verification, users will also be notified by email that the account has been verified and access has been granted. If you turn this feature on, make sure you verify all existing users, including administrators!

The [uo_login_ui] shortcode allows you to replace the default wp-login.php page with your own branded page. To set this up properly, we recommend creating a page first and adding the [uo_login_ui] shortcode to a page. Once that’s done, return to the Uncanny Toolkit settings page and open the settings for Front End Login. Choose the page you added and save the settings. Once this is set up, users will be directed to the new branded login page instead of wp-login.php. Both the shortcode and the page must be set up for this to work properly. The login page must also be set up for the user verification to work.

To add a simple login form to any page, use this shortcode example: [uo_login]content if logged in[/uo_login]. That allows you to add the form and include a special message to users seeing the form area that have already signed in.

admin_barHide Admin Bar

This very simple function turns the black admin bar at the tops of pages off for any roles that you don’t want to have access to it. Typically this might include Subscriber and Customer roles.

LearnDash Resume Button

When turned on, this function stores the last LearnDash page that every learner visits. To use make this available to learners, add the [uo_learndash_resume] shortcode to any page. This will create a button that, when clicked, will take the user to the most recently accessed course, lesson or topic.

LearnDash Groups in User Profiles

As the title says, this feature adds a row to backend user profiles that shows a list of LearnDash Groups for which the user is a member. This makes it a lot easier to troubleshoot course permission issues on sites with many LearnDash Groups.

Login Redirect


By turning this feature on and setting a redirect URL in the Settings window, you can easily send users to any URL after login. If the URL field is left blank than users will be directed to the homepage. This feature is a great way to make sure learners are directed to a dashboard or course page immediately after signing in. Note that the redirect does not apply to administrators.

Topics Autocomplete Lessons

Have your learners ever gotten confused when they’re directed back up to the lesson page after completing all topics in the lesson? Ours too. It means they’re seeing the lesson page twice and have to mark it complete the second time, which isn’t always obvious. What this function does is run a check when a topic is completed to see if it’s the last incomplete topic in a lesson, and if it is, the lesson is marked complete automatically and the learner is navigated to the next lesson page. It may only save a click, but it can really help to simplify navigation and reduce confusion.

Menu Item Visibility

It almost always makes sense to show different content to signed-in learners and anonymous visitors. Learners need access to things like a course dashboard, profile management and account details; those things aren’t relevant to people that aren’t signed in. Turning this feature on adds a simple control for WordPress menus: each entry can be visible to everyone, visible to signed-in users only or visible to signed-out users only. We kept it light, so there are no controls by role or other attributes, but this should be good enough for most sites without requiring a heavy plugin.

Show LearnDash Certificates

Ever wish you could easily show a list of earned certificates? The [uo_learndash_certificates] shortcode makes it easy. Drop the shortcode anywhere to show a list of earned certificates, with the most recently earned at the top. To style the container, use [uo_learndash_certificates class=’my-class’ title=’my-title’], where my-class is a CSS class and my-title is a title for the element.

Show or Hide Content

This feature allows you to show any content you want to either logged in users OR logged out users. Here are 2 examples of how to use the shortcodes:

That example would display the text to users that are signed in. This might be useful in an Open course to display special bonus content, like a video or download.

Show content for logged out users

That example will display the content for users that aren’t signed in. This is helpful for calls to actions and other marketing that isn’t relevant to signed-in users.

LearnDash Certificate Widget

This feature is just like the Show LearnDash Certificates function above but it makes it available as a widget. This is a great addition to navigation sidebars on LearnDash pages and learner dashboards.

That’s it for the first iteration of the Uncanny LearnDash Toolkit!

We really hope you find it useful.

Click here to view the Uncanny LearnDash Toolkit in the WordPress Repository. Please note that it does require PHP 5.6, as recommended by WordPress.

v1.1 Update April 8, 2016:

Log In/Log Out Links

Screenshot_040816_105703_AMWe’ve added a really handy feature for adding log in and log out links to your menu, widgets, or posts!

Once activated, you’ll see a panel called “Uncanny Menu Links” in your menu sidebar.  You can add a Log In link, a Log Out link, a link that automatically switches between Log In and Log Out depending on whether the user is logged in or out, or a link to your Register page.

To add the links to a widget or post, use the shortcodes below:

  • [uo_login] : Log In link
  • Logout : Log Out link
  • Log In : Log In / Log Out link
  • Register : Register page link

v1.2 Update April 12, 2016:

Breadcrumb Links

breadcrumbsWe’ve incorporated our breadcrumb link plugin into the Toolkit and improved how it works.

After enabling the module, you can use a 

shortcode wherever you want breadcrumb links to be displayed. If you want to include the breadcrumbs in a header template instead, use <uo_breadcrumbs()> in the PHP file.

Out of the box, breadcrumbs for LearnDash are displayed in the following format: Home > (Course Archive Page) > (Course Name) > (Lesson Name) > (Topic Name). Since most LearnDash users will prefer a dashboard (like a page with a profile shortcode, course grid or something custom), we added fields in the Settings panel for this module that allows you to define the dashboard page name as well as the page to use. When these 2 values are set, the dashboard will replace the course archive page in the breadcrumb links. You can also change the separator in the settings (and even include HTML if you want to use Font Awesome or something similar).

Because breadcrumbs just require a shortcode, you can use them inside LearnDash posts, in the sidebar, or anywhere else you want. We do also include WooCommerce support, but associations may not work as well for other post types.

New to WordPress? Start Here

BudhaBlogging_orangerob_mikeface copyWe love helping people discover WordPress and use it in creative ways. In fact, its one of the things that sets us apart in the LearnDash consulting space—we’re educators first, developers second. Every project we work on puts heavy emphasis on training clients to use their platforms effectively and delivering a great learning experience to users. We spend a lot of time teaching people to use WordPress and we’re always looking for better ways to deliver WordPress training.

That’s why we were very excited to partner with Mike Brown of TheBloggingBuddha to create an easier way to help beginners learn WordPress. What really sets TheBloggingBuddha apart is that it’s very simple, it’s comprehensive, and it’s free. An account is only needed to track progress and issue rewards.

TheBloggingBuddha walks new WordPress users through the entire website creation process, from buying a domain and hosting to setting up pages, posts and plugins in WordPress. By the end of the WordPress Orientation course, learners will have a fully-functional blog up and running; and best of all, they’ll understand how to use and maintain it.

Here’s a video that explains TheBloggingBuddha:

TheBloggingBuddha website is, of course, powered by LearnDash. That’s why we’re profiling it! The site itself is the result of a collaboration between Mike Brown (TheBloggingBuddha), Bourn Creative (site and theme development), and Uncanny Owl (all things LearnDash-related and authoring of the WordPress Orientation course).
What visitors to our blog will especially like is that it’s one of very few examples of a robust LearnDash site where all LearnDash courses are available to everyone at no cost. It’s often hard to showcase LearnDash on WordPress sites because the LearnDash content is only available to paid users. With TheBloggingBuddha everything is free—even without an account (users without an account just can’t see videos).

For our LearnDash readers, you can jump straight to lessons on how to start a blog to see how the course was set up in LearnDash. LearnDash was only lightly styled, and the Course Grid and BadgeOS plugins help to improve the look & feel as well as engagement. We did some development to handle things like a personal greeting, encouraging users to create an account, and redirections, but we really kept plugins and development to a minimum. It’s a great example of what can be done with LearnDash and some very minor customizations.

We hope you enjoy TheBloggingBuddha and find it useful, both for WordPress training and as a LearnDash showcase!

Hosting High Traffic LearnDash Sites

Update: Please note that this post is a summary of tests we conducted to assess the number of simultaneous learners a site can support, not total learners in a system. LearnDash can accommodate tens of thousands of users in the database, but most hosts can’t accommodate that number of learners being on the site at the same time. The tests in this article were to assess how many simultaneous learners the hosting plans could accommodate.

At Uncanny Owl, we’ve been building and managing LearnDash sites for several years. In that time, you might think that we’d have a hosting solution for every possible type of LearnDash site, but we simply don’t. We have LearnDash sites on Flywheel, WP Engine, Cloudways, Kinsta, even Digital Ocean and Vultr instances. We set each site up on a platform that’s a suitable fit for the site and volume of learners, and generally we target accommodating 25 to 50 simultaneous learners. That might sound like very few, but we find it’s enough even for sites with several thousand learners. It’s just very rare for a large group of learners to visit the site and complete learning activities at the same time. As such, we target the site’s actual load to make sure our clients aren’t paying for more than the site needs.

Recently, a client asked us to develop a plan for ramping up to tens of thousands of learners quite quickly. It’s been a long time since we last did load testing on LearnDash, and we’ve never done it with higher-end tiers on managed providers. We decided to try out the client’s existing LearnDash site that was reasonably heavy (University theme with Visual Composer, a few dozen plugins and various customizations) to see how it would hold up. The site wasn’t one we created, but it’s representative of what a lot of people create with LearnDash.

We loaded the site up on 3 different hosts: a Professional plan at WP Engine ($99/month), Business plan at Kinsta ($287/month) and an 8-core/16GB Vultr instance at Cloudways ($264/month). We knew the load would really push the cores to their breaking point, so we had high hopes for the 8 core Vultr VM. We created a complex script for Blazemeter that had 1,000 total users sign in to WordPress and complete/navigate close to 60 LearnDash pages. Each page had a lot of shortcodes and a number of images or embedded video. We even had users complete a quiz. Clicks were mostly timed about 30 seconds apart, which was on the aggressive side for LearnDash use, but we wanted to see what it took to break the servers. Activity was spread out over an hour, with the number of users gradually ramping up. Because the activities didn’t take an hour to complete, we planned to see some virtual users roll off the test as others started (so we would never see 1,000 simultaneous learners, but we did want to see a few hundred).

Cloudways Results

CloudwaysIt’s hard to tell from the chart, but Cloudways was great until about 75 users. Then page load times climbed to 5 seconds—and kept climbing. The test ended up peaking at a very high number of users because it got too slow for users to complete the script. By 100 users the response time was an unacceptable 10 seconds, and by 400 users, the error rate shot up. Because Cloudways kept getting worse and worse, and further behind, average page load time ended up being 67 seconds. The server was fine for 75 learners, but definitely no more. All cores were maxed out after that point. One thing to note: this server was held back a bit by not using a CDN. Both other sites benefitted from a CDN.

Kinsta Results

KinstaThe Kinsta graph looks a lot better, right? The response time looks stable—until you notice that it’s stable at about 25 seconds. That’s far too long for users to wait. Response time on Kinsta is good until about 100 users. After that, it’s just too slow, and at 300 users we start seeing errors on top of that. On a side note, this was our first time using Kinsta and developer tools just weren’t as useful or efficient as on WP Engine. It’s not reflected in the numbers, but it’s definitely a consideration when we’re choosing where to host a site.

WP Engine Results

WP_EngineWe ended this test early because we had the info we needed after 20 minutes. WP Engine failed early too; right at about 85 users. What was different on WP Engine was that load times didn’t increase; if response times got high WP Engine just threw (a lot of) 502 errors. A poor user experience, to be sure, but still better than Cloudways serving pages in 60+ seconds—at least users saw something. And the key takeaway is that the site was ok up to 85 simultaneous learners, which surprised us, given that WP Engine was the only shared environment and it’s one third the price of the others.

None of the results really impressed us; we hoped that at least one of the servers could have accommodated over 100 simultaneous learners. For now, at least, we put that particular client site on WP Engine. Performance is good enough for the current number of learners, it’s the lowest cost of the 3, we have an upgrade path there for additional learners, and the site tools we need are the easiest to work with. We just wish we didn’t have to always deal with caching and session/cookie issues on complex LearnDash sites hosted on WP Engine.

If you’re managing a LearnDash site that has a lot of simultaneous learners, we would love to hear how you’re hosting it in the comments!

Best Practices For a First WordPress LMS with LearnDash

learndash-decisionsWe help small and large businesses create WordPress-powered Learning Management Systems. While every business might come to us with different needs, everyone’s early questions tend to have similar themes. Is a WordPress LMS the right fit for my needs and program? How can I deliver a great learning experience? We thought many of our answers to questions like those would be of interest to a wider audience, so this post captures what we generally recommend for WordPress LMS projects.

Before jumping into any WordPress LMS project, we always make sure that WordPress is the right fit. It’s definitely the wrong choice for many projects! For programs with fewer than 100 users, a cloud LMS can be more cost-effective. I personally find that a WordPress LMS (like LearnDash or Sensei) works best for self-directed, linear elearning programs. Courses with a lot of video, text, images and downloads fit well, and it’s best for programs with relatively simple needs.

Facilitated programs can work in a WordPress platform, and we’ve created and seen examples of some that are quite effective. Tin Can support is available, and while we have created several programs that rely on an LRS, I’m never thrilled with the outcome. My strong preference, if Storyline, Captivate or Lectora content needs to be embedded inside WordPress, is to embed only and not track anything inside those modules. Rely on LearnDash (the LMS plugin we use most) for tracking and assessment rather than Tin Can, and generally speaking, simpler programs are better with LearnDash, unless you have some development expertise. If you don’t understand most of this paragraph, that’s a good thing, because it likely means your needs are probably simple and a better LearnDash fit!

Once you’ve determined whether or not a WordPress LMS seems like the right fit for your program, spend some time thinking about the learner experience you want to achieve and what the platform needs to do. There are a lot of things that LearnDash can’t handle well out of the box, even with integrations—group licensing, extended reporting, handling multiple course authors and programs where continuing education credits are issued come to mind. These types of things require professional assistance, and even then, there may be better platforms.

It’s also important to consider whether your course structure fits within the LearnDash model. For most uses, LearnDash effectively has a 3-level course structure: courses at the top, then lessons, then topics inside lessons. I like to see courses where materials can be divided up into 2-5 minute segments, which become lessons and topics inside LearnDash. Keep in mind that LearnDash only tracks whether or not users complete a lessons or topic, not what they do inside it (unless it’s a quiz). So if your course consists of a series of 1-hour videos, users are going to find it painful when they discover they can’t resume videos in later visits. By keeping pages brief and focused, it’s much easier for users to tackle programs across sessions and to feel like they’re making progress. LearnDash is a much better fit for courses that can chunk information as I’ve described.

Of course, since I’ve said that LearnDash works better with simple programs that don’t have a lot of interactivity, how do you make courses engaging and promote knowledge transfer? Well, even if you stick to simple media and interventions, you can still push them to deliver an effective learning experience. Videos work well inside LearnDash. If you have great videos to work with, you’re definitely a step ahead. Use short quizzes liberally to promote reflection and self-assessment. Get some great images and diagrams in there! We have an in-house designer for that purpose, but even if you don’t, stock photo sites like Depositphotos can be a great source of media. Try to mix things up and appeal to a variety of learning styles. We try to build programs that mix video, text, printable files, quizzes, infographics, diagrams, suggestions for offline activities, surveys and more. Since WordPress is extendable with plugins, it means we can also easily add interactive elements, like images with hotspots, games, awards for completing activities, and even social elements. For one of our sites we even created a virtual study group system!

Many of the businesses we partner with are familiar with WordPress, and sometimes unlearning the blog-centric view of WordPress is important. On a typical WordPress site, most people aren’t signed in when they use it. With LearnDash, the signed-in experience needs at least as much consideration as the public experience. A lot is different—typically menu items, navigation, and access to pages and resources will be modified for signed-in users. While anonymous visitors are typically directed through a sales funnel, signed-in users should have easy access to program materials. It’s important to think about both experiences (and, on many larger sites, the experiences of different user roles and groups).

The signed-in experience also introduces a lot of hosting considerations that are easily overlooked. It’s harder to cache LearnDash sites because pages are customized to the user. They tend to be more complex and CPU-heavy than typical WordPress sites. We only host client sites on managed WordPress hosts like WP Engine. We’ve simply had too many issues on shared hosts and VPS systems, and saving $20 per month is never worth the risk or inconvenience. Moreover, we love having a phone number to call for immediate help and having to worry less about security and backups.

Once you’ve settled on LearnDash, a vision for the platform and the infrastructure, choosing a solid theme and plugins are extremely important decisions. Before I talk about what we generally use, I’ll add some qualifiers. Yes, we know that for performance and stability reasons custom themes and code are the preferred way to go. We know that our typical platforms are “wrong” to WordPress purists. We do go heavier for several reasons:

  • Client ease of use and flexibility are huge for us. We want people in there designing new course materials without having to remember shortcodes or going through us. We want people to feel empowered by the platform, not enamoured with the front end but unable to make changes themselves.
  • We don’t want people to feel like they’re stuck with Uncanny Owl. We want to earn that ongoing relationship, not force it. That’s why we like commercial support from paid plugins and themes, big user communities, regular updates, etc. Our client sites are safe no matter how involved we are in future. Yes, we do a lot of customizations for platforms, but that doesn’t mean we need to reinvent the wheel for everything we implement.

With that model in mind, we do make use of commercial themes. Right now we like Total for new LearnDash platforms. Yes, it’s heavier than it needs to be for most sites. But it also gives people a lot of control without the risk of breaking things, and it plays nicely with LearnDash. It’s also reasonably developer-friendly.

We do use several plugins consistently on LearnDash sites. Since this invariably comes up in discussions with LearnDash users who are trying to do things themselves, here are the plugins we find particularly valuable:

Content Aware Sidebars – To segregate widgets between LearnDash and non-LearnDash parts of websites.

Gravity Forms – Because basic forms and LearnDash quizzes usually aren’t enough, and there are some interesting ways to incorporate forms for feedback, evaluation, reflection and more.

Nav Menu Roles – To manage menus based on signed-in state and role.

WooCommerce – Our ecommerce standard because we can make it accommodate almost any scenario.

We do have a lot of other recommended plugins (and lots of in-house ones) but we’ll save those for another post. The ones above make it onto almost all of our LearnDash sites. One thing to keep in mind with plugins is to try to only use the plugins you absolutely need. Yes, we know it’s tempting to experiment and add features, but they do slow things down and increase risk.

Once you’ve settled on all of the pieces described above, you’ll have all of the fundamentals in place to build an engaging and efficient platform. We hope this post helped to point you in the right direction!

Case Study: English in 30 Minutes

English in 30 Minutes
We recently helped a client in the UK launch English in 30 Minutes, a new online learning program that helps students and young professionals improve their English skills. The site had been in development for a year before Uncanny Owl became involved, with work performed by both site owners and 2 other developers. When we took over, functionality was lacking and there were multiples issues with both design and operation. Uncanny Owl’s mandate was to do whatever was needed to create a functional and engaging site that made it easy for people to learn English.

Uncanny Owl did everything from copywriting and design to custom plugin development and implementation. Using LearnDash for LMS capabilities, we created a robust learning platform that can accommodate thousands of global learners.

Issues and Solutions

The site we took over was broken in a number of key areas. Because we didn’t know what had been created or how, we ended up abandoning the existing WordPress platform. We were able to salvage some course materials, like quizzes, but most elements needed to be rebuilt. While we never like to have clients pay to essentially perform the same work twice, the state of the platform and our own peace of mind left us with few alternatives.

The biggest challenge we faced with the English in 30 Minutes site was the sheer size of the program. It was (and remains) the largest LearnDash implementation we’ve undertaken, with approximately 2,300 unique LearnDash posts across 25 courses. By default, the LearnDash plugin looks up topics and completion status across all courses when it generates sidebars and table elements, which significantly affected performance for the site. We were seeing average load times of 12 seconds on LearnDash pages, which was unacceptable for users and also made it painful on the admin side. By changing LearnDash core code so that MySQL queries weren’t as broad, we were able to get LearnDash load times under 2 seconds. Developing this solution was a huge win for us and prompted this reaction from our client: “Guys – THANK YOU! I keep playing with it, jumping from page to page…incredible! I am over the moon with this!!!”

English in 30 Minutes was also the first LearnDash site we’ve deployed that doesn’t use a visible sidebar for navigation. As the program is very heavy on video-based training, the learner experience for videos had to be very strong. To accommodate a large post area, for video as well as some of the interactive games on the site, we created a collapsible sidebar that’s hidden by default. When the learner needs it, they click a prominent icon and the sidebar slides out. As the program is generally completed linearly, ad hoc navigation between lessons and topics doesn’t need to be used often and lends itself better to being hidden by default.

English in 30 Minutes Customizations

To improve navigation with the sidebar hidden, we added custom breadcrumb capabilities to the site. Out of the box, breadcrumbs typically don’t work on LearnDash sites, because the theme doesn’t know how to look up relationships between LearnDash courses, lessons and topics. Our plugin does, and it makes navigation up to higher points in the program easy.

Key Architecture Details

English in 30 Minutes is a large program that’s sold directly to consumers on a membership basis. It leverages an affiliate program for marketing, some light gamification, interactive games (including flashcards and matching), account sharing restrictions and more.

We used Total as the theme for the site (using a child theme and custom plugins). We chose Total because it generally works well with LearnDash, it’s reasonably straightforward for clients to manage, and it does what we need it to do. It also has a reasonably large userbase and active development.
Here’s a list of some key plugins used on the English in 30 Minutes site:

Gravity Forms
Ninja Kick: Sliding Panel
Paid Memberships Pro

The live site is hosted at Flywheel. The site performs well there, the interface is nice for clients, and the managed services means we can focus on the site rather than the infrastructure.

Results has only been live for 1 week, but so far it’s had almost 300 unique visitors from around the world with no marketing. Getting the first unsolicited sign-up for an account was a big step, and we’re excited about English in 30 Minute’s growth!

Of course, our most important measures are making sure our client is happy with our work and is left with a capable learning platform. Here’s what he had to say about that:

I really cannot speak highly enough about the guys at Uncanny Owl. They were actually my 3rd design team for this project and I only wish I had found them first! Their commitment, innovation, advice, patience and support have been outstanding, even when I fell behind at times with my work schedule, and I make a point of using their name in recommendation in any discussion I have regarding the site. They definitely went the extra mile with this one, in particular the page load speed fix and breadcrumb plugin were very impressive indeed, and I look forward to a long-term partnership with them for the future.

Visit to see a sample of our work in action. It’s also a great resource (and certainly one of the most comprehensive) for learning English online!

Setting up Zapier with LearnDash

Zapier Logo

LearnDash (the company) released a very exciting update on Wednesday that allows LearnDash (the plugin) to talk to over 300 third-party applications. This means that key LearnDash events, like course enrolments and completions, can now trigger actions in other applications, like adding a learner to a mailing list, sending an email, creating a help desk ticket and more. LearnDash uses Zapier to talk to other integrations, and it works really well—once you understand how to do it.

We were a bit too excited by the Zapier release and installed it as soon as it was available, and before instructions had been posted. This caused some initial confusion, both for us and one of our clients (who also wanted to jump on board). To make things a little easier, we created the screencast below to walk through the process of setting up your first zap.

We hope that was helpful!

Over the next few months we’ll be building new zaps for ourselves and our clients. If we come up with anything interesting, we’ll post it here!

We’re Hiring!

wordpress-workerUncanny Owl is looking for an experienced WordPress Developer to join our team on a full time or contract basis. We need help with all development stages of WordPress projects, including creating and customizing complex plugins, modifying and styling themes, and even some front-end design. Experience developing large membership sites and previous work with WordPress LMS tools (e.g. LearnDash and Sensei) would be a huge benefit. A Toronto-area candidate is preferred but your skill set is more important than your location.

For more information and to apply, click here.

No agencies or companies, please.


WordPress LMS Survey Results

149209692As part of our work with WordPress LMS solutions, we tend to deal with the higher end of the market, which includes small and mid-sized businesses with the budget for robust learning platforms. Our  focus means we unfortunately aren’t as connected as we would like with the larger WordPress LMS market, so we decided to conduct a survey last week to see how other people use products like LearnDash, Sensei and WP Courseware. We had a fantastic response from the community and what we discovered surprised us.

We reached out to approximately 150 people by email. These people had visited the Uncanny Owl website over the last few months and provided their email address to us. None were clients. In fact, we had never communicated with any of the participants outside of the survey.

Of the 150 people we invited, 16 people from around the world chose to participate. We asked participants questions about how they used WordPress LMS plugins, their programs, their audience, their issues and more. Responses were candid and the people who participated seemed to appreciate the opportunity to be heard.

Here are the findings that we found most interesting:

Almost half (44%) of participants used, or planned to use, content that was SCORM or Tin Can compliant on their sites. Very few of Uncanny Owl’s clients create their programs with elearning authoring tools, so this was a very big surprise, especially given the low project budgets of survey participants.

People are using WordPress LMS plugins for more than just self-directed elearning. 38% offer facilitated programs online and 31% offer programs offline as well. Programs are reasonably complex, too. Almost everyone offers videos, file downloads, embedded documents, quizzes, certificates, ecommerce—even forums. Over 35% of participants also incorporate capabilities like marketing automation, gamification and end user support systems.

People rank ongoing support and available integrations low when shopping for an LMS, yet complaints in those areas are most common. We saw a lot of complaints about plugins not being able to do what people expected (and therefore having to rely on other plugins) and difficulty finding guidance, especially that went beyond individual plugins. Participants wanted guidance on how to create complete learning platforms and had trouble getting the advice they needed.

There were a lot of complaints. When we asked an open-ended question about surprises they experienced with LMS projects, 67% of comments were complaints, mostly about the LMS plugins. In fact, when we asked people to rank project challenges, adding customizations, making things work together and finding help were at the top of the list.

No-one had an LMS platform they considered complete. Our list of users went back over 6 months, so we were surprised that no-one was able to get a project across the finish line.

WordPress LMS projects cost more than people expect. Only 1 participant found costs lower than expected. Half of participants said costs met expectations, and 44% said costs exceeded expectations. We were actually surprised by budgets; 63% said implementation costs (including effort) were under $2,500, and 76% said monthly maintenance costs were under $250. Of course, since no participants had a completed platform, these estimates may end up being low.

Learning to use a WordPress LMS can be hard work. 44% of participants said they weren’t comfortable managing WordPress and their LMS yet. Another 13% said it took between 75 and 200 hours until they felt comfortable.

How do these findings compare with your own experiences using WordPress LMS plugins? We’d love to hear more about your experiences in the comments.

A Beginner’s Reaction to Using WordPress LMS Plugins

Surprised girlAs experienced users of WordPress LMS plugins like LearnDash and Sensei, we at Uncanny Owl sometimes overlook the challenges that new users face when building a learning-enabled website. Documentation and support for LMS plugins vary widely, and for many small businesses interested in delivering learning, both their knowledge of WordPress and instructional design may be quite limited. To reconnect with how new users experience WordPress LMS products, we thought it might be a fun experiment to set an inexperienced WordPress user up with a basic site that only included a theme and an LMS plugin, since this is how many businesses approach LearnDash projects.

Our tester had only very basic WordPress experience and we set up separate WordPress instances with LearnDash, Sensei and WP Courseware. We provided only minimal guidance to get things started, but did make plugin documentation and support resources available. Our tester was assigned the basic task of setting up a course with each plugin, adding some simple lessons and setting up a quiz. After experimenting for a few hours with all 3 LMS tools, we asked her to write a summary of her experiences. What follows are her observations.

“I started with Sensei and did some research before jumping in. I knew there would be limited options for quiz questions and prepared myself for that but thought that it would be a simple exercise otherwise. I was able to create my lessons and add them to courses but had issues along the way. I wanted to embed a video into my lesson and it worked but comes up very large (we’re talking almost full screen) and I have no idea why or how to change it. I couldn’t find anything about adding a certificate to award upon completion of my course so I had to google that and found out it’s a plugin extension I would need to add. It’s free so it would’ve saved me a lot of time and effort to have the option there already rather than having to download the plugin and sort that out. I tried to add a quiz and it appears to be there with many questions but if I try to navigate to that page it shows a quiz with no questions available. Again I don’t know why and haven’t been able to figure it out on my own. My sidebar navigation was also broken and I don’t know why since I didn’t do anything except add lessons, a course and a quiz. I changed the name of one lesson after the fact and now the quiz won’t work and still links to what the lesson was previously named. Their documentation and support wasn’t very helpful. With everything added (I thought) but the site hopelessly broken, I gave up and moved on.

For some reason I made the assumption that WP Courseware would be the most straightforward and easy to use. As soon as I started, however, I realized my mistake. The very first problem I encountered is the terminology used. I wanted to add a course with lessons. Seems straightforward, right? I started looking for ‘lessons’ or ‘add lesson’ and they’re nowhere to be found. I saw something about ‘modules’ and ‘units’ and realized those were what I needed. So I started setting up a training course, which looked like a good place to start, though I’m very unsure at this point. Then I try to set up a course unit, which I hope is something like a lesson. I ended up watching a video tutorial and right in that they state ‘a course unit which is equivalent to a lesson.’ Perfect! So why not just call it a lesson? I wanted to embed a video and found this to either not be possible or something I could not figure out how to do. All I could get to work was a link to a video on another page (YouTube) which was not what I wanted to happen. The video tutorial went on to explain how to add this to the training course and something about modules but I was so confused about the structuring of a module or unit or course that I gave up.

This brings me to my last, and most successful attempt, which was using LearnDash. I found it easy to jump right into creating my lessons underneath main courses. Every option I was looking for seemed to be listed right where I could find it easily. I was able to create quizzes to go along with my lessons (that actually worked when I tried them!). The only issue here was too much choice. For a beginner, setting up a simple quiz, I was very overwhelmed with the options. I did need to access their support pages and documentation to figure out how to add a certificate but I found what I needed quickly and was able to follow it.

In the end, I felt most comfortable with LearnDash, but none of the tools were as straightforward as I expected. I had to rely on documentation and searches a lot to get things done, and I spent a long time just figuring out basic things.”

Drip LearnDash Lessons by Group

We were very excited to see lesson dripping by calendar date in the most recent LearnDash update. It’s an easy way to unlock course materials for all learners on a specific date.

But what about time-bound courses delivered to multiple groups? It’s common in school and other facilitated programs to have a set of students start on one day, have course materials released every week, and then have other groups start the program later. For anyone wanting to use LearnDash in this scenario, the Drip Lessons by Date functionality won’t work, because selecting a date means that date applies to everyone.


That approach won’t work for some of our clients, so we put our own spin on the LearnDash drip feature. What we did was add a field for a LearnDash group selection above the calendar date field for dripping content. The drop-down list retrieves a list of all LearnDash Groups and current drip dates (if any exist). Once a group is selected, the admin can identify a unique drip date for that group and save it.

Here’s a video that goes into a bit more detail about our approach and how it works.

Right now we’ve decided against making the plugin available to the public. It’s not well documented yet and we can’t provide support, so it’s of limited value. If it is something that interests you, however, leave a comment and we’ll follow up if we share it.

Breadcrumb Navigation for LearnDash

Topic_A___LearnDash_DevOut of the box, navigating complex courses in LearnDash can get confusing. With potentially dozens of topics, lessons and courses, it’s easy to get lost. Sidebar navigation helps, but it’s mainly for navigating within the same level rather than getting back to higher levels. What’s missing for some courses is context and being able to go up levels easily.

We ran into this challenge with a recent LearnDash project. What it needed were breadcrumb links, but without customization, theme breadcrumb generation is broken for LearnDash. The problem is WordPress usually thinks that the parent of every course, lesson and topic is “Home”. For most applications, this makes breadcrumbs almost useless.

To address this shortcoming, we created a plugin that makes it easy to navigate up levels by using breadcrumb links. Just as you would expect, every topic rolls up to a hyperlinked lesson, which rolls up to a hyperlinked course, which rolls up to a course dashboard. And at the top level is, of course, the homepage.

We know breadcrumb navigation for LearnDash would be useful to a lot of learning projects, so we’re making the plugin we created available below. There’s no cost to use it, but there’s also no support!

If you happen to use the Total theme, you’re in luck! The plugin below replaces the built-in theme breadcrumb code with custom breadcrumbs that work with LearnDash. Don’t worry, they’ll work with your other pages, posts and other content too!

For anyone not using Total, a generic plugin is available. For that version, just insert a [sfwd-breadcrumbs] shortcode wherever you want your breadcrumbs to appear. You can also hook it into your theme header, but we’ll leave it to you to figure out how to do that. The plugin should at least save you a few hours of work getting custom header breadcrumb links set up.

We hope you enjoy the plugins!


May 2016 Update: The plugins are no longer available. Please use the Uncanny LearnDash Toolkit instead.

LearnDash Demo Site Update

LearnDash Demo LMSWe launched a big update to our LearnDash demo site earlier today. At first glance, the updates might not be obvious; after all, the site is less about look & feel than it is about showcasing what can be accomplished with LearnDash and WordPress. What you will definitely notice is that an account is now required to use the demo. While this does mean an extra step is required to use the site, it also means that it’s a lot easier for visitors to reliably test progress tracking, achievements and more.

So what else has changed? Our old login page is gone; we had a handful of issues that we weren’t happy about and the new page looks nicer. Registration is very different now too, as are all forms across the site. All of these changes are, of course, included in new sites that we build.

This also marks the first time we’re incorporating marketing automation (via Active Campaign) into a production site. Over the next few weeks we’ll be incorporating several new strategies that leverage automation tools to improve learning outcomes. (On a side note, we’re excited to be using Active Campaign; while it’s missing features we’d really like, the price point is great and their support team was fantastic when we were getting set up.)

WP Courseware 3.0 Released

Fly Plugins released a big update to WP Courseware on Thursday, bringing it up to version 3.0. The update primarily brings enhancements to quizzes that help to bring it more in line with what competitors like LearnDash and Sensei are offering. Question pools, randomization, timed quizzes, feedback and more are all now available. The video below outlines some of the highlights.

If you already have a WP Courseware site, you’ll notice a number of changes to quizzes after you upgrade. The quiz creation interface is quite different; everything is divided into tabs. Of course, there’s still essentially only one type of graded question—multiple choice—but at least more quiz options are available.

WP Courseware 2.9

WP Courseware 2.9

WP Courseware 3.0

WP Courseware 3.0

On the end user side, really the only difference that’s visible is a new button to download quiz results as a PDF file. Still, it’s nice to see an update; there haven’t been many over the last year (the official change log still doesn’t reflect the last 2). The most recent updates were actually sponsored, so perhaps Fly Plugins is slowing down the active development of new features.

It’s also worth noting that prices are going up on WP Courseware in about 2 hours. What they’re going up to hasn’t been shared by Fly Plugins, only that they’re increasing. If you want to grab a copy while it’s still at the lower price, you can pick it up here. If you want to see it in action, visit our WP Courseware demo site.

One of WP Courseware’s biggest advantages relative to competitors has been a lower price point for individual sites. Let’s hope it keeps it!

Update 1: If you’re getting a 404 after clicking a link on this page, it appears to be because WP Courseware changed some things on their site. I’ll wait on them to get it resolved and then update the links in this article accordingly.

LearnDash Review Revisited

A few months ago, Ken wrote a brief review of his experiences using LearnDash to develop Grade Hacks, Uncanny Owl’s study skills program. It remains our second most-visited page on this website and attracts a lot of traffic for people searching for LearnDash reviews. Since that article was originally published 6 months ago, LearnDash has gone through a number of big changes, including the release of version 2.0. Ken’s original article is now outdated in a number of areas and we thought it was time to revisit some of the problem areas to see where things stand in the current release (2.0.3 at the time of writing).

A few months ago, Ken wrote a brief review of his experiences using LearnDash to develop Grade Hacks, Uncanny Owl’s study skills program. It remains our second most-visited page on this website and attracts a lot of traffic for people searching for LearnDash reviews. Since that article was originally published 6 months ago, LearnDash has gone through a number of big changes, including the release of version 2.0. Ken’s original article is now outdated in a number of areas and we thought it was time to revisit some of the problem areas to see where things stand in the current release (2.0.3 at the time of writing).  Navigating between courses, lessons, topics and quizzes was a significant source of frustration for us early on, especially while developing large training programs. In the version of LearnDash used for the article, courses, lessons, quizzes (standard and advanced) were very distinct objects and navigation between related items was difficult. In the most recent version of LearnDash, everything is now grouped under a single LearnDash entry in the WordPress admin interface, the 2 quiz components were combined, and course objects now include related items on the editing screen (made possible by LearnDash now enforcing a 1:1 relationship between courses and lessons/quizzes/topics). All of these changes make navigation much easier and intuitive, though building out courses can still be a very tedious process. (In that area, we would love to see a way to duplicate courses that retains course objects as well as an easy way to import and export quizzes from Word.)   Quizzes have been simplified in LearnDash 2.0, with Standard and Advanced Quizzes now combined into a single “Quiz” object. It’s great to have all quiz settings and questions in a single location, but the number of options is still going to overwhelm new users. Make sure you use quiz templates to make the quiz creation process as efficient and consistent as possible!  We would still love to be able to customize LearnDash more easily and to have access to additional shortcodes. Certificates are one such example; it’s hard to retrieve someone’s certificate without either displaying the learner’s full profile or having them retake the quiz. We’d love to see a shortcode for quiz display and to display a list of courses without descriptions.   In the comments of the original article, another LearnDash user mentioned wanting a custom theme for LearnDash. In earlier days of using LearnDash we certainly agreed, and we spent a lot of time making CSS changes to get unsupported themes working seamlessly with LearnDash. With LearnDash recently confirming that they won’t develop a theme themselves, it’s great to see themes like University now showing up that have explicit LearnDash support.   It’s great to see the positive changes with LearnDash and many of Ken’s earlier criticisms being addressed. The community is still vibrant and it’s reassuring to see development continuing at a good pace. Navigating between courses, lessons, topics and quizzes was a significant source of frustration for us early on, especially while developing large training programs. In the version of LearnDash used for the article, courses, lessons and quizzes (standard and advanced) were very distinct objects and navigation between related items was difficult. In the most recent version of LearnDash, everything is now grouped under a single LearnDash entry in the WordPress admin interface, the 2 quiz components were combined, and course objects now include related items on the editing screen (made possible by LearnDash now enforcing a 1:1 relationship between courses and lessons/quizzes/topics). All of these changes make navigation much easier and intuitive, though building out courses can still be a very tedious process. (In that area, we would love to see a way to duplicate courses that retains course objects as well as an easy way to import and export quizzes from Word.)

Quizzes have been simplified in LearnDash 2.0, with Standard and Advanced Quizzes now combined into a single “Quiz” object. It’s great to have all quiz settings and questions in a single location, but the number of options is still going to overwhelm new users. Make sure you use quiz templates to make the quiz creation process as efficient and consistent as possible!

We would still love to be able to customize LearnDash more easily and to have access to additional shortcodes. Certificates are one such example; it’s hard to retrieve someone’s certificate without either displaying the learner’s full profile or having them retake the quiz. We’d love to see a shortcode to display certificates (with a single link if you passed at least once, regardless of the number of attempts) and one to display a list of courses without descriptions.

In the comments of the original article, another LearnDash user mentioned wanting a custom theme for LearnDash. In earlier days of using LearnDash we certainly agreed, and we spent a lot of time making CSS changes to get unsupported themes working seamlessly with LearnDash. With LearnDash recently confirming that they won’t develop a theme themselves, it’s great to see themes like University now showing up that have explicit LearnDash support.

It’s great to see the positive changes with LearnDash and many of Ken’s earlier criticisms being addressed. The LearnDash community is still very vibrant and it’s reassuring to see development continuing at a good pace.

WordPress LMS Showdown: Sensei vs. LearnDash

WordPress LMSI recently decided to build a new LMS demo site with WooThemes Sensei, which gave me the opportunity to spend a lot of time setting Sensei up and integrated it into an existing site for this review. Since most of Uncanny Owl’s platform consulting work involves LearnDash, it was great to explore a different approach to a WordPress LMS solution. In this quick review I’ll discuss some of what I really liked about Sensei (compared to LearnDash) and where I  have concerns about using the plugin to deliver training.

First, some history. Uncanny Owl started working with WordPress LMS products just over a year ago. At that time we did a very comprehensive internal review of what was available and settled on the one we platform we thought was best—LearnDash. We actually purchased a copy of Sensei to try over a year ago, used it for a week, and then asked for a refund after finding it couldn’t deliver what we needed. A lot has changed over the past year, however, and our excitement about some of the new Sensei features encouraged us to see how far they’ve come. Both Sensei and LearnDash do a great job of doing what they need to do: structuring courses and lessons, tracking learning progress and delivering a good user experience. This review is focused on the differences between the products and what did and didn’t work for me as a WordPress user extending my site with an LMS plugin.

What I Like About Sensei

Reporting. The first thing I checked out after installing Sensei (and its associated free plugins) was the admin interface, and it was great to see reporting at the top. Sensei gave me a good overview of my course content and enrolled users, and I loved being able to drill down to see more detail. This is a lot easier to work with than the CSV export that LearnDash produces that includes very limited information. Having said that, I don’t like how Sensei scores things. More on that later.

Messaging. I really like that Sensei includes more notification types, especially compared to LearnDash (where reporting is limited). It’s also nice to see private messaging that doesn’t require another plugin and is built around facilitated programs. Having said that, Sensei does go a bit overboard with notifications. Getting an email every time a lesson was completed was painful. I just want them for quizzes! (Sensei quizzes have to be included in lessons, which may be part of why emails go out for all lessons.)

Sharing. It’s great to have social sharing available for learning programs and to be able to see and retrieve certificates easily. These things are much easier to set up with Sensei than LearnDash.

Certificates—for some things. Speaking of certificates, Sensei has a much better way to design certificates than LearnDash. Getting text elements laid out correctly in LearnDash is painful, while Sensei doesn’t required you to tweak HTML and CSS until things are just right. It’s also nice to see that certificates are available on course completion rather than having to be associated with quizzes. (Of course, I’d rather Sensei also make them available for quizzes.)

What I Didn’t Like

Cost. An unlimited license for LearnDash is $79. Sensei starts at $149 for 1 site and goes up to $299 to use on 25 sites. But it doesn’t stop there. If I want to sell access to courses with recurring subscriptions, the solution suggested by WooThemes requires almost $300 in additional plugins. LearnDash includes integrations with free membership plugins. Want BadgeOS for gamification? With LearnDash the integration is free, with Sensei it’s paid. Given the trouble I had getting Sensei working with our third-party theme, picking up a WooThemes WordPress theme is recommended and another expense. The extra costs really add up.

Broken Link

My WooThemes Support Ticket

Support. LearnDash has a fantastic support site. There’s a very active user community with lots of solutions and user-contributed content; there’s also comprehensive documentation with screencasts. When I post in the forum or send in a support request, I generally hear back the same day. Sensei? There’s a much smaller forum. Documentation is rough and incomplete. (A quick example: out of the box my system emails were broken because font size is 350% and line height is 100%, so wrapping is a mess. This page talks about customizing emails and then links to a page for more info, but that page that doesn’t even mention emails. The guidance about changing code to display sidebars properly was also incorrect for my theme.) And as for support, well, it’s really lacking. I’m still waiting on a reply to some followup questions that I submitted over a week ago. When I click the link to the ticket in my email, I see the page above. I get the feeling that means my questions won’t get answered.

Learner Workflow. LearnDash handles lessons the way I’d expect. If there’s no quiz or assignment, click a button to indicate completion and move to the next lesson. If there’s a quiz, advance after passing the quiz. With Sensei passing a lesson is really celebrated. You click a button, just like LearnDash, but this time there’s a big message congratulating you for finishing a lesson—which might have been as basic as reading a paragraph. Then you’re encouraged to share it on social media (I want this in some places, just not every lesson). Then you have to hunt around beneath those things to figure out how to manually navigate to the next lesson.

Customizing Sensei

Lots of customization needed

Designed for WooThemes. Setting up LearnDash doesn’t generally break sites. Setting up Sensei broke my site. First my sidebar was gone, then it was beneath the rest of my content, and I ended up spending hours on PHP and CSS changes to get the look & feel I wanted restored. WooThemes has documentation for the sidebar issue, but it suggests copying some div containers from a theme PHP file which, at least in my case, turned out to not include enough containers. I don’t like the forced title at the top of every page either, and why does Sensei want to make its widgets to look so different than the ones I already have?

Less Intuitive. I’ve used a lot of WordPress plugins, including some LMS ones, and I start using them by exploring rather than reading a manual. That led to a lot of frustration with Sensei. I wanted a new certificate, so I went to Lessons > Certificates > Add New Certificate. No, that doesn’t work, and I still have no idea why there’s a way to add certificates there (the section is for displaying earned certificates). What I actually wanted was a certificate template. When I started to create learning objects, I figured the first thing I would need is a course, and the Lessons menu included entries for courses, lessons and certificates. There was only one “Add New” entry, however, and it turned out that was just for lessons. I got confused again when I wanted to add a quiz to a lesson and Sensei told me to add one from the Lesson Quiz box when it really meant Quiz Questions. Over in the Sensei menu, I’m still getting used to Certificate Templates being highlighted no matter what section I’m actually in.

Less Scalable. I’ve worked on programs with up to 10 courses, each with an average of 10 lessons. During development, I disable lesson progression to make testing and review easy; with LearnDash, it’s a simple switch within courses. With Sensei, every lesson has a prerequisite and there’s no central switch for progression. Furthermore, the list of prerequisites includes lessons for all courses, so hundreds of lessons could potentially be displayed in a drop-down list. I can’t imagine how confusing it must be to go from no prerequisites to lesson progression when going live with a complex program . The default styling for Sensei also seems intended for a handful of courses and lessons, not dozens.

Quizzes and Score Tracking. I really don’t like the way Sensei captures completion data. When learners complete a lesson, Sensei marks it as passing with a score of 100%. It’s a very strange approach. As for quizzes, which should actually track scores, what’s available is very limited compared to LearnDash. There are no sorting or multiple answer question types, which I really tend to rely on for variety. HTML is similarly excluded, which adds a lot of flexibility in LearnDash. Sensei also has far less control, including for pagination, statistics, providing feedback and reinforcement to learners, etc.

Certificate Names. When learners complete a course, they should be recognized for their accomplishment and certificates are a great way to do this. Unfortunately, Sensei doesn’t seem to want to actually put their names on them. Sensei can only put the user’s “display name” on a certificate, so the documentation suggests advising users to update their profiles and change their “display name” to their first and last name. That’s completely impractical.

Sensei or LearnDash?

If you’re already embedded in the WooThemes ecosystem and use WooCommerce and their themes, it probably makes a lot of sense to go with Sensei. The Sensei demo site by WooThemes looks great, so if your needs are basic, picking up the Hub theme they use along with Sensei is likely a good choice. Import the dummy data, customize as needed and you’re off and running. For other sites, like you can see with Uncanny Owl’s Sensei demo site, expect a bit more work. With better reporting, notifications and messaging, I can also see  appeal for sites providing instructor-led virtual programs exclusively. If you typically spend time on the admin side of WordPress, have notifications enabled and have a relatively small group of learners, then I feel like it might be easier to stay connected with their activities using Sensei. (LearnDash does offer a Pro Panel for additional insight, but it’s quite limited.) LearnDash is likely a better choice for everyone else, especially when you factor in cost and support. At Uncanny Owl we support clients on both platforms, but for most new projects, we expect LearnDash to continue being the better fit.

Instructor Led Training with WordPress

mLearning with WordPressFacilitated training isn’t just for the classroom and complex Learning Management Systems. Even though WordPress learning solutions are primarily targeted at self-directed programs, it is absolutely possible to build facilitated learning with them. In this post I’ll share some of the ways we do this for our clients at Uncanny Owl.

Let’s suppose you want to offer a 4-week paid course to the public. Each week, you want learners to go through some self-directed lessons (that include text, video, and offline readings), participate in online discussions with you and other learners, and then complete a weekly quiz. At the end of the 4th week everyone must complete a final test. If they pass the final test and all weekly quizzes, they’re issued a printable certificate.

WordPress probably wouldn’t be your first thought when delivering this type of common course structure, but it should be! With a few plugins, like LearnDash as your LMS and a membership plugin, it’s actually quite easy.

To build this kind of program, your first step is probably going to be to create 4 courses, 1 for each week of the program. You can then build lessons for each week that include your readings and video. Creating the quizzes and test might come next. These are the easy parts.

Schedule WordPress DateAh, but you want all participants to complete the courses at the same time, and you don’t want to give them access to content from week 2, 3 and 4 when they’re in week 1. The tricks here are using a membership plugin (which allows you to restrict access to course materials) and scheduling WordPress posts. For every course you publish you can tell WordPress when to make it available to learners. So your first course (for week 1) might be automatically published on Monday at 9AM of the first week, the second course at 9AM of the second week, etc. And by assigning the courses to membership levels, you can restrict the courses to paid participants.

Next up are the online discussion and collaboration pieces. For group discussion, add a forum tool like bbPress and create forums for each week; you can then embed them in lessons for each week. That way they’re easy for learners to find and you can stay on top of the discussion. For communication between session participants, BuddyPress enables private messaging and other social networking features.

That really just leaves the final test and certificate, and that’s where an LMS like LearnDash makes everything easy. The final test can have the previous quizzes as prerequisites, it can be scheduled to only be available to learners on a certain day and it can automatically generate a course certificate with the learner’s name on completion.

Of course, this is a very simple example and getting everything running properly will require some more work. As an example, you may need to stop selling the membership level for 1 session once it starts (so you don’t have people joining in week 4 and skipping the earlier discussion). And you’ll probably want to offer sessions more than once, which means expiring membership levels, incrementing course publishing dates, clearing out forums and more.

What are your own solutions for delivering instructor led training with WordPress? Tell us about your experiences in the comments below!

Chrome Broke Captivate

Crying ManDo you retest your elearning whenever a browser update is released? If you don’t, a recent issue affecting Chrome and Captivate HTML5 content might have you reconsidering.

I was recently on our LearnDash demo site and happened to notice that the sample lesson with an embedded Captivate module stopped working. The module simply wouldn’t load. Fearing the worst (how long had visitors been staring at a broken site?) I tried the page in another browser and, lo and behold, it was still working. I did a bit of digging, searching for recent pages with the keywords “Chrome HTML5 Captivate” and discovered a very significant issue that causes the latest Chrome release to not render HTML5 Captivate files properly. Shocking! And how many other elearning developers aren’t using Chrome or checking olds course regularly, so wouldn’t know anything’s broken, and how many others would know what to search for and discover the Adobe article?

If you have publish elearning modules from Captivate 7 or 8 in HTML5, you need to visit this page and follow the instructions now. Try your modules in Chrome and see if they work. If they don’t, it’s not enough to drop the HTML file into existing content; you really do need to republish the files.  If you don’t, your users on Chrome could be having a really bad time.

LearnDash Demo Video

Our LearnDash demo site has been great to give people a taste of what can be done with LearnDash, but for companies interested in using LearnDash themselves, it’s not enough. They want to get behind the scenes and get a tour of things they might have missed on the front end.

To help companies develop better explore our LearnDash demo and get a taste of what’s going on behind the scenes, we’ve created a 6-minute screencast that goes over some of the highlights. We hope it helps in your evaluation and use of LearnDash!

Check out our LearnDash demo screencast below. Make sure you watch it on YouTube or in full-screen mode so you can read everything!

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 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!

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, a Toronto-based company that provides financial crime training and advisory services. We also recently launched, 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, 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.

What BYOD Means for eLearning

BYOD eLearningBring Your Own Device (BYOD) policies are quickly gaining enterprise support and many elearning programs aren’t ready. In the past, elearning professionals could design and test for a handful of devices and be confident that their materials would work. That’s all changing. A 2013 Cisco study revealed that 9 in 10 Americans currently use their phones for work purposes, and 62% of companies planned to support BYOD officially by the end of 2013.

In a recent article on eLearning Industry, I reflected on the effect BYOD will have on elearning. Design and testing will require significantly more attention, and testing tools like Sauce Labs and eLearningQA may soon become part of the elearning professional’s arsenal. Mobile and HTML5 will also figure heavily into BYOD elearning strategies.

To find out more, check out the full article .

First eLearning Project? Start Here

elearning projectA lot of our website visitors come from Google and are looking into elearning for the first time. I’m sure it’s the same for many elearning companies; new clients find you because they need web-based training, but they don’t necessarily know what’s involved or how projects work. We really want people to know we’re a trusted partner that’s looking out for their best interests, so we decided to put together some guidance to help businesses tackle their first elearning projects.

To help businesses, Uncanny Owl now offers a free 7-day email course to introduce businesses to elearning projects. We don’t want to mislead businesses or sell services that don’t add significant value, so the email program we created is simply to help businesses make informed choices, whether it’s with us or with someone else. We cover whether or not elearning is the right choice, how to prepare for elearning, how to promote success, how to choose a vendor, how to manage implementations and how to measure outcomes.

If you’re a business interested in elearning, sign up below to learn more about elearning projects!

If you’re another vendor reading this blog and want to create something similar, we’re happy to provide some technical details. The sign-up form is integrated into a few pages on our website with custom code, but there are great plugins available if you have room in your sidebar. The form is linked to a Mailchimp list, which is where we set up Autoresponders to deliver staggered emails. The course content is all original; if you offer something similar, please don’t steal our lessons! 🙂

We hope you enjoy the course!

Migrating Manuals to iPads & Tablets – Part 1

offline ipadThe request sounds simple enough: take paper-based training manuals and turn them into something that’s iPad-friendly. There are lots of iPad apps that support formats like Word, PDF and EPUB, so how difficult could it be? The problem is that very few apps provide all of the key benefits of going paperless, such as centralized syncing with offline viewing, version control, embedded audio and video, easy navigation and linked documents.

Here were the client’s requirements:

  • a simple development workflow that avoided complicated and expensive authoring tools
  • the ability to push out updated guides automatically
  • offline viewing when no internet connection was available
  • embedded videos
  • links between guides

First Attempt, First Failure

We started with a Word to Adobe Acrobat workflow. This lets authors create everything they need, publish to PDF and then add multimedia and hyperlinks in Acrobat with minimal training. To take care of automatic updates and offline syncing, we decided to use Dropbox. It pushes files out automatically when an internet connection is available and “favourite” files are available offline. Dropbox also supported embedded video (one of few PDF readers that did). Unfortunately, it didn’t support links between files, but that was identified as a non-critical requirement that we could work around.

This solution worked well until Dropbox released version 3.0 for iOS halfway through the project. Video capability was dropped. Where video used to be, a big white box now greeted users.

The Solution

The Dropbox update meant we had to find a new solution. Luckily we discovered Documents by Readdle, which supported syncing with Dropbox, video in PDFs, and, surprisingly, links between documents. Syncing worked, video worked, updates worked, and best of all, the app was completely free. Our Word to Acrobat to Dropbox to Readdle Documents solution worked and was well received by the client.

Of course, some tradeoffs had to be made to keep things simple and cost-effective. Content updates can be challenging because they require republishing Word files and adding multimedia and hyperlinks in Acrobat again. Our client expects very infrequent updates, so it works for our needs, but might not work for other situations. Syncing is also a bit cumbersome in that the Documents app has to be open for the sync to happen; it’s not as simple as just having the iPad within wireless range for updates to be pulled down. Someone has to open the app.

After developing this solution, we were asked to create an alternative for iPads that will always have an internet connection. Stay tuned for our solution!

Pitching eLearning to Small Businesses

small business elearningI’m still new to elearning consulting and marketing my business. My partner and I have a really broad set of skills, so we started off by saying we did “everything”, which of course meant that nobody knew what Uncanny Owl did. Worse, our networks aren’t that big (I was at the same company for 9 years) and we quickly discovered that all of the big corporate projects we could do in our sleep weren’t interested in an unknown company with a small team. Forget Google; they only found companies through word of mouth and existing relationships. Of course, even though we knew that, we continued to pitch to the big companies in big company language because that’s all we knew.

That changed a few days ago. I went to my first networking workshop hosted by our regional chamber of commerce. My original plan was to make an appearance and find out what they do, knowing that there are very few big companies in the region and even fewer doing elearning. How much benefit could there really be in talking to small business owners? So I started the morning talking about what I thought I did (“I create online training for large corporate audiences”) and had some awkward discussions. But I kept talking to people, and I kept listening to figure out if there was a way I could help them.

As it turned out, there was. The small business owners I met shared some similar traits: they had a lot of expertise, they wanted to grow, and they were open to new ideas. Some of them actually offered training and coaching locally. Others had products or services that weren’t easy to understand. These were all problems that we could help with! We can sell expertise and make things simple with elearning. Our big local competitors weren’t targeting this market at all and, as luck would have it, we’re one of the few companies with a lot of expertise in learning platforms that integrate an LMS with WordPress, which many small companies use for their websites.

So I changed my pitch. And now we have a few leads, a few new contacts, and some new opportunities to pursue. We even have a new services page to try to reach out to this market (we’re still tweaking it!). The projects and budgets may not be as big, but it’s an interesting market that not many elearning companies seem to be targeting.

Of course, maybe the other elearning companies know something that we don’t. We’re just hoping it’s the other way around.

Improving eLearning Usability

elearning usability testingWhat makes people want to use your elearning? How do you remove barriers to learning and make your programs accessible?

I recently examined these and other questions in an article on elearning usability published by It’s available online at

It isn’t hard (or expensive) to make your elearning easy to use and engaging, but it is something that needs to be planned. Good elearning should consider the quality of the learning, the quality of teaching, the quality of the learning environment and the quality of interaction. If you create elearning that’s strong in all of those areas and is relevant, learners will get more out of it. Your learner’s time is valuable and should be spent learning the subject matter, not your system.

Testing for usability issues in elearning should also be on every learning professional’s radar. This is not something you and your team can do yourselves; you’re too close to the project, as are your other key stakeholders. Get testers who are representative of the audience, plan your testing, and make sure you observe rather than coach. For professional help with elearning usability testing, take a look at

Cloud LMS Security

HackerThinking about using a cloud LMS? They’re convenient, easy to maintain and scalable. But how safe are they?

I recently wrote an article for eLearning Industry about the security practices of cloud LMS vendors. What I found wasn’t particularly reassuring. With few exceptions, cloud LMS providers don’t perform security audits, they don’t deliver your data over secure connections exclusively and they store all of your personal and learner data (except passwords) in plain text.

Using a cloud LMS product carries additional risk if you care about where your data is stored. One of our recent projects included a requirement that data not be stored in the U.S. Since all cloud LMS providers seem to host in the U.S., we couldn’t use any of them! Moreover, most providers use Content Delivery Networks to provide a better experience, which means they use servers close to your users to deliver your courseware and, as a result, your learning is potentially stored in dozens of countries.

When you’re shopping for a cloud LMS solution, make sure you do your homework and ask lots of questions. Are their security practices aligned with your expectations? Your clients trust you with their information; make sure you can put just as much trust in your LMS.

Check out the original article here:

For Discussion: eLearning Pre-Launch Testing


I need your help. I’m trying to get an idea of what elearning professionals are doing with regard to prelaunch testing. More companies are adopting Bring Your Own Device (BYOD) environments and making their learning more accessible, some by using cloud LM

S products rather than hiding their learning behind firewalls and gateways that make learning painful. This should mean that learning is more vulnerable technically, since it’s harder to deliver the same experience across platforms and external servers can’t be as tightly controlled. But is it a problem? Are companies running into more technicals problems when launching to large audiences?

I’ve never seen a big interest in (or budget for) significant technical testing of learning products. Developers might click around from a few browsers, or recruit a handful of users to test, but it’s hardly realistic when it’s a small group of testers (and platforms) doing manual testing. Moreover, with the increase in HTML5 over Flash for rich elearning output, layout and rendering issues should be on the rise

because each browser handles things a bit differently.

Tell me about your experiences and expectations in the comments. Does elearning need more performance and compatibility testing? How are you working it into your workflow, and what tools are you using to give your stakeholders more reassurance?

Thanks for your feedback!

Free Tools for Learning & Training Professionals

In-class evaluation formIf you work in training, make sure you check out the free tools posted on our Free Learning Tools page. No-one should have to waste time creating common tools, so we did the work and made a few of the forms we use available to everyone. They’re all posted as Microsoft Word files, so you’re welcome to do whatever you want with them. You even have our blessing to remove the Uncanny Owl branding!

Our Evaluation Form for In-Class Courses helps trainers assess Level 1 learning for programs delivered in the classroom. It can be quickly adapted to captured feedback on course content and the facilitator from your audience.

The Evaluation Form for Online Course captures reaction scores for training developed online. This can be used for capturing feedback on course content and the approach to elearning.

Our Venue Selection Form helps people choose the best location for hosting training sessions. With this form you’ll never have to worry about overlooking an important selection detail or having insufficient data to back up your venue choices.

Right now we have 3 forms available but we expect to add more in the near future. We hope you find them useful!

Offline Learning and the LMS

Uncanny Owl recently completed a project that required redesigning the interface for an offline iPad application that captures test data. It used Filemaker desktop and mobile applications to track test scores without any kind of network access for eventual consolidation and reporting. It did the job, but it wasn’t intuitive, it didn’t integrate with other learning data, and ongoing maintenance could be difficult.

offline ipad

While outside of our scope, we did a little digging into possible alternatives for this type of scenario. It turns out that there really aren’t a lot of tools that support offline data capture for eventual upload into an LMS! The Tin Can API looks promising, but there are very few LMS options and authoring tools that support it, and those that do are very expensive (particularly for the capture of modular test data). There are HTML5 possibilities too, but they would require some customization to get data into an LMS.

With all the interest in mobile learning, where are the tools that support offline learning? Yes, maybe something like Storyline could work, but 1 assessment question per screen is a big limitation for our scenario. What tools are you using to support offline learning on iPads?