Re: [gnome-love] Start-Menu



On Sun, 2003-05-04 at 18:31, Sean Middleditch wrote:
Function calls?  GNOME menu doesn't use function calls - just put your
.desktop file in the right place.  Unfortunately, this right place
differs depending on distro...
Oops. :)

> If not, you should take that in account. I'm all for flexibility, but
> for the average programmer I think there should always be a shortcut
> so one can learn to program with Gnome faster.
> 
> Also, I'm saying this because if these things aren't kept in mind from
> the beginning, later it is very hard to simplify the API.

The GNOME API is almost as simple as you can get, given the fact it's
all OO in C.  if you want a really clean API, *dons fire-retardant suit*
check out Mono and GTK#.
Of course! I already did it. :)
> 
> Take for example GConf. Why should I have to learn a complicated way
> of preserving preferences, when that should be much simpler? Because
> it has all those features that I won't use. So then I rebel and make a
> replacement

This is a bad decision.  If there are features in gconf you aren't
using, you are cheating your users.  GConf if complex because the idea
is complex.  You can't be lazy and skimp on the features there-in; that
just cheats your users out of the features they should have.
Let me tell you my own impression on GConf. I'm a programmer, not a clueless computer illiterate, yet I see gconf-editor and in the tree I see a bunch of application settings, and a node that says schemas. What is 'schemas'?? I know the definition of schema because I know a little of XML (most users won't know), but yet I wonder what the hell is doing that node there. I explore a little bit and see lots of keys and I wonder why I can't do anything with them, why I have some duplicates of some of the application settings and why I have no help anywhere on what they are (somebody told me about 'locking down' settings, but I don't know if this has something to do with it, and I'm not interested in finding out, because I don't need that feature).

Then I remember the gconf schema files. I had to create one when I used gconf in my app. I only needed to store some setting on disc, and I had to learn what a XML file was (had no idea at that time), what a schema was, learning the gconf schema format, and install it as root in some special location that varies through different distributions. Then I realized, what the hell, I only want to store some setting in my own $HOME directory, why I had to lose time doing all that? Maybe because that 'lock down' feature, maybe not, the thing is I DON'T NEED ANYTHING ELSE than to store some setting on disc. If somebody else needs 'locking down', THEY should learn all that stuff, not me. It should be transparent both to the user and the programmer.

I am not against these features, but one should have a simplified version like two functions, one to set a setting and other to retrieve it. That's it. That's all I want. I don't care about XML and the gconf schema format, I don't care about finding out the schemas directory, I don't care about 'locking down' and I certainly don't want to have root priviledges for it.

If you want it to be any simpler - either _wrap_ the GNOME API's in
something you like better, so you can have whatever API you want but you
have the full power of the GNOME technologies, or use a different
binding (which is basically wrapping) such as GTKmm, Inti, PyGNOME, or
GTK#.
The GConf wrappings won't help much (I used the C# one), because Gconf needs the schema and having root priviledges to install it anyway. This is an API that can't be changed to simplify it now.


--
Pablo Baena <pbaena uol com ar>


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