Hi, I have been developing a project called KTutorial for quite some time and I feel that it is now in a mature enough state to be publicized. So here I go :)
KTutorial is a library (and a graphical editor) for interactive tutorials in KDE applications. The tutorials are embedded in the applications themselves, and react to the actions of the user. For example, if the user clicks on a button, the tutorial advances and shows new information to the user. Now some details about the project will follow. If you prefer to just see the project in action, after the details you will find links to some videos ;) The tutorials can be written in C++ or in a script language supported by Kross (Javascript is recommended, as its backend is installed by default; Python or Ruby, on the other hand, may not be installed in the system). Instead of programming them, the tutorials can be made using KTutorial editor, which is the graphical editor of the project (in the end, the editor just exports the tutorials to Javascript to be used by the library). The editor provides an introspection system to ease the making of tutorials. This system, which works using D-Bus, can be used to know, for example, the signals that an object in the target application (the application the tutorial is being made for) can emit. Unfortunately, right now the editor has a very technical orientation; I would like to make it more usable by non-technical users in the next release. One of the key points of KTutorial is that, besides calling the setup method of KTutorial, you do not have to modify the code of the application. You can, though, and it will make certain tutorials easier to write or more interactive (specially scripted tutorials), but you do not have to. KTutorial "observes" what happens in the application and reacts to it, but it does not need explicit notifications from the application. To achieve this, KTutorial makes extensive use of Qt Meta-Object system (signals and properties). Finally, although KTutorial provides a default interface for KDE applications, you can customize the interface instead of using the default one (which is a dialog to show the tutorials, and a floating widget to show the tutorials themselves). Having said all this, there is a problem you must be aware of. Although it can be used by applications at this time, it is still in development, and it does not have a stable API (so no stable ABI either) yet. Anyway, the FindKTutorial CMake module has version support, so it can be looked for the exact version instead of accepting any version equal to or higher than X.Y.Z. Also note that, even being a library, it is licensed under the GPLv3+ (not the LGPL), so it can be used only by free (as in freedom) applications. OK, now it is time to show the project in action. To do this, I have recorded three videos showing tutorials made with KTutorial for showFoto, Kdenlive and Gwenview: http://ktutorial.sourceforge.net/files/showfoto-levelsAdjust.ogv (based on http://userbase.kde.org/Showfoto/Levels_Adjust) http://ktutorial.sourceforge.net/files/kdenlive-simpleSlideTransitionBetweenTwoClips.ogv http://ktutorial.sourceforge.net/files/gwenview-fullScreenInterface.ogv An explanation of the changes made in each application, the tutorial sources made with KTutorial editor, and the patch to add support for KTutorial in each application can be seen in these blog posts: http://ktutorial.wordpress.com/2012/08/24/example-of-ktutorial-for-the-real-world-showfoto/ http://ktutorial.wordpress.com/2012/08/28/example-of-ktutorial-for-the-real-world-kdenlive/ http://ktutorial.wordpress.com/2012/08/30/example-of-ktutorial-for-the-real-world-gwenview/ If after all this you have any interest in KTutorial, please see the project web page for downloads and documentation: http://ktutorial.sourceforge.net/ Also, if you think that I should publicize the project somewhere else (besides this mailing list, I mean) I would like to know about it. Thanks! And thanks for reading too :) >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<