Re: Interface analyzer for GTK+



Hey,

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.

https://sourceware.org/systemtap/SystemTap_Beginners_Guide/userspace-pr
obing.html#uevents

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

Philip

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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]