July 13, 2018
by Campbell

That Common Question

This question I get asked time and time again. It is the most common question but also one of the most difficult to answer. At least, for customized training. Off the-shelf products have a fixed price and typically are less expensive, but you also lose the ability to tailor the training to your unique company. To answer this question for customized eLearning you must first understand what factors determine eLearning development costs. Factors used in determining an accurate price are:

  • Course size
  • Interactivity level
  • Tracking requirements
  • Multimedia

Course Size
Course size is a fairly straight-forward concept. The larger the course, the higher the cost. How you determine the course size can vary. You can either identify the length in minutes or by the number of screens. A 60-minute course typically costs more than a 15-minute course with all other factors being equal. A 45-screen course typically costs more than a 25-screen course.

Interactivity Level
The associated development costs typically increase as the levels of interactivity increase. A Level III interactivity course typically costs more than a Level I interactivity course. Answering straightforward multiple-choice questions is much simpler to develop than a sophisticated scenario-based application simulation.

Tracking Requirements
The more data you want tracked in the LMS, the higher the developments costs. The most common data tracked are pre-test and post-test scores, status/progress (Not Started, In Progress, Completed), and completion date. However, tracking the specific answers to questions, how long the learner was in the course, etc. will increase costs due to the programming logic and extensive testing required.

Development costs typically increase when incorporating multimedia elements such as audio and video. If no current audio and video assets exist, these must be produced. Renting a studio, hiring voice talent, and mixing the tracks can be an expensive endeavor. Especially if I do not have these resources available internally.


June 29, 2018
by Campbell

Hazard Identification VR/AR Solution

Working for a high powered customer focused retail organisation it comes with no surprise that they would like to be on the pulse with their learning offerings for staff. Being part of the Retail Operations Learning and Development Team allows me to work with a great set of professionals talented in different capacities. The Workplace Safety Manager approached me recently to work on a series of micro-learning learnlets for our Team Members covering topics like Working With Heights, Mechanical Assistance Aids, Manual Handling, Slips, Trips and Falls and Hazard Identification. The content for these were written in partnership with himself and I and majority of these I created SCORM packages to help guide the learner through some compliant information (textual) and the occasional scenario with the use of videos and animated info-graphics. But for Hazard Identification I thought I would explore the use of Virtual Reality/Augmented Reality to try illustrate the “real world” factor. As a learning objective, measure of navigation ability, Team Members are asked to identify a series of hazards through both a real world environment store and warehouse (2 Scenes, 5 areas each with 12 hazards) through a series of hot-spots and panels explaining the hazard in question. It is iOS, Android, Samsung Gear VR, Daydream, Web, HTC VIVE, Oculus Rift compatible, the immersive virtual reality technology has now been embedded into our safe design approach and hazard identification and risk control processes. I knew we needed to engage our Team Members in a more immersive way and so I thought a virtual reality system may help us to bridge that gap, and show the Team Members what the proposed designed would look like in as close as possible to a real world space, and then in turn reduce injuries that are happening in our stores.

March 7, 2018
by Campbell

Raspberry Pi for me

I always have lots of ideas buzzing on my brain. Most of them involve small form programmable devices, and the more connected, the better. So when I saw information on the new Raspberry Pi 3, I just went and got myself one. For those that do not know, it is a tiny computer with WiFi and Bluetooth! Excellent! Besides, I have used Arduinos, but not a Raspberry Pi before. This was a gap in my knowledge which I had to fill.

It arrived and as with most new gadgets, my experience was very limited to this point. Also, since I’m quite time constrained I bought it with a ‘newbies’ kind of SD card that was already prepared with some kind of partition that would let me select which operating system I wanted to use, and install it from there.

Physical setup was easy and enjoyable as I connected things I already have to this little tiny box: old Macbook Air, a USB SNES controller, a wired USB keyboard and Microsnot mouse, a USB mobile phone charger for power, and then the HDMI plug from the TV (but this is not old!).

Once it turns on, it displayed a gradient test pattern and then allowed me to select which system I wanted to install, all using a GUI. For some reason a mouse didn’t work, nor the USB controller I bought, but I could navigate using the keyboard. I selected RetroPi and it went ahead and installed the system.

During installation it displayed a few of those “here’s all the cool things you can do with this operating system” we’re used to see from the times of Windows 95, except instead of tacky suggestions such as improving productivity and synergies, it spoke about the creative applications such as Sonic Pi, programming environments such as Scratch and also just plain old Python. This was very nice and I felt right at home. But I plan on using mine for EmulationStation and RetroPi to play old classic Retro games.

This took about maybe 10 minutes? I don’t recall because I was doing other things (namely: dealing with Penelope and cooking). But when it finished, it restarted to boot into the newly installed operating system.

I turned it off and on again. This time it booted directly into RetroPi and EmulationStation, and seemed stable (no reboot loop!), the controllers worked this time, and I went straight to try to find if the WiFi would just work. Which it did, unlike other systems. Exciting! One of the main reasons I bought this Pi worked successfully on the first go. Beautiful.

I’m super impressed by the performance of the Raspberry Pi 3. The GUI is super responsive and it certainly doesn’t feel like a $35 computer at all. I would strongly recommend anyone with a techie brain like me to get one. Might get another one and use it as a NAS Server for all my movies. Hrmmmmm….

Interactive 3D

November 14, 2017
by Campbell

Interactive Web 3D

At work lately, I have been given the job to create an interactive 3D model framework. Sure, I have done stuff in Blender3D and OpenGL in the past, but I thought, how can I do this on the web (most browser support), tablet/mobile friendly and make some things dynamic. Back when I started web development, VRML was a thing, and sure it was awesome for its time (albeit not many browsers supported). I needed something which had the power of what I can do in Blender3D and OpenGL, and I came across this cool Javascript API called WebGL. Programming directly in the WebGL API I found to be very complicated and messy, but lucky for us there are libraries that simplified this for me. I came across this cool and lightweight one called Three.js by mrdoob. Three.js is an awesome 3D library that hides a lot of the WebGL complexities and makes it very simple to get started with 3D programming on the web. You can use Three.js in any way you could use canvas, including full-screen animations, so long as the device supports WebGL. It reminded me a bit of OpenGL and Renderman when I started reading the documentation.

The process of creating 3D using Three.js could be likened to how a movie set works. You start with an empty stage and add some things to it to create a scene. For example, we could add some actors, props, and a backdrop so it looks like we’re inside. Each actor puts on a costume so they look like the character they’re playing. Lights are added so we can see and to set the mood. Finally a camera is positioned to shoot the scene from the desired perspective.

So the actors and props are made by a collection of vertices and faces, which combined is called a geometry. Then from this step, you assign a material to a geometry. A material can be a flat colour, or it could be a texture such as a photo of rock, or wood, or skin. When a geometry and material are combined you have a mesh. A mesh is a complete object that can then be added to a scene. You can move and orientate the whole mesh in your scene as a single object, but you can still access its individual parts if you need to.

Anyways, I can talk more about this another time, lots of work to do. Ciao for now.


May 17, 2017
by Campbell


I was recently reading an article on ATD about Executive Onboarding: How to Hit the ground Running by Cheryl Ndunguru. It made me ponder on this and while everyone in the workplace has a part to play in the culture of their workplace, it is in my opinion, the people with official leadership roles who have the power to make an enabling environment and lead their people back to a great place to work. So with this in mind, I am thinking of developing a small onboarding framework, which I may package up.

By definition, for those that do not know, onboarding is a process to assist the transition of new employees into an organisation. It is known that organisations demand high performance. Management expects the new staff to become effective quickly, to deliver positive results and to integrate well into the culture of the organisation. New staff, in turn, need to devote time to understand their new company’s characteristics (strengths and weaknesses, resources, challenges, and capabilities) if they are to be effective and successful in the role. Obviously, new people must also have the skills and the flexibility to meet the requirements of their role and they must also adapt to the new culture, forge connections and ensure that they understand what is expected of them.

In most organisations, new staff usually take over their predecessors’ teams – people they have not been involved in selecting. But the personal success of a leader stands or falls on their team’s performance. From my research, I have thought of a seven-stage plan on a successful onboarding program. This would be done in a blended approach to help with the connection forming. Personally, I would see this best done as possibly a team game based approach, with game elements of a scavenger hunt (SH) or a choose your own adventure (CYOA).

1. Preparation for the role
2. Expectation management
3. Setting the strategic agenda
4. Creating the right team
5. Forming alliances
6. Developing the culture
7. Effective communications

April 24, 2017
by Campbell

Playing Uno

I regularly host and go to board games nights. Sometimes we play King of Tokyo, Game of Life, Pandemic and the like. Recently we’ve been taken to playing Uno.

Uno is a game I have fond memories of as a child and Ella loves playing too. Simplicity and family fun, all too easy to discard for complicated games as an adult. It’s a bit tame, so we have decided to add a few cool “interesting” rules to spice it up a bit.

The winner of each round may add a new rule. They may also override or discard a previous rule if it didn’t work out.
Cumulative, chaining +2s. A +2 (of any color) may be played atop another +2, passing +4 onto the next player. They, in turn, can make it +6, and so forth. A similar rule got added later for +4s.
Chaining skips: When a skip card is played against you, you may instead play a skip card of any color to pass it on to the next player. In our play, only one player misses their turn at the end of the chain, but you could probably make them additive as well (such that three consecutive skips result in the next three players missing their turn.)
Interceptions: You may play out of turn if you have the exact same card as was just played (and if you’re quicker than the player in sequence.) Play resumes with the next playing in sequence after the interceptor. You can also intercept yourself; playing duplicate cards together.
Chaining while drawing: When you’re at the end of a cumulative +2 chain, you may draw your cards one at a time and if that card is itself a +2, you may play it and move the remainder of your draw (plus two) onto the next player. So, you must draw six. You draw one card which is a +2. Play it! The next player must draw 7 (or play their own +2 to continue the chain.)
Special Interceptions: On top of the regular out-of-turn interception described above, and chaining-while-drawing, with an exact match, you can intercept a +2 at any time, that is, while someone is drawing. That is, you can allow one player to draw half their penalty and then pass the remainder to another player.
69: At this point, you’ll be playing fast and trying to keep up with whose turn it is. At this point, 6s and 9s might as well just be the same card, so we’ll allow it. (This, of course, makes 9s and 6s more powerful for interceptions.)
Zero Trades: If you play a card of number 0, you must trade hands with another player. You can introduce this rule as “must” or “may”, depending on how chaotic you are. Any player receiving a single card in this transaction must declare “Uno”. (You are allowed to win when playing a 0, though.)
Sequences: If you play a 3, you may also play a 4, 5, 6, etc. of the same color.
Sets: When playing a card, you may also play cards of any other color that match that number.
This can result in: Playing a Yellow-5 out of turn on another Yellow-5, stacked with a Green-5 and Red-5 (sets), stacked with a Red-9 (because that’s also a six), Red-7, Red-8 (sequence), stacked with a Yellow-8 (another set.) If you can keep your hand organized well enough to pull that off, you deserve to win, in which case you get to add another rule.


March 30, 2017
by Campbell

Virtual and Augmented Reality

Virtual reality (VR) refers to the computer-generated simulation of a world, or a subset of it, in which the user is immersed. It represents the state of the art in multimedia but concentrates on the visual senses. VR allows the user to experience situations that are too dangerous or expensive to enter ‘in the flesh’. Users may explore the real world at a different scale and with hidden features made visible. Alternatively, the virtual worlds that are generated may be entirely synthesized: realistic within themselves, but purely a manifestation of electronic structures. The term ‘virtual reality’ conjures up an image of a user weighed down with a helmet or goggles, grasping, apparently blindly, into empty space. The user, within his virtual environment, moves through a simulated landscape, picking up objects on the way. This is fully immersive VR. However, it is only one part of the spectrum of VR, which also includes desktop VR, command and control situations, and augmented reality, where virtuality and reality meet. Virtual reality has been shown to successfully produce environments that mimic our everyday world. Architects have always used models and sketches to show clients how a building will appear. Now, with the use of VR, they can take clients through a virtual tour of the building, fly over it from above, look at it from the streets outside, enter the doors and walk through the corridors. I have also seen techniques used to plan kitchens and even gardens. However, there are also many things that we cannot see, either because they are invisible to the naked eye (heat, magnetism, gravity) or because they are too small or too large. Scientific and data visualization systems make use of VR technology to expose and explore these features. Augmented Reality is another term, often confused with VR. In augmented reality, electronic images are projected over the real world – virtuality and reality meet. The head-up displays in many aircraft and even some automobiles can be regarded as an example of this, but the data in such displays are not typically connected to the objects seen through them and, hence, the blend between virtuality and reality is quite weak. The great difficulty with such systems is in ensuring that the physical and virtual world are correctly aligned, a problem called registration. If not properly registered, a virtual ball would either bounce short of the real wall or else appear to go through the wall and then bounce back from the other side. Augmented reality techniques hold great promise, and have been investigated especially in situations involving the maintenance or assembly of complex equipment. These forms of development I would love to explore more.

March 8, 2017
by Campbell

Learning Theories

Working in the eLearning scene the last ten plus years I have been with a lot of companies who do not fully understand how people “learn”. I was fortunate that I did a psychology subject at university that covered this very topic. Basically, there are four main categories or frameworks under which learning theories fall: behaviorism, cognitivism, constructivism and transformative. Behaviorism focuses only on the objectively observable aspects of learning. Cognitive theories look beyond behavior to explain brain-based learning. And Constructivism views learning as a process in which the learner actively constructs or builds new ideas or concepts. Transformative theory is a slightly complex based on all of the others. For those interested, I have written a bit more on each one below.

Behaviorism as a theory was primarily developed by this guy called Skinner. In essence, three things he found linked to learning. First, learning is manifested by a change in behavior.
Second, the environment shapes behavior. And third, the principles of contiguity (how close in time two events must be for a bond to be formed) and reinforcement (any means of increasing the likelihood that an event will be repeated) are central to explaining the learning process. For Behaviorism, learning is the acquisition of new behavior through a process called conditioning. There are two types of possible conditioning. 1: Classical Conditioning, where the behavior becomes a reflex response to stimulus as in the case of Pavlov’s Dogs. Pavlov saw that the dogs drooled without the proper stimulus. Although no food was in sight, their saliva still dribbled. It turned out that the dogs were reacting to lab coats. Every time the dogs were served food, the person who served the food was wearing a lab coat. Therefore, the dogs reacted as if food was on its way whenever they saw a lab coat. In a series of experiments, Pavlov then tried to figure out how these phenomena were linked. For example, he struck a bell when the dogs were fed. If the bell was sounded in close association with their meal, the dogs learned to associate the sound of the bell with food. After a while, at the mere sound of the bell, they responded by drooling. Then the other form is 2: Operant conditioning. This is where there is re-inforcement of the behavior by a reward or a punishment. The word ‘operant’ refers to the way in which behavior ‘operates on the environment’. Briefly, a behavior may result either in reinforcement, which increases the likelihood of the behavior recurring, or punishment, which decreases the likelihood of the behavior recurring. It is important to note that, a punishment is not considered to be applicable if it does not result in the reduction of the behavior, and so the terms punishment and reinforcement are determined as a result of the actions. Within this framework, behaviorists are particularly interested in measurable changes in behavior. Since behaviorists view the learning process as a change in behavior, educators arrange the environment to elicit desired responses through such devices as behavioral objectives, competency-based education, and skill development and training.

Next is Cognitive theories, they have 2 key assumptions. 1: that the memory system is an active organized processor of information and 2: that prior knowledge plays an important role in learning. Cognitive theories look beyond behavior to explain brain-based learning. Cognitivists consider how human memory works to promote learning. For example, the physiological processes of sorting and encoding information and events into short term memory and long term memory are important to educators working under the cognitive theory. The major difference between cognitive psychs and behaviorists is the locus of control over the learning activity: the individual learner is more key than the environment that behaviorists emphasize. Educators employing a cognitivist approach to learning would view learning as internal mental process (including insight, information processing, memory, perception) where in order to develop learner capacity and skills to improve learning, the educator structures content of learning activities to focus on building intelligence and cognitive and meta-cognitive development.

Constructivism views learning as a process in which the learner actively constructs or builds new ideas or concepts based upon current and past knowledge or experience. In other words, learning involves constructing one’s own knowledge from one’s own experiences. Constructivist learning, therefore, is a very personal endeavor, whereby internalized concepts, rules, and general principles may consequently be applied in a practical real-world context. This is also known as social constructivism. Constructivists believe that knowledge is constructed when individuals engage socially in talk and activity about shared problems or tasks. Learning is seen as the process by which individuals are introduced to a culture by more skilled members. Constructivism itself has many variations, such as active learning, discovery learning, and knowledge building. Regardless of the variety, constructivism promotes a student’s free exploration within a given framework or structure. The teacher acts as a facilitator who encourages students to discover principles for themselves and to construct knowledge by working to solve realistic problems.

Transformative learning theory is the process of constructing and appropriating new and revised interpretations of the meaning of an experience in the world. Transformative learning is the cognitive process of effecting change in a frame of reference although it is recognized that important emotional changes are often involved. It has been shown that these frames of reference define our view of the world and we have a tendency as adults to reject or deem unworthy any ideas that do not ascribe to our particular values, associations, concepts, etc. Transformative learners utilize discourse as a means of critically examination and reflection devoted to assessing reasons presented in support of competing interpretations, by critically examining evidence, arguments, and alternative points of view. When circumstances permit, transformative learners move toward a frame of reference that is more inclusive, discriminating, self-reflective, and integrative of experience.