Hi.

I want to join the Fedora project.
I am a software developer, and have an idea about creating a program that I think could be very useful.

I want to create a program, which is a program that guides a user through a complicated (from an end-user point of view) process of doing something.

To make the program most useful, the program should make it easy to use (rpm) packages.
This means that if a developer of a guide, marks an item as a package type, where kind="rpm", the program knows the kind of action that are possible to do with it, and let's the developer of a wizard choose, which kind of actions should be possible in this wizard  - the user can always overwrite that behaveiour by switching the application to advanced mode at runtime, where all actions are possible to do.

The program is a (GTK+) GUI.
 It works by interpreting description files.

* Design is done with a file that uses Cascading Style Sheets syntax.
* The work flow is described with something that looks like HTML, but it isn't a HTML document, and the work flow is done by using hyper links.
* Things a user can interact with has event handlers, which is a link to a function inside a python script.This is where the "doing something" part is done. The program itself creates the GUI and collects information, which always is accessible from the Python script.

I don't think creating a guide can be done much easier:
* Creating HTML-like documents should be familiar for web developers
* Python is used to getting the things done. Python is not JavaScript, but luckily Python is some of the most friendly beginner programming languages. I think it will be OK to Python as the scripting language..
* Design with CSS (Cascading Style Sheets) syntax - not browser-standard CSS. CSS syntax should also be familiar to web developers. The things that are different are the properties and their values.

BTW,
I had never seen sound or video be used in a guide program. However it could be interesting to support the use of sound and video in a guide, and see how they are used by the guide-program developers, and the end-users response to sound and video.

Please note that I don't want to create a GTK+ language binding for my own high-level web-like (without the browser headache) programming language, but it could for sure be interesting to do that sometime in the future.
For now, it is should be much more limited.

What do you think, good idea?
Does something like this exists now?

/Lars