Some extensions are quite hard to figure out, it might take a lot of trial-and-error (and while that's usually a lot of fun, not all people want to take that time to learn how to use an extension).
Therefore, like I already suggested here, a drop-down menu with some examples would in my opinion help the user to understand extensions.
I'm not sure whether this would be possible by just using Python and the XML structure of the extensions (a while back I had a brief discussion about this with someone from the Inkscape-Devel mailing list, who suggested using Auto-Glade?).
What are your thoughts on this, and what would be the way to implement this? Note that adding the drop-down menu is very easy to do, but there has to be some mechanism that places the right values in the other fields as soon as an example is clicked.
Including examples for certain extensions
Re: Including examples for certain extensions
Do you think about only including a static list of predefined examples (by the extension developer), or to implement a more basic system which allows to save, reuse, rename and delete presets for all extensions?Ailurus wrote:Therefore, like I already suggested here, a drop-down menu with some examples would in my opinion help the user to understand extensions.
(Personally, I would not support efforts to add a static list at the moment: sure, it might be a nice-to-have feature for new or casual users, but does not really help with complex extensions frequently used for different tasks, or with the new CPFs for filter effects in current trunk - their usability IMHO really suffers from the lack to save the current set of values as 'named preset'.
A flexible system to store, manage and reuse named sets of parameter values would support both: help for new users with examples provided by the developer of the extension, as well as increase usability for advanced users.)
AFAIU it's not doable with python alone: the extension dialog (based on the INX file) is maintained by the main inkscape process, not by the spawned python process, and the spawned python process cannot interact with the dialog (beyond getting the parameters + their values passed on the command line from the calling inkscape process) - i.e. with the current extension system, you cannot fill in parameters from a list into the various widgets of the dialog via external python process (to allow the user to tweak individual parameters of the chosen example and study how they affect the result).Ailurus wrote:I'm not sure whether this would be possible by just using Python and the XML structure of the extensions (a while back I had a brief discussion about this with someone from the Inkscape-Devel mailing list, who suggested using Auto-Glade?).
[Added later:]
Related blueprint: Extension presets
Re: Including examples for certain extensions
Hi ~suv, thanks for your reply.
I agree, that would be a better solution compared to the static one I proposed. In a few weeks time I even might have some time to help implementing this.
~suv wrote:A flexible system to store, manage and reuse named sets of parameter values would support both: help for new users with examples provided by the developer of the extension, as well as increase usability for advanced users.)
I agree, that would be a better solution compared to the static one I proposed. In a few weeks time I even might have some time to help implementing this.
Re: Including examples for certain extensions
There would be nothing wrong with putting up a link to the website that documents a plugin (including tutorials) in the dialog box of an extension. Hopefully the link would just open in default browser.