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
On Fri, 2013-05-17 at 14:44 +0200, Lars Tørnes Hansen wrote:
Hi.
Hello Lars,
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.
Sounds great. Do you mean something on the lines of "easylife"[1]. There are quite a few actually.
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.
I think you need to look at "MimeType". Applications already know what kind of files to handle. Check the desktop file specification.[2]
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.
How about webkit in gtk? A lot of programs use it, gnome-online accounts for example?
What do you think, good idea? Does something like this exists now?
Like I said, various "helper" programs already exist. I'm not sure if you're looking to develop similar software. I personally advise people against using helper software. Here's why:
1. People never learn how the system actually works. They never learn how to use yum, install an rpm, install flash etc., which are really *simple*. It just needs a little patience to look for what command to run. 2. When a helper software installs stuff, most of the time, the user isn't aware of what exactly happened. When something breaks, they have no idea where to look. 3. Most of the helper software I see currently is aimed at installing non free software. While it's a user's choice to use non FOSS software, he/she should be aware of the fact. Clicking "install flash" is not the same as reading the Fedora wiki page on Flash[3] and understanding why we don't ship it.
A lot of users are not interested in knowing what's actually happening. They just want it "to work". They're free to use these programs. As a fedora community member, I'd prefer teaching them, rather than providing short cuts :)
[1] http://easylifeproject.org/ [2] http://standards.freedesktop.org/desktop-entry-spec/latest/ [3] http://fedoraproject.org/wiki/Flash
fedora-join@lists.fedoraproject.org