Linked by vermaden on Wed 21st May 2008 19:28 UTC
Graphics, User Interfaces How would I describe today's GUIs? A mess. -- A mess that grew as new features were needed, with lack of proper design, with a desire to keep backward compatibility, and with tools from the past trying to achieve future needs. I propose a new design philosophy for GUIs. We'll call it Vermaden's GUI. Note: This is the latest entry in our 2008 article contest.
Permalink for comment 315149
To read all comments associated with this story, please click here.
Well, not really
by leos on Wed 21st May 2008 21:58 UTC
Member since:

Ok, let's start at the beginning.

Most of your criticisms just come down to style. Your "improved" anjuta screenshot is basically just Anjuta with less space between widgets. In some cases that makes it looks better (like the tabs in the middle panes, which now look attached) and sometimes it makes things worse (the menu and toolbar at the top look horribly cluttered) but really this is just a matter of taste. You like minimalist styles, but not everyone does.

Then some of your changes I would consider downright misleading. The best example is your change to the vertical tab bar containing the items Help and and terminal. In the original design, it was clear that clicking these would replace the left dock widget (which contains Breakpoints and Dissassembly) with the tab you clicked on. In your redesign, the tabs are no longer logically connected to the left bar, they are only connected to the breakpoints sub-frame. It is no longer clear what will happen when they are clicked. In addition, if there are more than two tabs there your whole layout falls apart. Where will the third one go now that the tab bar is so short?

About borders, there is nothing in the toolkit that forces you to have a border. That's just how the apps were designed. Different styles will do different things here, and they can be easily overridden. For example, have a look at the concept for the new Amarok UI (it's not done, but have a look at the lack of borders)

I'm not familiar with how GTK's theming system works so I won't comment on that. But the reason you have to compile Qt styles is because they can modify everything about the look and feel of widgets. It's not just changing colours and images, you can have animations and transitions, you can change how widgets behave, etc. It's completely impossible to achieve that level theming without native styles. If you just want to change the colours, you can do that from a plain text file. Also Qt4 has extensive support for using stylesheets in applications, which gives you a ton of control over appearance without compiling anything.

>> I propose creating a whole GUI by separating the available content in a simple, sensible manner, managed by one simple efficient mechanism or algorithm responsible for efficient usage of available window space, responsible for placing all window items. Does that sound interesting?

You just described layouts. Which is the base of most UI toolkits I've used.

The choice of graphics is up the application devs. Nothing about the toolkits prevents the use of SVG. Yes SVG is cool, but it is also slow, and no matter what you do to the rendering engine, it will always be slower than raster graphics like PNG.

What you describe as separators already exist, just in the form of layouts. They can do everything you want them to. And they won't stop you from creating a bad UI. The onus for that is still on the designer.

Edited 2008-05-21 22:00 UTC

Reply Score: 12