|
From: Juan T. <to...@us...> - 2000-03-15 12:49:57
|
mdf wrote: > Some comments on the program (version 0.2.7): Thank you for taking your time. It's nice to have someone helping with UI design. Since I'm coding most of the time and not using the program, I tend not to realize what the interface will feel like to the user. > 0. Ignore those who complain about "rape" in the name. That one is easy. Done! :-) > 1. The toolbar takes up WAY too much screen space. I recommend it's > complete removal, since whatever functionality exists on it can be > obtained through the menus. Similarly, ditch the message bar at the > bottom, which currently serves no useful purpose [a node count is not > useful]. Agreed. I'll make them both optional. Specially since they serve no porpouse right now. > 2. The monitor parameter editor on the right side should be a > modeless dialog the user can summon/dismiss at will (and easily -- a > right-click popup perhaps), not something which continuously wastes > space ~100% of the time. Yep, had it planned, but I tend to prioritize what users asks for... Now that you've asked for it, it's a priority. :-) > 3. The labels on the ring are currently centered on the nodes. This > makes for extreme messiness in even medium sized networks. I might > urge a nifty non-overlapping placement algorithm [simulated annealing > craziness just for the hell of it], but instead a simple strategy that > left-justifies nodes on the right side of the circle and right justifies > nodes on the left side of the circle, and top and bottom justifies on > the bottom and top nodes, should be fine. Not as easy as it sounds. To do it properly I'd have to measure the size of all names, so that I don't leave anything out. I'd rather give a little more thought to this one. And see point 4 for another reason for which I'm not willing right now to advance this part. > 4. Nodes receiving the most traffic (in terms of packet count) should > be placed in the centre of the circle, not on the edge. In fact, it > probably makes sense to put routers, nameservers and other things > in the center of the circle, other hosts on the local network on a first > layer ring, and (if selected) foreign/internet hosts on a wider ring. > > Dynamic node placement algorithms would be cool. The optimization > critieria is to place the nodes in such a way to prevent the > overlap of text, and to minimize the number of links that cross. Humm... Interesting idea, though my initial goal was to let the user place nodes wherever he felt like, and then save his settings. I think I'll do that first and then I might improve the automatic placement code. I accept patches, though. :-) > 5. Better traffic analysis statistics for each node: packets, bytes, > per protocol, per port, per host. I'm taking notes... :-) > If you have to prioritize this stuff -- and you feel it is actually an > issue -- then 1 and 2 are probably the most important. This program is > a *monitor*, not a high-user-interaction thing. Typical usage will be > to set the preferences once and leave them alone for a long, LONG, time. > Hence, maximum space should be given to the *display*, and minimum to the > configuration editing. In this same vein, a toolbar is useless: the > second or two it "saves" is not signifigant in the grand scheme of things. > Even the menubar is of limited utility. The ideal is to have a bare > window with the display -- no menubar, no toolbar, no messagebar, and a > popup modeless dialog which does the preference editing. Thanks. You have convinced me. :-) > You might also consider log(bandwidth) to be used for link widths and > node radii; the current one looks like it is a linear function, and > really weird things happen at times. A log() version might even obviate > the need for explicit controls (saving space in the dialog, reducing code > (and bugs), and lowering the documentation load). I'll try to give three options in the next version, linear, sqrt and log. Regards, Juan. |