Reverse engineering for tools

Nov 2013

When you were a kid, between 5 and 10 years of age, you most probably were more aware of the power of Reverse Engineering than the average adult (geeks excluded).

In fact, Reverse Engineering is nothing less and nothing more than a process of breaking down a mechanism into its individual parts to better understand how it works, regardless of what you plan to do with such new understanding (copying the mechanism, improving it, using it more effectively...) Started as a military intelligence practice to uncover the secrets of innovative German weapons during WW II, Reverse Engineering has become better known as the computer master’s best tool to reach the hidden code lines of software that is not released in an open source version (“open source” meaning that the programming code behind the software is available to anyone). So, if you have kept a little bit of that childlike curiosity and just knowing "how to use" something does not completely satisfy your thirst for knowledge, well, you might just want also to learn "how it works". Reverse Engineering may just prove to be your best shot at it.

Even in the case of open source software (or “open source” anything complex...), the learning outcomes of studying its functioning using a Reverse Engineering approach are obviously greater than a simple reading of the “user manual”.

In our specific field this translates into the idea that any valid or interesting tool for learning can be a source of much greater potential if we are able to go from "using it" to “truly knowing it” by understanding how its single pieces fit and interact one with another. Why does a tool need a specific setting? Why does it need to be used in either smaller or bigger groups? Why do we need (or not) specific materials, timing, music, and so on...

Following precise instructions, written or not, doesn't necessarily give us a clear understanding of the reasons behind them. In the same way, when we "benefit" from a tool as participants, the mere fact of following any given role or command, together with the trust in the trainer/facilitator, usually keeps us from asking ourselves the "why am I doing this" question, and we just focus our attention on carrying out the task in the best way possible. Even when we are the person using a tool that some colleagues (or publication) have explained to us, with a clear, step by step description, our complete mastery of the tool's detailed functioning, whys and hows is not a given.

The curious trainer should always have lots of questions about a tool, as questions and their relative answers, when examined using a step by step Reverse Engineering process, can trigger a "Lego effect" allowing us to transform the separate components into which we have dismantled the tool into a set of Lego bricks. And just as when playing with Lego bricks, we will be able to re-assemble (which is referred to in geeks jargon as “re-engineering”) the tool, maybe slightly changing it, adapting it to our context or to our target or just to our training style and, who knows, maybe even improving it!

A simple model for the iterative improvement of a tool holds that the person applying it and analyzing its outcomes must also be the one who designed it as he or she is the person who’s most aware of the original ideas behind its development. Thanks to the Reverse Engineering process, anyone using the tool can join the cycle of testing and re- designing as if they were the original crafter. By using Reverse Engineering, we can understand the designing process that drove the tool creators to make certain choices and decisions and we can make the tool a little bit more ours, giving ourselves full rights to constructively criticize it and to tweak it into a customized new instrument better fitted to our needs and goals.

If we refer back to the “Journey of a Tool For Learning” article and its conclusion, it will become clearer how Reverse Engineering can help us travel this road. The sentence «The [Tools for Learning] Strategy not only aims to facilitate the sharing of Tools, but also to provide opportunities where peers in the field on non-formal learning can reflect on and suggest developments» clearly illustrates the kind of role a greater awareness of the Reverse Engineering approach2 can play.

Of course applying an idea such as this one to a new and different field from the one where it was first developed will involve a lot of "trial and error" to define a structured approach on how to apply Reverse Engineering to non formal education tools for learning. It's a matter of "categorizing the types of parts you might discover when Reverse Engineering a tool for learning (e.g. sequence of steps, materials, target audience)"3 and of understanding how each "brick" can bring new outcomes depending on how it is re-assembled.

So now all we need to do is to design a Reverse Engineering workshop to try it “hands on” in the upcoming VIII Tool Fair!

  1. Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation. It often involves taking something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing, without using or simply duplicating (without understanding) the original. Reverse engineering has its origins in the analysis of hardware for commercial or military advantage. The purpose is to deduce design decisions from end products with little or no additional knowledge about the procedures involved in the original production. Wikipedia page is probably the most complete, user-friendly and rich in further references when explaining RE as a scientific process.
  2. “Journey of a Tool For Learning” by Federica Demicheli in Tools for Learning, Salto-Youth EuroMed and Good Practice’s Magazine
  3. Thanks to Jonathan Bowyer for his valid suggestion. 

Share this content