[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-usability
Subject:    Naughty applet: improvement ideas
From:       Stephane Gourichon <gouricho () poleia ! lip6 ! fr>
Date:       2003-05-05 20:10:26
[Download RAW message or body]

Hello,

I could not find a mailing-list for naughty applet, but I found a
name in the source code obtained by anonymous CVS ( http://lxr.kde.org/
is a must to find quickly the source we need, bravo !).
I believe that this message has to do with kde-usability, but it wasn't 
mentioned in the list before. (Please Cc me in reply, I am not on the 
list.)


For those who don't know it, the naughty applet is a small program
(actually a library) that detects when a process takes all the CPU
power, and offer to kill it. It shows as a smiling face in the kicker
bar.

I think that the naughty applet is interesting, but it is a bit too
crude for now. It is particularly interesting for newbies and, in the
future, should be enabled by default IMHO. Why ? Because it allows a 
newbie to kill a naughty process without knowing what it is.


But the settings are not intuitive at all, and it needs refinement.

Let's call "naughty" a process that eats all the available CPU.

*The threshold are too low, I guess. With default settings it complains
about "kicker", "artsd" sometimes without a good reason. But see below 
about the settings.


*On the usability side: most of the time I do not want to kill a process
that is currently naughty, because it is currently normal that it is
naughty (so I don't kill it) but in the future it may be abnormal so I
don't put it in the ignore list. An example is when I experiment with a
CPU intensive program like transcode.
What then happens is that the the naughty applet becomes annoying,
always asking again for the same process.

I think it lacks options to /temporarily/ ignore a process, not
definitely. That is, there should not be two window appearing but one 
window with several choices and a "confirm" button
-kill now
--any process named "nnn"
--"this particular process (number xxx)"

-ignore
--any process named "nnn"
--"this particular process (number xxx)" (adds a temporary ignore
rule that would include the PID and be deleted when the process exits)

-Or, the rule would disappear if no process with the same name would
become naughty for, say, one minute (this is good for a compilation)
-Or, the rule would disappear at the end of the session, button
saying "ignore processes named nnn for this login session"


Of course we don't want to make this applet another top/ksysguard/etc...
It is always difficult to improve something that is simple and wants to
remain simple. There is a similar problem with the principle of the
wikiwikiweb: any not-well-thought "improvement" gets things more
complicated and puts you further from your goal of simplicity.


Maybe all those options are useless and what we actually need is that a
click on the smiley offers a menu showing the (few) processes taking CPU
power (with and without the ignore list) with an option to kill it. Or,
a "temporarily disregard the ignore list" option, that triggers the
question again.

For those options to be useful, they should be discussed. Who uses the
naughty applet ? How do they use it ? Are they satisfied with it ?


*My temporary conclusion for the simplest usability improvement:
when one clicks on "no" (not kill) and "no" (do not put in ignore 
list), at least ignore this particular process (do not ask again for the 
same processes, unless the user clicks on the smiley).
This looks simple and effective.


*On the settings side: they are puzzling.
The interval is in second. This should appear in the box.
The processor load box is cryptic. Is this percentage ? If so, why allow 
up to 1000 ? This is puzzling. No one knows how to understand this. If 
this for multiprocessor systems ? This should be more explicit.

I found no doc other than the "about" box. This is a bit light :-)

After reading the source, I understand that it means "every x seconds,
if the average processor load for the timeslice was above y percent,
launch the search for a naughty process and offer to kill it". This is
not obvious a all, especially for a non-programmer.

I wondered if the threshold was a system load (average number of
processes needing CPU) or CPU consumption percentage. I also wondered if 
those figures were general, or process-related (say, if process x 
consumes more than y percent alone), etc... This should be more 
explicit.

Why is the smiley not smiling with this settings:
15 seconds, threshold 95
on a Pentium III 550MHz only playing MP3 with xmms and nothing else ?

Clicking on a unhappy face should display something related to the 
reason it's not smiling, not the settings box.

Thank you for your attention.

-- 
Stéphane Gourichon - Labo. d'Informatique de Paris 6 - AnimatLab
http://animatlab.lip6.fr/ - philo du dimanche http://amphi-gouri.org/

« La meilleure façon de prédire l'avenir, c'est de le créer » Peter Drucker
_______________________________________________
kde-usability mailing list
kde-usability@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-usability
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic