Web lists-archives.com

Re: Interface analyzer for GTK+





On Mon, Sep 28, 2015 at 1:58 PM, Daniel Milewski <danmilew1@xxxxxxxxxxxxxxxxx> wrote:
As a part of my engineer's thesis I'm developing a interface analysis
tool for GTK+. The tool's purpose is to let one judge how good the
interface design is based on task execution and learning time. It'll
employ a theoretical framework known as the GOMS method[1]. As I hope
to get my code accepted into GTK+, I have a few questions.

I need to make GTK+ create an event log in runtime. I skimmed through
documentation and the source code and I've found the --gtk-debug
option. My idea was to add a one more debug flag named "goms" to make
analysis conditional. Is it ok?
It'd also be nice to have a way to specify a filename of the event log.
Since it's not possible to squeeze the filename into the debug string,
is it ok to introduce a second command line for this?

I also wonder if there is a preferred format for dumps of this kind in
GNOME. I think of going with XML since a lot of other things in GNOME
like interface descriptions also make use of XML. Do you have better
ideas or suggestions on this?

If XML is ok, then what is the recommended way to generate XML output
in GNOME? I saw that some parts of GTK+ are generating XML from inline
strings and using convenience functions provided by GMarkup, which is
rather not clean. Is it fine to generate dumps this way? I wonder if
introducing a dependency on e.g. libxml would be better.

[1] https://en.wikipedia.org/wiki/GOMS

I don't think putting such specialized logging directly into GTK+ is going to be acceptable. I would suggest to either investigate if you can get what you need through the accessibility framework, or look at creating a loadable module that connects signal handlers to catch the necessary events (you can eg look at libcanberra for how that works in practice).
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-devel-list