Web lists-archives.com

Re: Interface analyzer for GTK+


On Mon, 2015-09-28 at 19:58 +0200, Daniel Milewski 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?

Note firstly that I’m not a GTK+ maintainer, so these are just my
suggestions rather than concrete answers.

What kind of events are you wanting to log?

Similar-ish stuff has been done for GLib by making it emit SystemTap
events if compiled with --enable-systemtap.


I suggest the events be agnostic to your GOMS software. Your software
would have a SystemTap script which post-processes these into the
format you want, which is specific to your software.

> 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.

I doubt that anyone would want to add a dependency on libxml2 to GTK+
simply to output XML. I believe one of the reasons for writing GMarkup
in the first place was to avoid a dependency on libxml2, because a lot
of its functionality (XSLT transforms!) is unnecessary for most of the
use cases GLib and GTK+ have for XML (parsing UI files, mostly).


Attachment: signature.asc
Description: This is a digitally signed message part

gtk-devel-list mailing list