Re: module viewer



On Thu, Oct 28, 1999 at 09:28:00AM +0300, Ali Abdin wrote:
> So what you're basically saying is that nobody should code a gtk+ app, we 
> should all program in gnome?
> 
> This kinda eliminates the whole purpose of having the gtk+ toolkit (i.e. 
> it's only purpose is to server gnome)

You misunderstand the role of GTK+.

GTK is a library which provides the general GUI stuff without much policy.
GNOME provides the application framework.  There are cases where using only
GTK+ is more appropriate, but they are only a very few.

A GNOME application will still heavily use GTK.  GNOME is an ADD ON to GTK+,
and an application framework.

> Don't get me wrong, I love gnome - I love seein apps for it, but there 
> are cases when you don't need to make a gnome app, and it would suffice 
> to create a gtk+ one.

It would also suffice to make one with Athena, or Xlib directly.  The entire
problem of linux applications is that they don't have all the necessary
features because they only use basic toolkits, and that they all have
differently implemented features that they do have.  Using gnome libs buys
you time consistency and a lot of little features that make using the app
much easier (especially if you also use other gnome apps).

You don't just want to make your application do the bare minimum with the
bare minimum GUI, just because it's "enough".  That way the program will be
very limitted in usefulnes.  Even if it has it's specific functionality,
users may not be able to quickly and easily use it, as it will have it's own
strange dialogs, it's own way of doing things instead of being consistent
with the rest of GNOME (which is only possible by using the gnome-libs).  If
the implementation changes or something becomes more configurable, your
homebrewed versions won't keep up even if you reimplemented everything.  It's
just not worth it and your making the whole desktop confusing.

> Also in gtk+ you have more control over how your app should work - while 
> gnome is very configurable and stuff, it basically implements things its 
> way - with gtk+ you have control over /everything/ (which is not 
> necessarily a good thing)

That is exactly the point.  GNOME implements policy.  And that is good.
Implementing your own property dialog just because you think you have a
slightly better design is a dumb idea.  It's far better to be consistent.
It's far better to follow the configurations and user settings that the user
gives, rather then having every app use it's home brewed versions of the UI
features.

You should not only use the GNOME libs, you should also strictly follow the
style guides.

CONSISTENCY, CONSISTENCY, CONSISTENCY.  It's very rare that an app HAS to be
different.  Being different just for the sake of being different is very very
bad.  GNOME is designed to make an easy to use UI.  How can a UI be easy to
use if every app behaves differently.  Even though a certain behaviour might
have slight advantages, using the consistent behaviour of gnome libs will
have the GREAT advantage of being consistent with the rest of the desktop.
The user should not have to re-learn basic things for each app, the user
should not have to study the intricacies of each different implementation of
a certain feature.  Also users shouldn't be forced to use very limited GUIs,
just because the authors didn't have time to reinvent the wheel.

GNOME has been repeatedly attacked for being a goulash of UI.  This is
because of people that think they can reinvent the UI better in their own
app.  This is because people don't follow the style guide.  And finally this
is because people have some strange morbid fear of using gnome-libs which I
can probably never understand.  Libraries are there to be used.  Their entire
purpose in life in fact is to be used.  Stop reinventing the wheel and use
them.  Instead of reimplementing the UI over and over and over, concentrate
on what you want your app to actually do.  The only way GNOME and free
software can be successful is if we stop reinventing everything for the sake
of reinventing it.

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)



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