[haiku-development] Re: RoundRect ButtonFrame

From: Stephan Aßmus <superstippi@xxxxxx>

To: haiku-development@xxxxxxxxxxxxx

Date: Tue, 27 Mar 2012 12:26:10 +0200

Hi,
Am 26.03.2012 22:33, schrieb John Scipione:

Since I am clearly biased, what I propose is to allow Stippi aka
Stephan Aßmus to decide since he responsible for so much of the look
and feel of Haiku, he is the best person to adjudicate this decision.

Ok, here is what I think on the matter... :-) IMHO the GUI should be
consistent, and you already worked on that. If the buttons have round
corners, so should the menu fields, check boxen and other controls. I
would just reduce the corner radius be 2 or so pixels.

Previous to your work, there was already some roundness in the tabs and
the sliders. As you can see in the sliders, they mix roundness and sharp
corners (for the thumb) to fit in with the rest of the controls. The tab
view also blends in (IMHO). Even when it uses round corners for the
active tab, all the other tabs get sharp corners and so does the frame.

IMHO, there are three problems with round corners:
* They use significantly more CPU to render.

* It is hard to use round corners everywhere, you can't currently use
them in the window borders, not so easily in text controls and larger
views such as BBox and BScrollView and neither in BScrollBar. The reason
is mostly backwards compatibility. I can guarantee you to break apps if
you change how BScrollBar looks and often merges with the window borders
and such stuff.

* And the biggest problem I see is that it does *not* fix the "dated
looking" UI.

Let me explain the last point. Clearly, as you said yourself, round
corner buttons are very old. Surely Windows XP and certainly original
Aqua look dated today. They had round corner buttons, so clearly we
cannot look modern by simply having round corner buttons. There must be
something else that makes an UI look modern. It can't be just the button
corners.

I think a UI looks modern by using less meaningless borders around stuff
and by using more spacing and larger margins overall. In particular the
Haiku inner window borders. But the tight spacing used in Haiku makes it
look like an OS designed for small screens suddenly running on modern
hardware. And the lack of window shadows doesn't help either.

The square and sharp look is actually quite modern as others have
already pointed out.

To improve the look, I would personally invest in elliminating redundant
borders and to introduce more resolution dependent spacing and margins
as well as automatically scaled fonts. This will of course make people
unhappy who like to fit as much as possible on their screens and see it
as selling point of Haiku, but IMHO for someone being used to the spacy
and modern looking Gnome Shell looking at Haiku for the first time, I am
pretty sure the crammed UI is the actual problem. It's just much easier
to say it's because of the sharp button corners. Even BeOS had rounded
buttons. I particularily designed the sharp buttons since I felt it was
more stylish.

That being said, it would be quite easy to make your version of
BControlLook an alternative alongside the original version and make
libbe.so instantiate either one based on a user setting in the
Appearance preflet. Even if you make the rounded version the default, I
would just be very surprised, if the "dated looking" remarks stop. For
that to stop, more work is needed. But it would be worthwhile.