It’s a commonly repeated opinion, that on Linux all application GUIs look different, but on Windows all/most applications feel like Windows applications.
Now obviously people mean the difference between, for instance, KDE and Gnome apps, and they mostly also refer to even more horrible toolkits like whatever it is that xine-ui uses.
But if you actually looked closely at Windows applications, you’d notice that every major MS application uses different toolkits and “skins”, and so do all the other applications from other companies. In fact Win32 only offers a few basic controls, namely:
- push-buttons
- scrollbars
- really basic menus
- combo boxes
The menus that win32 offers are so basic that nobody uses them, they implement their own so they can add things like icons, and menu-separators.
In my opinion, the reasons that Windows applications are consistent are:
- Consistent fonts
- Consistent colours.
Absolutely the number one reason is fonts. Windows offers a default font that GUI controls like menus, buttons and text widgets use. Apparently, the API for drawing text is different on Windows compared to X11 in that it developers end up using the right font when they roll their own widgets. On Windows, all text looks consistent.
Colours are almost as important. On Windows the colorscheme is a globally accesible property, on Linux schemes are toolkit/desktop specific. If toolkits just used the same colours, people wouldn’t notice small, or even larger differences in the widget styling.
So in conclusion, if Linux just standardised fonts and colors I think applications would feel consistent, just like they do on Windows. If toolkits did just these two things, their other differences would not be nearly as noticeable in general use. Frankly I feel if Linux could do these things, we’d be more consistent, since if you use mostly KDE apps, they have far more internal consistency than the Microsoft port-folio.
Disclaimers
Of course there are other more subtle considerations, like one toolkit on linux has 4 pixel bevels. It just looks ugly, there’s no way to hide that. But if it had consistent fonts and colouring it’d look a lot better and would fit in with a KDE desktop more easily.
It is also true that Windows appliations copy whatever is the latest MS-app appearance. MS Office 2003 has a neat style that has rapidly been copied and emulated in all other major toolkits, ie check out the latest version of Delphi, it looks similar to Office 2003, but the similarity is subtely different, eg. menus are narrower and more compact. And this makes sense since MS didn’t release any API or DLL to allow you to use the Office 2003 style, so Borland implemented their own clone. Trolltech even claimed to considering emulating it when I attended their roadshow in Cambridge. My point in this paragraph is that Windows apps emulate a general “Windows” consensus that is defined by MS, so this helps somewhat.
And yes, I’m just ranting an opinion here, maybe someone who reads this would like to do something about it, as I’m not the man for that job.