dr_tectonic: (Default)
[personal profile] dr_tectonic
Just got back from a short coding-break walk along the bikepath behind the lab. Saw a whole bunch of ladybugs on a plant. Also got a good look at the leetle-bebby prarie dogs in the adjacent open space. They are much smaller than the ones I saw earlier in the season that I thought were babies, so I guess those ones are adolescents. That means that prarie dogs either take more than a year to mature, or they have multiple litters of offspring each year. I have no idea which is true.

I'm making slower progress on my own, but it's happening. The game end sequence is much cleaner now, and I got the final debriefing window to hang out long enough to be read.

Still loathe java swing just as much as ever. I think the core concept of good UI design (and hence, good design period, for any product which is meant to be used by people, which is basically all of them) can be summed up as follows: whatever it is that people are going to do with your product most of the time, it should be good at that. If there's a common use, that should correspond to the default behavior. If there's an obvious way to interact with it, that should do something sensible. Don't punt on sensible defaults because they're more work -- that's just laziness. If you can't figure out what sensible defaults are, you have no business designing the product.

I don't think the developers of swing even had a concept of "default behavior"; they just have code that happens to function even when attributes are unset. Bad, bad, bad design, and utterly inexcusable, given that John Osterhout (designer of Tcl/Tk, which has very, very good defaults) was working at Sun at the time. I suspect that part of their mandate may have been "make sure it looks as little like Tk as possible, so we don't have to pay him any royalties".

Date: 2005-06-08 05:19 am (UTC)
From: [identity profile] arcticturtle.livejournal.com
I love all my brothers.

Especially those who plug Python. I haven't really done any GUI building, but I second the rest of what jofish says. I'm so not a true computer nerd, but Python makes it so easy to fake it. But not with a deceptive and dumbed-down façade; when I am ready to advance into a new genuine computer science concept, the Python way in is almost always clear and elegant.

Spoiled by an employer-purchased copy of WingIDE, I am
- Rebar (but don't call me that if you ever come to a PyCon)

Date: 2005-06-08 05:57 pm (UTC)
From: [identity profile] dr-tectonic.livejournal.com
But Catherine, wasn't that your sorority nickname? ;-)

(I love all my brothers, especially the ones who are sisters.)

Date: 2005-06-09 09:17 am (UTC)
From: [identity profile] arcticturtle.livejournal.com
Oh, didn't we have fun back at Tau Epsilon Phee?

So, National says we can't be co-ed, eh? Well, we'll just show them...