LJ Archive CD

Questions & Answers

Q: How in the world are you going to tie all of this to the OS? And do it without dragging the entire system to a crawl?

A: The code responsible for color-reactiveness can (and should) be tied directly to /proc, or something which watches /proc for you. Updating the color of a lamp or beacon should occur four to six times per second, optimally. Yes, I did my homework and yes, I actually sat down and did the math. Updating the color of the lamp or the beacon that frequently shouldn't take much effort.

Setting up a watchdog process which monitors /proc (as opposed to hitting up /proc directly) makes it possible to do stuff like remote monitoring of other systems across networks, which was part of the original InSight plan.

Q: Just how much CPU time is this going to take?

A: Next to nothing, if done right—no more CPU time than it takes to animate a GIF file on a web page. However, I would also imagine that the CPU toll would be proportionally heavier when several windows are open, or many, many beacons are present on the desktop. Certainly, the CPU penalty would never be so severe as to cause an unneeded hindrance to the machine.

Q: I'm not quite sold on the idea. Color-reactiveness seems like more of a gimmick than something truly useful to me. Convince me that it is not just eye candy.

A: How many times have you had applications inexplicably lock up without any indication of what went wrong, without digging up the process list, or looking at 'top' to find out what happened? How many times have you had to an entire screen full of progress windows, all of which have their own progress indicators? How often have you been bugged by annoying and obtrusive pop-up windows telling you when something has been completed? How often have you wanted to know at a glance whether or not something you're running is performing up to snuff? Color-reactive desktop elements can alleviate all of these problems quickly and elegantly.

Q: Why should GNOME incorporate this idea into the design?

A: A lot of reasons. For one, it would set GNOME apart from its competitors as being an innovative (and more importantly, a new) improvement to traditional GUIs. Linux needs to set itself apart from all the bloat, lame promises and hype intrinsic to other platforms by addressing the problems contemporary users face when dealing with GUIs in general. Color-reactiveness is a useful idea, fairly easy to implement and would take a minimal amount of system resources to accomplish. Above all that, it is just plain cool to have.

Q: What if you do end up having a ton of windows open on one screen and your system begins to slow down as a result of having to continually update all those little lights?

A: A smart programmer will write the code responsible for handling color-reactiveness so that this never happens. If the total number of lamps and beacons on a screen exceeds a known threshold, the frequency of updating them should be reduced to compensate for the load they incur on a system—simple load balancing.

Q: How is color-reactiveness beneficial to the user?

A: Lamps and beacons provide information about program status in a quick, at-a-glance fashion. The same concept can also be applied system-wide to provide similar information about hardware and OS status—not just application status. Use your imagination, and you'll begin to see how this whole concept can be applied almost universally to any OS/GUI.

Q: Where did you come up with this idea?

A: I didn't. The idea has been floating around for years, in one form or another, with different intended uses. I just sat down and thought about it at length and added my $0.02 to the refinement process. We originally thought we were the first (within InSight) to come up with the idea, but some later digging revealed that our idea turned out to be a slight variation on two or three separate ideas different people have had over the past ten years or so. In our case, the idea was inspired by a Taco Bell color-changing Dennis Rodman cup. You could make his hair color change to reflect the temperature of the drink in it. And so, color-reactiveness was born.


LJ Archive CD