Product: Homo Sapiens
Please fill in this template when reporting a bug, unless you know what you are doing.
Description of Problem:
The human brain seems to suffer from a cognitive bias referred to as belief overkill, wherein people will avoid having a complex set of beliefs that lead to no easy answer, and instead just reorient all of their beliefs to point to the same conclusion.
Steps to reproduce the problem:
- Create a new development platform.
- Allow several years for people to develop cool applications with it.
- Propose the platform for inclusion in GNOME.
Everyone would agree on what the pros and cons of the new platform are, and would debate whether or not the pros outweight the cons.
The majority of the people opposed to including the platform in GNOME are convinced that it is of dubious legality, that it is slow and bloated, and that it is completely unnecessary to the desktop, while the majority of the people in favor of including it are equally convinced that the legal issues are settled, the speed and memory issues are overblown and/or fixable, and that including it is absolutely vital to the future survival of GNOME.
How often does this happen?
Every time. :-/
On my flight over to GUADEC, the airline showed the cinematic masterpiece that is Big Momma’s House 2. Which I did not watch, except that every now and then I would look up, and get sucked in by the TV screen for a minute, in that way that tends to happen with TV screens, even when you can’t hear the sound and have no idea what’s going on, and if you did know what was going on you’d think it was stupid.
So one of these times I looked up, our hero was seated at someone else’s computer, and even before he pulls out the flash drive, you just know that this is going to be one of those classic movie cliché extremely tense file I/O scenes that script writers seem to love so much, along with focal retrograde amnesia, identical cousins, precocious eight-year-olds who single-handedly solve their divorced parents’ love life problems, and other such things that only exist in movies and TV.
But this extremely tense file I/O scene was different… the computer was running GNOME.
At first I thought I was just imagining it; that it was really Windows and I was just seeing GNOME becuase that’s what I’m used to. But then I noticed the GNU icon in the panel…
But the best part is, when he goes to copy the files, and the clichéed dialog comes up, with the gigantic bright red progress bar crawling glacially across the screen as our hero wonders if he’ll be able to finish in time, it’s a GNOME dialog. Someone actually took the time to write a one-off custom gtk app to do a cheesy progress dialog for a cheesy sequel to a cheesy movie starring Martin Lawrence and some guy who looks like the “Dude, you’re getting a Dell” guy, but apparently isn’t.
And so now I’m thinking… there’s an opportunity here. Hollywood doesn’t want to show computers running Windows, because then they have to pay (or at least negotiate with) Microsoft. Enter Linux (stage left).
All we need to do is add a --ridiculous-movie-cliché flag to zenity, so that instead of getting nice HIG-compliant warning, progress, etc, dialogs, you get blinking 96-point fonts and other assorted melodrama. It’ll be brilliant. It will revolutionize movie making. This time, Ryan Phillipe will be presenting the award to Miguel, instead of the other way around.
The role these apps play isn’t just to make Mac OS X look good compared to Windows or Linux, but also to help make each new version of Mac OS X look better than the previous one; i.e. to convince Mac users that it’s worth paying for the latest upgrade.
Hold that up to a mirror and I think it explains exactly why we should give up on the idea of “GNOME 3.0”. We don’t have the “I needed the money” excuse that proprietary software companies do, so why would we want to hold back new features rather than letting our users get them as they become available? And if we just let the new features trickle out one by one, then how can we ever call it 3.0?
For the last few months, I’ve been hacking on a project called “Stetic”, a new GUI designer for GNOME written in C#. (The name comes from a long-ago flamewar posting in which a KDE fan asserted that GNOME was ugly, while KDE was “beautifull” and “stetic”. One of the goals of the project is to make it easier for developers to design good, “stetic” applications for GNOME.)
Stetic is still in a fairly early stage, but with the addition of .glade file export last week, it has finally reached the milestone of being not 100% useless. To celebrate, I’m posting a screencast showing some of its cool features.
The demo is based on a presentation Nat and Miguel did for Linux Bangalore 2003, entitled something like “How to Build a Web Browser in 5 Minutes Using Mono and Glade (and GtkMozEmbed)”. My version is pretty much the same, except using Stetic instead of Glade (but still using libglade/Glade# to load the UI).
Click the screenshot for a Flash screencast (created with vnc2swf). [EDIT: not really. The screencast file was lost a long time ago.]
Some miscellaneous notes:
- Yes, I know the main window organization is not very “beautifull” right now. Everyone seems to agree that the Glade style of windows everywhere gets annoying fast, so I want to do something different. We actually tried three different UI reorganizations in one week at one point. But the problem is, I’m not using Stetic for “real” design work yet, so it’s hard to say which of the various layouts would work best for real work (as opposed to the way you use it when testing new features and bugfixes). So I’ve just left it like this for now. It will change later.
- I’ve managed to implement some of the ideas I wanted to play with, like drag-and-drop widget manipulation, and vboxes and hboxes that automatically extend themselves to fit new widgets (though as you can see in a few places in the demo, the drag targets are sometimes kinda narrow). I haven’t yet implemented some of the other ideas, like having the boxes try to figure out the correct padding and spacing automatically (although they do figure out the correct expand/fill settings). But you can get some idea of how Stetic will be different from Glade.
- The reason why the “Stock Item” pop-up menu for the buttons is (a) much shorter than it should be, and (b) slightly different every time it pops up, is that the full-length menu was making vnc2swf (or maybe Xvnc) flip out a bit, so I hacked it to only show a random subset of entries, to make the demo run more smoothly.
- Other than that (and the fact that I snipped a bunch of typing out of the resulting swf), there is nothing rigged about the demo, and you can try this at home. (Assuming you have the very very latest Gtk# from Mono subversion.) But don’t be fooled into thinking that it’s actually ready for real use; this demo works because I spent the last two weeks fixing everything that would prevent it from working. :-)
- On the other hand, Todd Berman promised he’d start using Stetic full time once I got Glade export working, so if you’ve ever thought to yourself “Todd is a very sane person whose opinions I respect and admire”, then maybe Stetic is right for you!
There’s no mailing list, web page, or bugzilla product for it yet, but you can grab the code from the Mono anonymous subversion server, and you can email me or bug me on irc (danw on #gnome-hackers or #mono).