Responsive design

August 17, 2018
by Campbell

Responsive eLearning

Responsive (or Adaptive) design means that your design adapts to the screen it is viewed on. Simply put, smaller screens have less space. You can’t fit as much on the screen, and the layout adjusts accordingly. People expect to be able to take training wherever they are, with whatever device they happen to have in their hand.

From my research, the average person checks their smartphone nine times an hour. So, as a result, it seems that modern learners want multi-device learning. They want to learn on their own time, on the move and on their own devices. Knowing what learning content works well on mobile devices (and what doesn’t) will help you decide where to focus your time.

Consider responsive design at the beginning of your project, so you can really save time further down the line. Ask yourself if the project needs to work across all devices and view modes, or if there is a particular device that you know your learners are going to be using. You also need to think about the amount of on-screen content and complexity of interactions at an early stage in the project. This will help you avoid issues down the line.

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.