[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Objective-C 2.0 and other new features in Leopard

From: Dr Tomaž Slivnik
Subject: Re: Objective-C 2.0 and other new features in Leopard
Date: Sun, 11 Nov 2007 18:15:37 +0000

As to the look, is there a reason why Camaelon still isn't part of the standard GNUstep distribution? Yes, the default look is clean, but it's clean and very 80s. Nesedah is clean and modern, and Narcissus is even cleaner. Using GNUstep apps without Camaelon feels like stepping through a time warp.

For what it's worth, I like the "very 80s" look. What's wrong with the 80s look?

User interface is very hard to design well, and NeXT did an excellent, and, in my opinion, ever since unsurpassed, job. It is not easy to tinker with a good design and make it better.

The NeXT look-and-feel is consistent and minimalist. The (i) simple, (ii) square (iii) gray (iv) static GUI elements remain subdued in the background, and do not compete with the user's own data for the user's attention. The design looks as if it was carefully designed by a single brain who understood the design from a holistic point of view, had considered every angle of it, and trimmed out all the fat.

I contrast this with Apple's gummy, although similar considerations apply to other "modern" GUI designs which claim to be better.

Apple's GUI is an inconsistent hodge-podge of elements and looks like it was put together by a series of disjointed patches contributed by a battalion of summer job trainees, each staying on the job for a couple of months without understanding properly the design he was modifying and adding his own pet idea of an improvement without anyone ever thinking through its effect on the overall design.

Consider this:
- one kind of close button on regular windows, another kind of close button on Dashboard widgets, and other apps (e.g. VLC) use yet other kinds of windows with yet other kinds of close buttons; Java applets, Flash animations etc. seem to have yet their own). - plasticky striped background on some aqua windows; brushed metal on others; and yet another "Leopard-style" background in iTunes and other apps - 3D, transparent, often bouncy user interface elements which distract the user from what he's doing. Should the Mail program's icon bounce irritatingly when it's temporarily lost 'net connection which will come back in a minute on its own and distract me from doing something more important I'm doing at the time? - one kind of spinning rainbow wheel in regular apps; seemingly another one in Carbon apps; etc. - colourful, animated gummy close/maximize/minimize buttons and scoll bars. Do I want to focus on my work or on playing video games with my ray-traced 3D animated GUI?
  - bloated: why is the maximize button there at all, for example?
- non-ergonomically designed: why are the minimize and close buttons next to each other?

The input side is not much better:
- horrendous time dependencies in the GUI (which NeXT thankfully lacks), e.g. - spring-loaded folders, fast-double-click-to-open/slow-double- click-to-rename in Finder,
    - time-dependent help balloons,
    - etc.

I can see advantages of themability - I'd certainly like to have it on my Apple. But only to make it look, feel, and work more like my NeXT.

Themability also comes with some pitfalls:

- it potentially makes the GUI design more complex, which means buggier and more time-consuming/expensive to develop;

- there is a risk that, if not properly used, developers will develop apps which only work / only work well with a particular theme - and possibly different apps working well with different themes.

I'd be more conservative in making claims we can so easily improve on the NeXT original design. I've looked at some of the themes offered in Camaeleon. They look interesting/OK. I personally prefer the NeXT design.

I think a theming engine is useful; but I'm not convinced it's such a great priority and I can see good reasons not to have it a part of the standard distribution (see pitfalls above).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]