Possible solution

So, interactive tutorials are a great thing, but they can't be used because, well, they don't exist. The solution is clear: develop them.

The best way to do it is as a library, so it is as independent as possible from a specific application, thus several of them being able to take advantage of it. But not every application would be able to use it, as they must fulfill some requisites, the most important to be a KDE application.

The interactive tutorials library will be very closely related to the graphic toolkit of the application, and isolating the library from it would be near impossible. So, as the library must be developed just for one graphic toolkit, it will be Qt/KDE (as it is the desktop environment I use).

Although the library would be designed to cover the most common cases in tutorials, some applications may need more than what was initially thought in. The library should provide a way to extend its functionality so it can be extended for specific cases. In that sense, the library is also a framework.

The tutorials would be stored in scripts. The core of the library would be an interpreter which, based on each script, would warn the user if something is wrong, or would explain concepts, or would highlight some interface element, etc. With dynamically interpreted tutorials, the possibilities are endless.

Scripts syntax should be friendly enough to make possible for non developers to create new tutorials. In fact, developers should worry only about accomplish the requeriments set by the library to work, and extend it if needed, but tutorial creation would be left for documentation teams, for example.