DISCLAIMER: This site is a mirror of original one that was once available at http://iki.fi/~tuomov/b/


Ion is often accused of being ugly. I do not think it is ugly: there isn't much in Ion to look at after all. The teletubbyland default theme of Windows XP I do find awful, however, and OS X's default looks are also rather uninspiring – and so is all the white Apple hardware, and I'm not much into the industry-wide “silver” hardware craze either. Admittedly, the looks of an Ion “desktop” (what desktop?) can be quite bland, there usually being no background graphics to be seen, very simplistic window title decorations and other elements, little of which are visible normally. Any fancy decorations there might be, would be in the windows of the programs running within it – often most of them bland xterms. To most people interested in using Ion, that does not matter, as they want functionality and usability, and do not want to waste precious screen space for superfluous graphical design components i.e. eye candy. Or at least that's what they say, not wanting to admit that Ion does not fare well in that department.

However, increasingly many operating environments fare even worse than Ion, for other reasons: not blandness, but excess of eye candy, at the expense of functionality and even ergonomics, i.e. at the expense of usability from points of view that appreciate the former. As a first example, take the translucency craze. The way translucency tends to be used these days, to make windows show the screen background image through them, it is just as bad as light reflecting off the display for trying to see the information on the screen. You can't make whole window backgrounds translucent (with anything to be seen through) without seriously impeding the legibility of the material in that window. But there are also non-interfering and functional uses of translucency: certain status/notification windows that do not need immediate response to, would actually benefit from translucency (and not taking the focus), and small-scale shadows and such can also be quite functional. Window translucency can also be used to improve the looks without seriously impeding functionality, and perhaps occasionally even improving it in the context of the mess of the WIMP desktop. The trick is to keep the “working area” of the window – usually the area containing the document being viewed or edited – opaque and only making the surrounding areas (tool widgets and such in a WIMP interface) translucent (varying the alpha levels to neatly merge into the working area).

Other examples of popular eye candy, where it's used in excess at the cost of functionality and ergonomics, include: all kinds of slow as well as fast and nauseating animations, for these reasons exactly; audio and video players mimicking the controls of physical players, which are very hard to usably emulate on a 2D display device; etc. 3D effects and environments, while not always only about eye candy, also often seem to be at the expense of usability, just for the sake of 3D. In very few applications there would be any benefit from a 3D environment on a 2D device – navigation becoming slow and cumbersome – or due to the 2D nature of the task. (Why'd anyone want a 3D text editor for our 2D writing systems?) For organising the jungle of the WIMP desktop, 3D is also no solution; abolishing the mess is.

However, no matter what you might have thought, and although our tastes may differ, I do actually prefer things, user interfaces included, to look good. I just do not want it at the expensive of usability. I like to have decent interior decoration. I rather live in a city of vegetation and beautiful or interesting architecture (of mostly historical and post-modernist styles) than roads, parking lots and the dull concrete and glass cuboids of modernist architecture. (The former styles also can on rare occasions reach levels of excess in ornamentation.) The looks of Ion (or lack of them) are the equivalent of modernist architecture in graphical design of user interfaces, where form follows function alone – in this case desirable function. (There, of course, also exists undesirable function, such as Clippy, and in the world of architecture and city design, the prevalent principle of accomodation for the automobile at the expense of everything else.)

A small (post-modernist?) facelift would do Ion a lot of good. But then again, on the one hand, good taste is a difficult skill, and bland looks can be better than unbland but awful. If you're not good at design demanding the use of your sense of aesthetics and ergonomics, it may be better to stick to simple design. And, face it, most people – me included – practising such design in the world of software (and Web design in particular), where mistakes are cheap, are not good at it. Not even so-called professionals. On the other hand, one fundamental feature of Ion is that it does not take a lot of screen space for itself. Therefore, to offer eye candy much more varied than corny gradients, its design should be highly integrated with that of applications. This would, among other possibilities, allow any delicate translucency and other ornamentation continuing into the application windows' non-working areas, and seamlessly merging into the working areas, while keeping most of the working surface from becoming cluttered with the background design. The prevalent direction seems to be the opposite: applications ignoring and overriding the window manager, with their own window designs, instead of more tightly yet abstractly integrating with it, so this is unlikely to happen. While some minor improvements could be done to the face of Ion by adding a few pixels here and there, and maybe in some peoples' minds by supporting corny gradients and ultra-corny background bitmaps, I am personally highly unlikely to do this: with plain Xlib the amount of work is tremendous, and the other libraries (e.g. Cairo) have other faults, such as anti-alias and UTF-8 monoculturism.

So, between the bland looks of Ion and the graphical excess to the detriment of usability, that the world seems to be heading towards, I'll choose the former. Most rather I'd have more subtle eye candy that does not impede on other requirements I have for the user interface, but there's always so much to do and so little time.