Napkin as Reality
My latest hack is a "Napkin" Look and Feel for Swing. I'm up to alpha 4 with it -- it still does some very weird things. The Swing LAF lets many things happen, but it is far from simple to figure out, and farther from easy to flex. But most things can be done.
The idea is this: There's somehing about a GUI mock up that makes managers go all glassy-eyed. When you mock up the GUI, which you will usually do early in the project, it looks done. It doesn't matter how carefully and often you say that this is just a mock up and neither it nor the stuff behind it is done. Some very deep, primal part of the manager's brain has seen it so it must be done. The real world sort of works that way, or at least it can seem to.
So a few months later, your manager and marketing folks are wondering what the hell you've been doing since you're already done.
(Joel Spolsky, of Joel on Software fame, has an article about this. He calls it the "iceberg secret", but I think it's more the other way 'round, but whatever the terminology it's a very nice article).
When I read this, it seemed to me that one fundamental problem here is that the emotional message and reality are out of sync. Any mocked up interface looks pretty professional and neat and clean and, well, real. That's because the buttons are real and look just like real buttons attached to real things. What was needed was a way to make the emotional content of the presentation match reality -- the thing is just a sketch of what will be done.
Hence the Napkin L&F. The idea is to have a L&F where things look like they've been scrawled on a napkin. Once you get part of the thing done (and by "done" I mean "done all the way through the implementation, not just the GUi part), you can set the L&F of that part to the normal one you will use, but the rest will still look conditional which it is. It should tickle that lizard part of the manager's brain the right way, or a righter way anyhow.
It's an interesting experiment, and it's been fun playing with it. There's lots to do (anyone want to volunteer?) but you can get a serious look at the idea. The web page has a webstart launch, too.