Have you ever made a training simulation or other educational product, only to scrap it six months later because it needed updating but it was easier to just build a whole new sim from scratch? Perhaps the people who built it moved on. Maybe you tried to make changes, but it was too difficult or too expensive. Perhaps you even wondered if these training sims are worth the trouble, thinking there’s got to be a better way. Fortunately, there is. It’s called modular experience design.
What is modular experience design?
First, let’s consider modular design. Modular design is a methodology in which designers use interchangeable components that can be easily replaced, kind of like Legos. You can replace broken Lego bricks or even arrange them differently. Desktop computer towers work this way. You can always add more RAM, replace a faulty USB port, or swap out the graphics card for a faster one. This piecemeal replacement strategy is far cheaper and less wasteful than buying a whole new computer every few years.
Modular design can also be applied to developing software such as training simulations, serious games, and XR experiences. This is traditionally called modular programming, but the modular design mindset can be applied to more than just code. It can be applied to the entire design and development process of an eLearning experience.
The Modular Experience Design Framework
The Modular Experience Design Framework includes the following six principles:
1. Create reusable components
Just like in programming, organize your assets, code, files, and folders so that they can be easily and quickly updated, replicated, and reused. For example, when developing a serious game in the Unity game engine, you can create reusable functions such as pushing a virtual button. Everything in the game related to pushing a virtual button is organized in a single folder. If you make a change in that folder, it globally populates to every instance of virtual button-pushing in the game. That folder can also be easily copied into an entirely new game, making future games much faster, easier, and cheaper to build.
2. Break up large projects into a series of shorter or smaller experiences
Similar to microlearning, break up large learning projects into a series of smaller experiences that are more easily and quickly developed, updated, and replaced. Further, this will help you and your team learn from iterating and incorporating user feedback from prior experiences, ensuring that future experiences are of higher quality.
3. Code must be well-commented
Code is notoriously hard to read, understand, and update if you didn’t recently write it yourself. In order to make future changes easier, we must provide clear and frequent comments within the code itself. This is necessary for understanding exactly what can be changed or swapped and how. Make detailed comments explaining what each section of code does, what can be swapped, how it relates to the rest of the code, and how to address bugs that may arise if you do make changes.
4. Create a project instruction manual
Write a separate and brief instruction manual (at least two to three pages, depending on project scope and complexity) or a series of short videos for training future staff on the steps for updating the experience. Assume this person will be smart and relatively tech-savvy but has never worked on this kind of project before. This will likely go beyond a traditional “README” document, in that it also includes:
- How to swap out content or technical components
- Screenshots to support complex instructions
- Likely pitfalls to watch out for
- Recommended software to use
- Resources for when you get stuck
- And anything else that’s necessary to know to make changes
5. Content must be easily-updated
Design your experiences so that you can easily update any copy, change any graphics or animations, or swap out any section—all without updating or affecting the rest of the project.
6. Use common and inexpensive software
Choose popular and easy-to-use design software when possible, such as the Microsoft, Adobe, or Google software suites. This ensures future updates to the experience won’t require the designer to purchase and learn expensive and complex new software. Also, popular software platforms are less likely to go away or not be supported in the future. Even if they do, the common file types will make it easier to transfer your projects to new software, platforms, or hardware.
Benefits of modular experience design
The benefits of modular experience design are many. They include:
- Minimal additional effort
- Shortened design and development time
- Cost savings
- Increased experience longevity
- Easier updates
- More replicable experiences
- Anyone can make changes
- Higher quality user experience
- More impact and efficacy
Note that while modular experience design is valuable, it doesn’t solve everything. It’s simply another lens or tool to use when designing a project. You still need to think through other considerations such as who is your audience, what are your learning objectives, what’s the best medium for a project, etc.
In his new book Short Sims, Clark Aldrich advocates a somewhat similar framework. He proposes that designers spend one hour defining the subject matter of a microlearning simulation and 29 hours developing the experience. What modular experience design proposes is adding a few more hours to the development phase of any kind of training experience to ensure that it lasts and that any component can be easily updated by anyone on your team at any time. This approach will ultimately save you lots of time, money, and headaches for years to come.